このページは機械翻訳したものです。

KubernetesクラスタのIMDSの構成

Kubernetes Engine (OKE)を使用して作成したKubernetesクラスタ用にIMDSを構成する方法を確認します。

インスタンス・メタデータ・サービス(IMDS)は、Kubernetes Engineを使用して作成したクラスタ内の管理対象ノードをホストするコンピュート・インスタンスに関する情報を提供できます。インスタンス・メタデータ・サービスは、バージョン1とバージョン2の2つのバージョンで使用できます。IMDSv2は、IMDSv1と比較すると、メタデータ・リクエストのセキュリティを強化します。IMDSの詳細は、インスタンス・メタデータの取得を参照してください。

管理対象ノード・プールに指定したイメージによって、ノード・プール内の管理対象ノードをホストするコンピュート・インスタンスにIMDSv1またはIMDSv2(あるいはその両方)のエンドポイントがあるかどうかが決まります。イメージがIMDSv1とIMDSv2の両方をサポートしている場合、リクエストはデフォルトでIMDSv1とIMDSv2の両方のエンドポイントに許可されます。IMDSv2がサポートされている場合、IMDSv1エンドポイントへのリクエストを無効にし、IMDSv2エンドポイントへのリクエストのみを許可することで、セキュリティを強化することを強くお薦めします。

IMDSv1をサポートするイメージを使用するノード・プールを作成または更新するときに、管理対象ノードをホストしているコンピュート・インスタンスでIMDSv1エンドポイントを無効にするには、次を参照してください:

CLIを使用した、Kubernetesワーカー・ノードをホストするコンピュート・インスタンスのIMDSv1エンドポイントの無効化

CLIの使用の詳細は、コマンド・ライン・インタフェース(CLI)を参照してください。CLIコマンドで使用できるフラグおよびオプションの完全なリストは、コマンドライン・リファレンスを参照してください。

CLIを使用して、新しいノード・プールの作成時にKubernetesワーカー・ノードをホストするコンピュート・インスタンスでIMDSv1エンドポイントを無効にするには、oci ce node-pool createコマンドの使用時に--node-metadataパラメータの値として "areLegacyImdsEndpointsDisabled" : "true"を指定します。例:

oci ce node-pool create \
--cluster-id ocid1.cluster.oc1.iad.aaaa______m4w \
--name my-idmsv2-only-nodepool \
--node-image-id ocid1.image.oc1.iad.aaaa______zpq \
--compartment-id ocid1.tenancy.oc1..aaa______q4a \
--kubernetes-version v1.24.1 \
--node-shape VM.Standard2.1 \
--placement-configs "[   { \"availabilityDomain\": \"PKGK:US-ASHBURN-AD-1\", \"subnetId\": \"ocid1.subnet.oc1.iad.aaaa______kfa\"   }   ]" \
--size 1 \
--region=us-ashburn-1 \
--node-metadata={"areLegacyImdsEndpointsDisabled" : "true"}

CLIを使用して、既存のノード・プールの更新時に新しい管理対象ノードをホストするコンピュート・インスタンスでIMDSv1エンドポイントを無効にするには、oci ce node-pool updateコマンドの使用時に--node-metadataパラメータの値として "areLegacyImdsEndpointsDisabled" : "true"を指定します。例:

oci ce node-pool update \
--node-pool-id ocid1.nodepool.oc1.iad.aaaaaaa______eya
--node-metadata={"areLegacyImdsEndpointsDisabled" : "true"}

既存のノード・プールを更新すると、これ以降、新しい管理対象ノードをホストしているコンピュート・インスタンスでIMDSv1エンドポイントが無効になります。ただし、既存の管理対象ノードをすでにホストしているコンピュート・インスタンスは更新されず、それらのIMDSv1エンドポイントは有効なままです。

重要

ワーカー・ノード・プロパティに対する変更は、新しいワーカー・ノードにのみ適用されます。既存のワーカー・ノードのプロパティは変更できません。変更をすぐに有効にする場合は、必要な設定で新しいノード・プールを作成し、作業を元のノード・プールから新しいノード・プールにシフトすることを検討してください(「プロパティが更新されたワーカー・ノードの作成」を参照)。

Kubernetesワーカー・ノードをホストしているコンピュート・インスタンスでIMDSv1エンドポイントが無効になっていることの確認

Kubernetesワーカー・ノードをホストしているコンピュート・インスタンスでIMDSv1エンドポイントが無効になっていることを確認するには:

  1. SSHを使用してワーカー・ノードをホストするコンピュート・インスタンスに接続します。たとえば、ssh opc@192.0.2.254と入力します。

    詳細は、「SSHを使用した管理対象ノードへの接続」を参照してください。

  2. 次のコマンドを入力します。
    curl -H 'Authorization: Bearer Oracle' http://169.254.169.254/opc/v1/instance/

    コンピュート・インスタンスでIMDSv1エンドポイントが使用できない場合、HTTP 404 Not Foundエラーが返されます。