5.4.3.3.2. 在集群上测试基于 Ansible 的 Operator


熟悉了在基于 Ansible 的 Operator 内部本地运行 Ansible 逻辑之后,您可在 Kubernetes 集群(如 OpenShift Container Platform)上的 pod 内部测试 Operator。作为 pod 在集群中运行是生产环境的首选方法。

流程

  1. 构建 test1-operator 镜像并将其推送到容器镜像仓库(registry):

    $ operator-sdk build quay.io/example/test1-operator:v0.0.1
    Copy to Clipboard Toggle word wrap
    $ podman push quay.io/example/test1-operator:v0.0.1
    Copy to Clipboard Toggle word wrap
  2. deploy/operator.yaml 文件中会生成 Deployment 清单。此文件中的部署镜像必须从占位符 REPLACE_IMAGE 修改为之前构建的镜像。为此,请运行以下命令:

    $ sed -i 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml
    Copy to Clipboard Toggle word wrap

    如果要在 macOS 中执行这些步骤,请使用以下命令:

    $ sed -i "" 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml
    Copy to Clipboard Toggle word wrap
  3. 部署 test1-operator:

    $ oc create -f deploy/crds/test1_v1alpha1_test1_crd.yaml 
    1
    Copy to Clipboard Toggle word wrap
    1
    只有 CRD 不存在时才需要。
    $ oc create -f deploy/service_account.yaml
    Copy to Clipboard Toggle word wrap
    $ oc create -f deploy/role.yaml
    Copy to Clipboard Toggle word wrap
    $ oc create -f deploy/role_binding.yaml
    Copy to Clipboard Toggle word wrap
    $ oc create -f deploy/operator.yaml
    Copy to Clipboard Toggle word wrap
  4. 验证 test1-operator 是否正在运行:

    $ oc get deployment
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                     DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
    test1-operator       1         1         1            1           1m
    Copy to Clipboard Toggle word wrap

  5. 现在,您可以查看 test1-operator 的 Ansible 日志:

    $ oc logs deployment/test1-operator
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat