プロファイル適用性: レベル1
ノードネットワークのCIDR範囲にエイリアスIPを作成し、その後、ポッドのIPベースのポリシーとファイアウォールを設定します。エイリアスIPを使用するクラスターは、VPCネイティブクラスターと呼ばれます。
エイリアスIPを使用することにはいくつかの利点があります。
- ネットワーク内で事前にPod IPが予約されており、他のコンピュートリソースとの競合を防ぎます。
- ネットワーキング層は、出力トラフィックが任意の送信元IPで送信されないようにするために、アンチスプーフィングチェックを実行できます。
- Podのファイアウォール制御は、ノードとは別に適用できます。
- エイリアスIPは、PodがNATゲートウェイを使用せずにホストされたサービスに直接アクセスすることを可能にします。
注意デフォルトでは、新しいクラスターを作成する際にVPCネイティブ (エイリアスIPを使用) が有効になっています。除外は、gcloud CLIを使用して--enable-ip-aliasを指定せずに作成されたGKEバージョン1.21.0-gke.1500
(2021年9月) 以前のクラスターです
|
影響
現在、Podルーティングにルートを使用している既存のクラスターをエイリアスIPを使用するクラスターに移行することはできません。内部サービスのクラスターIPはクラスター内からのみ利用可能です。VPC内からクラスター外でKubernetesサービスにアクセスしたい場合は、内部ロードバランサーを使用してください。
監査
Google Cloud Consoleを使用する:
- Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
- クラスターの一覧から、目的のクラスターをクリックして詳細ページを開きます。
- ネットワークセクションで、
VPCネイティブトラフィックルーティングが有効になっていることを確認してください。
コマンドラインの使用:
既存のクラスターでエイリアスIPが有効かどうかを確認するには、まず3つの変数、クラスター名、場所、プロジェクトを定義し、次のコマンドを実行します。
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION --
project $PROJECT_ID --format json | jq '.ipAllocationPolicy.useIpAliases' { "useIpAliases": true } if VPC-native (using alias IP) is enabled. If VPC-native (using alias IP) is disabled, the above command will return null ({ }).
上記のコマンドの出力は、VPCネイティブ (エイリアスIPを使用) が有効になっている場合、次のように返されるはずです:
{ "useIpAliases": true }
VPCネイティブ (エイリアスIPの使用) が無効になっている場合、上記のコマンドはnull (
{ }) を返します。修復
エイリアスIPは既存のクラスターで有効にすることはできません。エイリアスIPを使用して新しいクラスターを作成するには、以下の手順に従ってください。
Google Cloud Consoleを使用する:
標準構成モードを使用する場合:
- Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します
- CREATE CLUSTERをクリックし、標準構成モードを選択します。
- クラスターを希望の設定に構成したら、ナビゲーションペインのCLUSTERの下にあるNetworkingをクリックしてください。
- VPC ネイティブセクションで、VPC ネイティブを有効にする (エイリアスIPを使用) を選択したままにしてください
- 作成をクリックします。
コマンドラインを使用
新しいクラスターでエイリアスIPを有効にするには、次のコマンドを実行してください。
gcloud container clusters create <cluster_name> --location <location> -- enable-ip-alias
