2.3.4.2. 将控制器部署到集群中
将自定义策略控制器部署到集群,并将策略控制器与监管仪表板集成。完成以下步骤:
运行以下命令构建策略控制器镜像:
make build docker build . -f build/Dockerfile -t <username>/multicloud-operators-policy-controller:latest
运行以下命令将镜像推送到您选择的仓库中。例如,运行以下命令将镜像 push 到 Docker Hub:
docker login docker push <username>/multicloud-operators-policy-controller
-
配置
kubectl
以指向由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群。 替换 operator 清单以使用内置镜像名称,并更新命名空间以监视策略。命名空间必须是集群的命名空间。您的清单可能类似以下内容:
sed -i "" 's|open-cluster-management/multicloud-operators-policy-controller|ycao/multicloud-operators-policy-controller|g' deploy/operator.yaml sed -i "" 's|value: default|value: <namespace>|g' deploy/operator.yaml
运行以下命令更新 RBAC 角色:
sed -i "" 's|samplepolicies|testpolicies|g' deploy/cluster_role.yaml sed -i "" 's|namespace: default|namespace: <namespace>|g' deploy/cluster_role_binding.yaml
将策略控制器部署到集群中:
使用以下命令为集群设置服务帐户:
kubectl apply -f deploy/service_account.yaml -n <namespace>
运行以下命令来为 operator 创建 RBAC:
kubectl apply -f deploy/role.yaml -n <namespace> kubectl apply -f deploy/role_binding.yaml -n <namespace>
为您的策略控制器设置 RBAC。运行以下命令:
kubectl apply -f deploy/cluster_role.yaml kubectl apply -f deploy/cluster_role_binding.yaml
运行以下命令来设置自定义资源定义(CRD):
kubectl apply -f deploy/crds/policies.open-cluster-management.io_samplepolicies_crd.yaml
运行以下命令来部署
multicloud-operator-policy-controller
:kubectl apply -f deploy/operator.yaml -n <namespace>
运行以下命令验证控制器是否正常工作:
kubectl get pod -n <namespace>
-
您必须通过为控制器创建一个
策略模板
来集成您的策略控制器。如需更多信息,请参阅从控制台创建集群安全策略。
2.3.4.2.1. 扩展控制器部署
策略控制器部署不支持删除。您可以扩展部署,以更新部署应用到哪些 pod。完成以下步骤:
- 登录到受管集群。
- 导航到自定义策略控制器的部署。
- 扩展部署。当将部署扩展到零个 pod 时,策略控制程序部署将被禁用。
如需有关部署的更多信息,请参阅 OpenShift Container Platform 部署。
您的策略控制器已部署并在集群中集成。如需更多信息,请参阅策略控制器。