5.4.2.6. 创建自定义资源
安装 Operator 后,您可以通过创建一个由 Operator 在集群中提供的自定义资源(CR)来测试它。
先决条件
-
在集群中安装的 Memcached Operator 示例,它提供
Memcached
CR)
流程
切换到安装 Operator 的命名空间。例如,如果使用
make deploy
命令部署 Operator:$ oc project memcached-operator-system
编辑
config/samples/cache_v1_memcached.yaml
上的Memcached
CR 清单示例,使其包含以下规格:apiVersion: cache.example.com/v1 kind: Memcached metadata: name: memcached-sample ... spec: ... size: 3
创建 CR:
$ oc apply -f config/samples/cache_v1_memcached.yaml
确保
Memcached
Operator 为示例 CR 创建部署,其大小正确:$ oc get deployments
输出示例
NAME READY UP-TO-DATE AVAILABLE AGE memcached-operator-controller-manager 1/1 1 1 8m memcached-sample 3/3 3 3 1m
检查 pod 和 CR 状态,以确认其状态是否使用 Memcached pod 名称更新。
检查 pod:
$ oc get pods
输出示例
NAME READY STATUS RESTARTS AGE memcached-sample-6fd7c98d8-7dqdr 1/1 Running 0 1m memcached-sample-6fd7c98d8-g5k7v 1/1 Running 0 1m memcached-sample-6fd7c98d8-m7vn7 1/1 Running 0 1m
检查 CR 状态:
$ oc get memcached/memcached-sample -o yaml
输出示例
apiVersion: cache.example.com/v1 kind: Memcached metadata: ... name: memcached-sample ... spec: size: 3 status: nodes: - memcached-sample-6fd7c98d8-7dqdr - memcached-sample-6fd7c98d8-g5k7v - memcached-sample-6fd7c98d8-m7vn7
更新部署大小。
更新
config/samples/cache_v1_memcached.yaml
文件,将Memcached
CR 中的spec.size
字段从3
改为5
:$ oc patch memcached memcached-sample \ -p '{"spec":{"size": 5}}' \ --type=merge
确认 Operator 已更改部署大小:
$ oc get deployments
输出示例
NAME READY UP-TO-DATE AVAILABLE AGE memcached-operator-controller-manager 1/1 1 1 10m memcached-sample 5/5 5 5 3m
清理本教程中创建的资源。
如果使用
make deploy
命令来测试 Operator,请运行以下命令:$ make undeploy
如果使用
operator-sdk run bundle
命令来测试 Operator,请运行以下命令:$ operator-sdk cleanup <project_name>