2.3.5.2. コントローラーのクラスターへのデプロイ

カスタムポリシーコントローラーをクラスターにデプロイし、ポリシーコントローラーとガバナンスおよびリスクダッシュボードを統合します。以下の手順を実行します。

  1. 次のコマンドを実行して、ポリシーコントローラーイメージをビルドします。

    operator-sdk build <username>/multicloud-operators-policy-controller:latest
  2. 以下のコマンドを実行して、イメージを選択したリポジトリーにプッシュします。たとえば、以下のコマンドを実行してイメージを Docker Hub にプッシュします。

    docker login
    
    docker push <username>/multicloud-operators-policy-controller
  3. kubectl を、Red Hat Advanced Cluster Management for Kubernetes が管理するクラスターを参照するように設定します。
  4. Operator マニフェストを置き換えて、ビルトインイメージ名を使用し、ポリシーを監視するように namespace を更新します。namespace はクラスターの namespace である必要があります。マニフェストは次のような内容になります。

    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. PolicyController の RBAC を設定します。以下のコマンドを実行します。

      kubectl apply -f deploy/cluster_role.yaml
      kubectl apply -f deploy/cluster_role_binding.yaml
    4. 以下のコマンドを実行して CustomResourceDefinition (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. コントローラーが監視する policy-template を作成してポリシーコントローラーを統合する必要があります。詳細は、「コンソールからのクラスターセキュリティーポリシーの作成」を参照してください。
2.3.5.2.1. コントローラーデプロイメントのスケーリング

ポリシーコントローラーデプロイメントでは削除がサポートされていません。デプロイメントをスケーリングして、デプロイメントが適用される Pod を更新することができます。以下の手順を実行します。

  1. ターゲットのマネージドクラスターにログインします。
  2. カスタムポリシーコントローラーのデプロイメントに移動します。
  3. デプロイメントでスケーリングします。デプロイメントをゼロ Pod にスケーリングする場合、ポリシーコントロールのデプロイメントは無効になります。

デプロイメントの詳細は、「OpenShift Container Platform デプロイメント」を参照してください。

ポリシーコントローラーがクラスターにデプロイされ、クラスターに統合されています。製品のポリシーコントローラーを表示します。詳細は、「ポリシーコントローラー」を参照してください。