5.4.3.3.2. 在集群上测试基于 Ansible 的 Operator
熟悉了在基于 Ansible 的 Operator 内部本地运行 Ansible 逻辑之后,您可在 Kubernetes 集群(如 OpenShift Container Platform)上的 pod 内部测试 Operator。作为 pod 在集群中运行是生产环境的首选方法。
流程
构建
test1-operator镜像并将其推送到容器镜像仓库(registry):$ operator-sdk build quay.io/example/test1-operator:v0.0.1$ podman push quay.io/example/test1-operator:v0.0.1deploy/operator.yaml文件中会生成 Deployment 清单。此文件中的部署镜像必须从占位符REPLACE_IMAGE修改为之前构建的镜像。为此,请运行以下命令:$ sed -i 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml如果要在 macOS 中执行这些步骤,请使用以下命令:
$ sed -i "" 's|REPLACE_IMAGE|quay.io/example/test1-operator:v0.0.1|g' deploy/operator.yaml部署
test1-operator:$ oc create -f deploy/crds/test1_v1alpha1_test1_crd.yaml1 - 1
- 只有 CRD 不存在时才需要。
$ oc create -f deploy/service_account.yaml$ oc create -f deploy/role.yaml$ oc create -f deploy/role_binding.yaml$ oc create -f deploy/operator.yaml验证
test1-operator是否正在运行:$ oc get deployment输出示例
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE test1-operator 1 1 1 1 1m现在,您可以查看
test1-operator的 Ansible 日志:$ oc logs deployment/test1-operator