アドオン

Red Hat Advanced Cluster Management for Kubernetes 2.8

アドオン

概要

クラスターでアドオンを使用する方法

第1章 アドオンの概要

Red Hat Advanced Cluster Management for Kubernetes アドオンは、パフォーマンスの一部の領域を改善し、アプリケーションを強化する機能を追加できます。以下のセクションでは、Red Hat Advanced Cluster Management で使用できるアドオンの概要を説明します。

1.1. クラスター管理のためにクラスターで klusterlet アドオンを有効にする

Red Hat Advanced Cluster Management for Kubernetes をインストールし、Operator 用のマルチクラスターエンジンを使用してクラスターを作成またはインポートした後、それらのマネージドクラスターに対して klusterlet アドオンを有効にできます。Red Hat Advanced Cluster Management コンソールを使用してクラスターを作成またはインポートしない限り、クラスターを作成またはインポートした場合に、klusterlet アドオンがデフォルトでは有効になりません。次の利用可能な klusterlet アドオンを参照してください。

  • application-manager
  • cert-policy-controller
  • config-policy-controller
  • iam-policy-controller
  • governance-policy-framework
  • search-collector

Red Hat Advanced Cluster Management のインストール後に、マネージドクラスターの klusterlet アドオンを有効にするには、以下のステップを実行します。

  1. 次の KlusterletAddonConfig に似た YAML ファイルを作成し、アドオンを表す spec 値を使用します。

    apiVersion: agent.open-cluster-management.io/v1
    kind: KlusterletAddonConfig
    metadata:
      name: <cluster_name>
      namespace: <cluster_name>
    spec:
      applicationManager:
        enabled: true
      certPolicyController:
        enabled: true
      iamPolicyController:
        enabled: true
      policyController: 1
        enabled: true
      searchCollector:
        enabled: true
    1
    policy-controller アドオンは、governance-policy-frameworkconfig-policy-controller の 2 つのアドオンに分かれています。その結果、policyControllergovernance-policy-frameworkconfig-policy-controller managedClusterAddons を制御します。
  2. ファイルは klusterlet-addon-config.yaml として保存します。
  3. ハブクラスターで次のコマンドを実行して、YAML を適用します。

    oc apply -f klusterlet-addon-config.yaml
  4. KlusterletAddonConfig の作成後に、有効な managedClusterAddons が作成されたかどうかを確認するには、次のコマンドを実行します。

    oc get managedclusteraddons -n <cluster namespace>

1.2. klusterlet アドオンの nodeSelectors と tolerations を設定する

Red Hat Advanced Cluster Management では、次の klusterlet アドオンの nodeSelector と tolerations を設定できます。

  • application-manager
  • cert-policy-controller
  • cluster-proxy
  • config-policy-controller
  • governance-policy-framework
  • hypershift-addon
  • iam-policy-controller
  • managed-serviceaccount
  • observability-controller
  • search-collector
  • submariner
  • volsync
  • work-manager

以下の手順を実行します。

  1. AddonDeploymentConfig API を使用して設定を作成し、ハブクラスターの特定の namespace で nodeSelector および tolerations を指定します。
  2. 以下のテンプレートに基づいて、addondeploymentconfig.yaml という名前のファイルを作成します。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: config-name 1
      namespace: config-name-space 2
    spec:
      nodePlacement:
        nodeSelector: node-selector 3
        tolerations: tolerations 4
    1
    config-name は、上記で作成した AddonDeploymentConfig の名前に置き換えます。
    2
    config-namespace は、上記で作成した AddonDeploymentConfig の namespace に置き換えます。
    3
    node-selector をノードセレクターに置き換えます。
    4
    tolerations を tolerations に置き換えます。

    完成した AddOnDeployment ファイルは次の例のようになります。

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: deploy-config
      namespace: open-cluster-management-hub
    spec:
      nodePlacement:
        nodeSelector:
          "node-dedicated": "acm-addon"
        tolerations:
          - effect: NoSchedule
            key: node-dedicated
            value: acm-addon
            operator: Equal
  3. 次のコマンドを実行して、作成したファイルを適用します。

    oc apply -f addondeploymentconfig
  4. 次のコマンドを実行して、作成した設定をアドオンのグローバルなデフォルト設定として使用します。

    oc patch clustermanagementaddons <addon-name> --type='json' -p='[{"op":"add", "path":"/spec/supportedConfigs", "value":[{"group":"addon.open-cluster-management.io","resource":"addondeploymentconfigs", "defaultConfig":{"name":"deploy-config","namespace":"open-cluster-management-hub"}}]}]'
    • addon-name は、アドオン名に置き換えます。
    • config-name は、上記で作成した AddonDeploymentConfig の名前に置き換えます。
    • config-namespace は、上記で作成した AddonDeploymentConfig の namespace に置き換えます。

指定した nodeSelectortolerations は、各マネージドクラスター上のすべてのアドオンに適用されます。

次の手順を使用して、特定のマネージドクラスター上におけるアドオンのグローバルデフォルトの AddonDeploymentConfig 設定をオーバーライドすることもできます。

  1. AddonDeploymentConfig API を使用して別の設定を作成し、ハブクラスター上の nodeSelectortolerations を指定します。
  2. 作成した新しい設定を、マネージドクラスター上のアドオン ManagedClusterAddon にリンクします。

    oc -n <managed-cluster> patch managedclusteraddons <addon-name> --type='json' -p='[{"op":"add", "path":"/spec/configs", "value":[
    
    {"group":"addon.open-cluster-management.io","resource":"addondeploymentconfigs","namespace":"<config-namespace>","name":"<config-name>"}
    ]}]'
    • managed-cluster は、マネージドクラスター名に置き換えます。
    • addon-name を、アドオン名に置き換えます。
    • config-namespace を作成したばかりの AddonDeploymentConfig の名前空間に置き換えます。
    • config-name を、作成したばかりの AddonDeploymentConfig の名前に置き換えます。

アドオン ManagedClusterAddon で参照した新しい設定は、ClusterManagementAddon アドオンで以前に定義したグローバルなデフォルト設定をオーバーライドします。

1.3. 既存のクラスターアドオンでクラスター全体のプロキシーを有効にする

クラスター namespace で KlusterletAddonConfig を設定して、管理対象の Red Hat OpenShift Container Platform クラスターのすべての klusterlet アドオン Pod にプロキシー環境変数を追加できます。KlusterletAddonConfig が 3 つの環境変数を klusterlet アドオンの Pod に追加するように設定するには、以下の手順を実行します。

  1. プロキシーが必要なクラスターの namespace にある KlusterletAddonConfig ファイルを編集します。コンソールを使用してリソースを見つけるか、ターミナルから次のコマンドを使用して編集できます。

    oc -n <my-cluster-name> edit klusterletaddonconfig <my-cluster-name>

    注記: 1 つのクラスターのみで作業している場合、コマンドの最後に <my-cluster-name> は必要ありません。以下のコマンドを使用します。

    oc -n <my-cluster-name> edit klusterletaddonconfig
  2. ファイルの .spec.proxyConfig セクションを編集して、以下の例のようにします。spec.proxyConfig は任意のセクションです。

    spec
      proxyConfig:
        httpProxy: "<proxy_not_secure>" 1
        httpsProxy: "<proxy_secure>" 2
        noProxy: "<no_proxy>" 3
    1
    proxy_not_secure は、http 要求のプロキシーサーバーのアドレスに置き換えます。たとえば、http://192.168.123.145:3128 を使用します。
    2
    proxy_secure は、https 要求のプロキシーサーバーのアドレスに置き換えます。たとえば、https://192.168.123.145:3128 を使用します。
    3
    no_proxy を、トラフィックがプロキシー経由でルーティングされない IP アドレス、ホスト名、およびドメイン名のコンマ区切りリストに置き換えます。たとえば、.cluster.local,.svc,10.128.0.0/14,example.com を使用します。

    OpenShift Container Platform クラスターがハブクラスターでクラスターワイドプロキシーを設定して作成されている場合は、以下の条件が満たされると、クラスターワイドプロキシー設定値が環境変数として klusterlet アドオンの Pod に追加されます。

    • addon セクションの .spec.policyController.proxyPolicy が有効になり、OCPGlobalProxy に設定されます。
    • .spec.applicationManager.proxyPolocy が有効になり、CustomProxy に設定されます。

      注記: addon セクションの proxyPolicy のデフォルト値は Disabled です。

      次の proxyPolicy エントリーの例を参照してください。

      apiVersion: agent.open-cluster-management.io/v1
          kind: KlusterletAddonConfig
          metadata:
            name: clusterName
            namespace: clusterName
          spec:
            proxyConfig:
              httpProxy: http://pxuser:12345@10.0.81.15:3128
              httpsProxy: http://pxuser:12345@10.0.81.15:3128
              noProxy: .cluster.local,.svc,10.128.0.0/14, example.com
            applicationManager:
              enabled: true
              proxyPolicy: CustomProxy
            policyController:
              enabled: true
              proxyPolicy: OCPGlobalProxy
            searchCollector:
              enabled: true
              proxyPolicy: Disabled
            certPolicyController:
              enabled: true
              proxyPolicy: Disabled
            iamPolicyController:
              enabled: true
              proxyPolicy: Disabled

重要: グローバルプロキシー設定は、アラートの転送には影響しません。クラスター全体のプロキシーを使用して Red Hat Advanced Cluster Management ハブクラスターのアラート転送を設定する場合は、その詳細を アラートの転送 で参照してください。

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.