7.5. Google Cloud のインストールファイルの作成


OpenShift Container Platform on Google Cloud を共有 VPC にインストールするには、install-config.yaml ファイルを生成し、クラスターが正しい VPC ネットワーク、DNS ゾーン、およびプロジェクト名を使用するように変更する必要があります。

7.5.1. インストール設定ファイルの手動作成

クラスターをインストールするには、インストール設定ファイルを手動で作成する必要があります。

前提条件

  • インストールプログラムで使用するための SSH 公開鍵がローカルマシン上に存在する。この鍵は、デバッグや障害復旧のために、クラスターノードへの SSH 認証に使用できます。
  • OpenShift Container Platform インストールプログラムとクラスターのプルシークレットを取得している。

手順

  1. 必要なインストールアセットを保存するためのインストールディレクトリーを作成します。

    $ mkdir <installation_directory>
    重要

    このディレクトリーは必ず作成してください。ブートストラップ X.509 証明書などの一部のインストールアセットは、有効期限が短いため、インストールディレクトリーを再利用しないでください。別のクラスターインストールの個別のファイルを再利用する必要がある場合は、それらをディレクトリーにコピーすることができます。ただし、インストールアセットのファイル名はリリース間で変更される可能性があります。インストールファイルを以前のバージョンの OpenShift Container Platform からコピーする場合は注意してください。

  2. 提供されているサンプルの install-config.yaml ファイルテンプレートをカスタマイズし、ファイルを <installation_directory> に保存します。

    注記

    この設定ファイルの名前を install-config.yaml と付ける必要があります。

  3. 多くのクラスターのインストールに使用できるように、install-config.yaml ファイルをバックアップします。

    重要

    インストールプロセスの次のステップで install-config.yaml ファイルを使用するため、今すぐこのファイルをバックアップしてください。

7.5.2. Shielded VM の有効化

クラスターをインストールする場合は、Shielded VM を使用できます。Shielded VM には、セキュアブート、ファームウェアと整合性の監視、ルートキット検出などの追加のセキュリティー機能があります。詳細は、Shielded VM に関する Google のドキュメントを参照してください。

注記

Shielded VM は現在、64 ビット ARM インフラストラクチャーを備えたクラスターではサポートされていません。

手順

  • クラスターをデプロイする前に、テキストエディターを使用して、install-config.yaml ファイルを編集し、次のいずれかのスタンザを追加します。

    1. コントロールプレーンマシンのみに Shielded VM を使用するには:

      controlPlane:
        platform:
          gcp:
             secureBoot: Enabled
    2. コンピューティングマシンのみに Shielded VM を使用するには:

      compute:
      - platform:
          gcp:
             secureBoot: Enabled
    3. すべてのマシンに Shielded VM を使用するには:

      platform:
        gcp:
          defaultMachinePlatform:
             secureBoot: Enabled

7.5.3. Confidential 仮想マシンの有効化

クラスターをインストールする場合は、Confidential 仮想マシンを使用できます。Confidential 仮想マシンは処理中のデータを暗号化します。詳細は、Confidential Computing に関する Google のドキュメントを参照してください。Confidential 仮想マシンと Shielded VM を同時に有効にすることができますが、それらは互いに依存していません。

注記

現在、Confidential 仮想マシンは 64 ビット ARM アーキテクチャーではサポートされていません。

手順

  • クラスターをデプロイする前に、テキストエディターを使用して、install-config.yaml ファイルを編集し、次のいずれかのスタンザを追加します。

    1. コントロールプレーンマシンのみに Confidential 仮想マシンを使用するには:

      controlPlane:
        platform:
          gcp:
             confidentialCompute: AMDEncryptedVirtualizationNestedPaging 
      1
      
             type: n2d-standard-8 
      2
      
             onHostMaintenance: Terminate 
      3
      1
      AMD Secure Encrypted Virtualization Secure Nested Paging (AMD SEV-SNP) を使用して Confidential 仮想マシンを有効にします。利用可能なオプションの詳細は、「追加の Google Cloud 設定パラメーター」を参照してください。
      2
      Confidential 仮想マシンをサポートするマシンタイプを指定します。Confidential 仮想マシンには、N2D、C2D、C3D、または C3 シリーズのマシンタイプが必要です。サポートされているマシンタイプの詳細は、サポートされているオペレーティングシステムとマシンタイプ を参照してください。
      3
      ハードウェアやソフトウェアの更新など、ホストのメンテナンスイベント中の VM の動作を指定します。Confidential 仮想マシンを使用するマシンの場合は、この値を Terminate に設定する必要があります。これにより、VM が停止します。Confidential 仮想マシンはライブ VM 移行をサポートしていません。
    2. コンピューティングマシンのみに Confidential 仮想マシンを使用するには:

      compute:
      - platform:
          gcp:
             confidentialCompute: AMDEncryptedVirtualizationNestedPaging
             type: n2d-standard-8
             onHostMaintenance: Terminate
    3. すべてのマシンに Confidential 仮想マシンを使用するには:

      platform:
        gcp:
          defaultMachinePlatform:
             confidentialCompute: AMDEncryptedVirtualizationNestedPaging
             type: n2d-standard-8
             onHostMaintenance: Terminate

7.5.4. ユーザー管理 DNS の有効化

デフォルトの cluster-provisioned DNS ソリューションの代わりに、ユーザーが管理するドメインネームサーバー (DNS) ソリューションを使用してクラスターをインストールできます。その結果、クラウドの DNS にレコードを追加するのではなく、独自のシステムで API および Ingress DNS レコードを管理できるようになります。たとえば、組織のセキュリティーポリシーにより、Google Cloud DNS などのパブリック DNS サービスの使用が許可されていない場合があります。このようなシナリオでは、独自の DNS サービスを使用してパブリック DNS サービスをバイパスし、API および Ingress サービスの IP アドレスに対して独自の DNS を管理できます。

インストール中にユーザー管理 DNS を有効にすると、インストールプログラムは、クラスター内のみで API および Ingress サービスの DNS レコードをプロビジョニングします。クラスター外部からのアクセスを確保するには、インストール後に API および Ingress サービス用に選択した外部 DNS サービスで DNS レコードをプロビジョニングする必要があります。

重要

user-provisioned DNS は、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

  • jq パッケージがインストールされている。

手順

  • クラスターをデプロイする前に、テキストエディターを使用して install-config.yaml ファイルを開き、次のスタンザを追加します。

    • ユーザー管理 DNS を有効にする場合:

      featureSet: CustomNoUpgrade
      featureGates: ["GCPClusterHostedDNS=true"]
      
      # ...
      
      platform:
        gcp:
          userProvisionedDNS: Enabled 
      1
      1
      DNS 管理を有効にします。

API サーバーおよび Ingress サービスの DNS レコードをプロビジョニングする方法は、「独自の DNS レコードのプロビジョニング」を参照してください。

7.5.5. 共有 VPC インストール用にカスタマイズされた install-config.yaml ファイルのサンプル

共有 VPC を使用して OpenShift Container Platform を Google Cloud にインストールするために必要な設定パラメーターがいくつかあります。以下は、これらのフィールドを示すサンプルの install-config.yaml ファイルです。

重要

このサンプルの YAML ファイルは参照用にのみ提供されます。このファイルを変更して、ご使用の環境とクラスターに適した値にする必要があります。

apiVersion: v1
baseDomain: example.com
credentialsMode: Passthrough 
1

metadata:
  name: cluster_name
platform:
  gcp:
    computeSubnet: shared-vpc-subnet-1 
2

    controlPlaneSubnet: shared-vpc-subnet-2 
3

    network: shared-vpc 
4

    networkProjectID: host-project-name 
5

    projectID: service-project-name 
6

    region: us-east1
    defaultMachinePlatform:
      tags: 
7

      - global-tag1
controlPlane:
  name: master
  platform:
    gcp:
      tags: 
8

      - control-plane-tag1
      type: n2-standard-4
      zones:
      - us-central1-a
      - us-central1-c
  replicas: 3
compute:
- name: worker
  platform:
    gcp:
      tags: 
9

      - compute-tag1
      type: n2-standard-4
      zones:
      - us-central1-a
      - us-central1-c
  replicas: 3
networking:
  clusterNetwork:
  - cidr: 10.128.0.0/14
    hostPrefix: 23
  machineNetwork:
  - cidr: 10.0.0.0/16
pullSecret: '{"auths": ...}'
sshKey: ssh-ed25519 AAAA... 
10
1
credentialsModePassthrough または Manual に設定する必要があります。サービスアカウントに必要な Google Cloud 権限は、「前提条件」セクションを参照してください。
2
コンピュートマシンが使用する共有 VPC 内のサブネットの名前。
3
コントロールプレーンマシンが使用する共有 VPC 内のサブネットの名前。
4
共有 VPC の名前。
5
共有 VPC が存在するホストプロジェクトの名前。
6
クラスターをインストールする Google Cloud プロジェクトの名前。
7 8 9
任意。コンピューティングマシン、コントロールプレーンマシン、またはすべてのマシンに適用する 1 つ以上のネットワークタグ。
10
クラスター内のマシンにアクセスするために使用する sshKey 値をオプションで指定できます。

7.5.6. インストール時のクラスター全体のプロキシーの設定

実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。プロキシー設定を install-config.yaml ファイルで行うことにより、新規の OpenShift Container Platform クラスターをプロキシーを使用するように設定できます。

前提条件

  • 既存の install-config.yaml ファイルがある。
  • クラスターがアクセスする必要のあるサイトを確認済みで、それらのいずれかがプロキシーをバイパスする必要があるかどうかを判別している。デフォルトで、すべてのクラスター Egress トラフィック (クラスターをホストするクラウドに関するクラウドプロバイダー API に対する呼び出しを含む) はプロキシーされます。プロキシーを必要に応じてバイパスするために、サイトを Proxy オブジェクトの spec.noProxy フィールドに追加している。

    注記

    Proxy オブジェクトの status.noProxy フィールドには、インストール設定の networking.machineNetwork[].cidrnetworking.clusterNetwork[].cidr、および networking.serviceNetwork[] フィールドの値が設定されます。

    Amazon Web Services (AWS)、Microsoft Azure、および Red Hat OpenStack Platform (RHOSP) へのインストールの場合、Proxy オブジェクトの status.noProxy フィールドには、インスタンスメタデータのエンドポイント (169.254.169.254) も設定されます。

手順

  1. install-config.yaml ファイルを編集し、プロキシー設定を追加します。以下に例を示します。

    apiVersion: v1
    baseDomain: my.domain.com
    proxy:
      httpProxy: http://<username>:<pswd>@<ip>:<port> 
    1
    
      httpsProxy: https://<username>:<pswd>@<ip>:<port> 
    2
    
      noProxy: example.com 
    3
    
    additionalTrustBundle: | 
    4
    
        -----BEGIN CERTIFICATE-----
        <MY_TRUSTED_CA_CERT>
        -----END CERTIFICATE-----
    additionalTrustBundlePolicy: <policy_to_add_additionalTrustBundle> 
    5
    1
    クラスター外の HTTP 接続を作成するために使用するプロキシー URL。URL スキームは http である必要があります。
    2
    クラスター外で HTTPS 接続を作成するために使用するプロキシー URL。
    3
    プロキシーから除外するための宛先ドメイン名、IP アドレス、または他のネットワーク CIDR のコンマ区切りのリスト。サブドメインのみと一致するように、ドメインの前に . を付けます。たとえば、.y.comx.y.com に一致しますが、y.com には一致しません。* を使用し、すべての宛先のプロキシーをバイパスします。
    4
    指定されている場合、インストールプログラムは HTTPS 接続のプロキシーに必要な 1 つ以上の追加の CA 証明書が含まれる user-ca-bundle という名前の設定マップを openshift-config namespace に生成します。次に Cluster Network Operator は、これらのコンテンツを Red Hat Enterprise Linux CoreOS (RHCOS) 信頼バンドルにマージする trusted-ca-bundle config map を作成し、この config map は Proxy オブジェクトの trustedCA フィールドで参照されます。additionalTrustBundle フィールドは、プロキシーのアイデンティティー証明書が RHCOS 信頼バンドルからの認証局によって署名されない限り必要になります。
    5
    オプション: trustedCA フィールドの user-ca-bundle 設定マップを参照する Proxy オブジェクトの設定を決定するポリシー。許可される値は Proxyonly および Always です。Proxyonly を使用して、http/https プロキシーが設定されている場合にのみ user-ca-bundle 設定マップを参照します。Always を使用して、常に user-ca-bundle 設定マップを参照します。デフォルト値は Proxyonly です。
    注記

    インストールプログラムは、プロキシーの readinessEndpoints フィールドをサポートしません。

    注記

    インストーラーがタイムアウトした場合は、インストーラーの wait-for コマンドを使用してデプロイメントを再起動してからデプロイメントを完了します。以下に例を示します。

    $ ./openshift-install wait-for install-complete --log-level debug
  2. ファイルを保存し、OpenShift Container Platform のインストール時にこれを参照します。

インストールプログラムは、指定の install-config.yaml ファイルのプロキシー設定を使用する cluster という名前のクラスター全体のプロキシーを作成します。プロキシー設定が指定されていない場合、cluster Proxy オブジェクトが依然として作成されますが、これには spec がありません。

注記

cluster という名前の Proxy オブジェクトのみがサポートされ、追加のプロキシーを作成することはできません。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る