2.3.4.2. 将控制器部署到集群中


将自定义策略控制器部署到集群,并将策略控制器与监管仪表板集成。完成以下步骤:

  1. 运行以下命令构建策略控制器镜像:

    make build
    docker build . -f build/Dockerfile -t <username>/multicloud-operators-policy-controller:latest
  2. 运行以下命令将镜像推送到您选择的仓库中。例如,运行以下命令将镜像 push 到 Docker Hub:

    docker login
    
    docker push <username>/multicloud-operators-policy-controller
  3. 配置 kubectl 以指向由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群。
  4. 替换 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
  5. 运行以下命令更新 RBAC 角色:

    sed -i "" 's|samplepolicies|testpolicies|g' deploy/cluster_role.yaml
    sed -i "" 's|namespace: default|namespace: <namespace>|g' deploy/cluster_role_binding.yaml
  6. 将策略控制器部署到集群中:

    1. 使用以下命令为集群设置服务帐户:

      kubectl apply -f deploy/service_account.yaml -n <namespace>
    2. 运行以下命令来为 operator 创建 RBAC:

      kubectl apply -f deploy/role.yaml -n <namespace>
      
      kubectl apply -f deploy/role_binding.yaml -n <namespace>
    3. 为您的策略控制器设置 RBAC。运行以下命令:

      kubectl apply -f deploy/cluster_role.yaml
      kubectl apply -f deploy/cluster_role_binding.yaml
    4. 运行以下命令来设置自定义资源定义(CRD):

      kubectl apply -f deploy/crds/policies.open-cluster-management.io_samplepolicies_crd.yaml
    5. 运行以下命令来部署 multicloud-operator-policy-controller:

      kubectl apply -f deploy/operator.yaml -n <namespace>
    6. 运行以下命令验证控制器是否正常工作:

      kubectl get pod -n <namespace>
  7. 您必须通过为控制器创建一个 策略模板 来集成您的策略控制器。如需更多信息,请参阅从控制台创建集群安全策略
2.3.4.2.1. 扩展控制器部署

策略控制器部署不支持删除。您可以扩展部署,以更新部署应用到哪些 pod。完成以下步骤:

  1. 登录到受管集群。
  2. 导航到自定义策略控制器的部署。
  3. 扩展部署。当将部署扩展到零个 pod 时,策略控制程序部署将被禁用。

如需有关部署的更多信息,请参阅 OpenShift Container Platform 部署

您的策略控制器已部署并在集群中集成。如需更多信息,请参阅策略控制器

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.