6.4. 非接続環境で IBM Z に Hosted Control Plane をデプロイする


非接続環境の Hosted Control Plane デプロイメントは、スタンドアロンの OpenShift Container Platform とは異なる動作をします。

Hosted Control Plane には、次の 2 つの異なる環境が関係します。

  • コントロールプレーン: 管理クラスターに配置されます。Hosted Control Plane の Pod が Control Plane Operator によって実行および管理される場所です。
  • データプレーン: ホステッドクラスターのワーカーに配置されます。ワークロードと他のいくつかの Pod が実行され、Hosted Cluster Config Operator によって管理される場所です。

データプレーンの ImageContentSourcePolicy (ICSP) カスタムリソースは、ホステッドクラスターのマニフェストの ImageContentSources API を通じて管理されます。

コントロールプレーンの ICSP オブジェクトは、管理クラスターで管理されます。このオブジェクトは、HyperShift Operator によって解析され、registry-overrides エントリーとして Control Plane Operator と共有されます。このエントリーは、Hosted Control Plane の namespace 内の利用可能なデプロイメントのいずれかに引数として挿入されます。

Hosted Control Plane 内の非接続レジストリーを操作するには、まず管理クラスターに適切な ICSP を作成する必要があります。その後、非接続ワークロードをデータプレーンにデプロイするために、ホステッドクラスターのマニフェストの ImageContentSources フィールドに必要なエントリーを追加する必要があります。

6.4.1. 非接続環境で IBM Z に Hosted Control Plane をデプロイするための前提条件

  • ミラーレジストリー。詳細は、「mirror registry for Red Hat OpenShift を使用したミラーレジストリーの作成」を参照してください。
  • 非接続インストールのミラーイメージ。詳細は、「oc-mirror プラグインを使用した非接続インストールのイメージのミラーリング」参照してください。

6.4.2. 管理クラスターに認証情報とレジストリー認証局を追加する

管理クラスターからミラーレジストリーイメージをプルするには、まずミラーレジストリーの認証情報と認証局を管理クラスターに追加する必要があります。以下の手順を使用してください。

手順

  1. 次のコマンドを実行して、ミラーレジストリーの証明書を含む ConfigMap を作成します。

    $ oc apply -f registry-config.yaml

    registry-config.yaml ファイルの例

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: registry-config
      namespace: openshift-config
    data:
      <mirror_registry>: |
        -----BEGIN CERTIFICATE-----
        -----END CERTIFICATE-----

  2. image.config.openshift.io クラスター全体のオブジェクトにパッチを適用して、次のエントリーを追加します。

    spec:
      additionalTrustedCA:
        - name: registry-config
  3. 管理クラスターのプルシークレットを更新して、ミラーレジストリーの認証情報を追加します。

    1. 次のコマンドを実行して、クラスターからプルシークレットを JSON 形式で取得します。

      $ oc get secret/pull-secret -n openshift-config -o json | jq -r '.data.".dockerconfigjson"' | base64 -d > authfile
    2. 取得したシークレットの JSON ファイルを編集して、認証局の認証情報を含むセクションを追加します。

        "auths": {
          "<mirror_registry>": { 1
            "auth": "<credentials>", 2
            "email": "you@example.com"
          }
        },
      1
      ミラーレジストリーの名前を指定します。
      2
      ミラーレジストリーの認証情報を指定して、イメージを取得できるようにします。
    3. 次のコマンドを実行して、クラスター上のプルシークレットを更新します。

      $ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=authfile

6.4.3. AgentServiceConfig リソースのレジストリー認証局をミラーレジストリーで更新する

イメージのミラーレジストリーを使用する場合、イメージをセキュアにプルできるように、エージェントがレジストリーの証明書を信頼する必要があります。ConfigMap を作成することにより、ミラーレジストリーの認証局を AgentServiceConfig カスタムリソースに追加できます。

前提条件

  • multicluster engine for Kubernetes Operator をインストールした。

手順

  1. multicluster engine Operator をインストールしたのと同じ namespace で、ミラーレジストリーの詳細を含む ConfigMap リソースを作成します。この ConfigMap リソースにより、ホステッドクラスターのワーカーに、ミラーレジストリーからイメージを取得する権限が付与されます。

    ConfigMap ファイルの例

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: mirror-config
      namespace: multicluster-engine
      labels:
        app: assisted-service
    data:
      ca-bundle.crt: |
        -----BEGIN CERTIFICATE-----
        -----END CERTIFICATE-----
      registries.conf: |
    
        [[registry]]
          location = "registry.stage.redhat.io"
          insecure = false
          blocked = false
          mirror-by-digest-only = true
          prefix = ""
    
          [[registry.mirror]]
            location = "<mirror_registry>"
            insecure = false
    
        [[registry]]
          location = "registry.redhat.io/multicluster-engine"
          insecure = false
          blocked = false
          mirror-by-digest-only = true
          prefix = ""
    
          [[registry.mirror]]
            location = "<mirror_registry>/multicluster-engine" 1
            insecure = false

    1
    <mirror_registry> はミラーレジストリーの名前です。
  2. AgentServiceConfig リソースにパッチを適用して、作成した ConfigMap リソースを含めます。AgentServiceConfig リソースが存在しない場合は、次の内容を埋め込んだ AgentServiceConfig リソースを作成します。

    spec:
      mirrorRegistryRef:
        name: mirror-config

6.4.4. ホステッドクラスターにレジストリー認証局を追加する

非接続環境で IBM Z に Hosted Control Plane をデプロイする場合は、additional-trust-bundle リソースと image-content-sources リソースを含めます。これらのリソースにより、ホステッドクラスターがデータプレーンのワーカーに認証局を注入して、イメージをレジストリーからプルできるようになります。

  1. image-content-sources の情報を含む icsp.yaml ファイルを作成します。

    image-content-sources の情報は、oc-mirror を使用してイメージをミラーリングした後に生成される ImageContentSourcePolicy の YAML ファイルで入手できます。

    ImageContentSourcePolicy ファイルの例

    # cat icsp.yaml
    - mirrors:
      - <mirror_registry>/openshift/release
      source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
    - mirrors:
      - <mirror_registry>/openshift/release-images
      source: quay.io/openshift-release-dev/ocp-release

  2. ホステッドクラスターを作成し、additional-trust-bundle 証明書を指定して、コンピュートノードを証明書で更新します。次に例を示します。

    $ hcp create cluster agent \
        --name=<hosted_cluster_name> \ 1
        --pull-secret=<path_to_pull_secret> \ 2
        --agent-namespace=<hosted_control_plane_namespace> \ 3
        --base-domain=<basedomain> \ 4
        --api-server-address=api.<hosted_cluster_name>.<basedomain> \
        --etcd-storage-class=<etcd_storage_class> \ 5
        --ssh-key  <path_to_ssh_public_key> \ 6
        --namespace <hosted_cluster_namespace> \ 7
        --control-plane-availability-policy SingleReplica \
        --release-image=quay.io/openshift-release-dev/ocp-release:<ocp_release_image> \ 8
        --additional-trust-bundle <path for cert> \ 9
        --image-content-sources icsp.yaml
    1
    <hosted_cluster_name> は、ホステッドクラスターの名前に置き換えます。
    2
    プルシークレットへのパスを置き換えます (例: /user/name/pullsecret)。
    3
    <hosted_control_plane_namespace> は、Hosted Control Plane の namespace の名前 (例: clusters-hosted) に置き換えます。
    4
    名前をベースドメインに置き換えます (例: example.com)。
    5
    etcd ストレージクラス名を置き換えます (例: lvm-storageclass)。
    6
    SSH 公開鍵へのパスを置き換えます。デフォルトのファイルパスは ~/.ssh/id_rsa.pub です。
    7 8
    使用するサポート対象の OpenShift Container Platform バージョン (例: 4.17.0-multi) に置き換えます。
    9
    ミラーレジストリーの認証局へのパスを置き換えます。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.