クラスターへのアクセス
IBM Cloud® Kubernetes Service クラスターを作成したら、そのクラスターにアクセスしてクラスターの操作を開始できます。
前提条件
- 必要な CLI ツールをインストールします (IBM Cloud CLI、Kubernetes Service プラグイン (
ibmcloud ks)、および Kubernetes CLI (kubectl) を含む)。クラスター内のテスト機能に素早くアクセスするために、IBM Cloud Shell を使用することもできます。 - IBM Cloud Kubernetes Service クラスターを作成します。
- 企業ファイアウォールでネットワークが保護されている場合は、IBM Cloud と IBM Cloud Kubernetes Service の API エンドポイントとポートへのアクセスを許可します。 プライベート・クラウド・サービス・エンドポイントのみのクラスターの場合は、クラウド・サービス・エンドポイント・サブネットへのアクセスを構成するまで、クラスターへの接続をテストすることはできません。
ibmcloud ks cluster get -c <cluster_name_or_ID>を実行して、クラスターが正常な状態であることを確認します。 クラスターが正常な状態でない場合は、クラスターのデバッグのガイドを参照してください。 例えば、ファイアウォール・ゲートウェイ・アプライアンスによって保護されているアカウントにクラスターがプロビジョンされている場合は、 該当するポートと IP アドレスへの発信トラフィックを許可するようにファイアウォール設定を構成します。- 前の手順のクラスター詳細の出力で、クラスターのパブリックまたはプライベートのサービス・エンドポイント URL を確認します。
- パブリックのサービス・エンドポイント URL のみ: パブリック・クラウド・サービス・エンドポイントを介したクラスターへのアクセスに進みます。
- プライベートのサービス・エンドポイント URL のみ: プライベート・クラウド・サービス・エンドポイントを介したクラスターへのアクセスに進みます。
- 両方のサービス・エンドポイント URL: パブリックまたはプライベートのサービス・エンドポイントを介してクラスターにアクセスできます。
- 仮想プライベート・エンドポイント を介して VPC クラスターにアクセスすることもできます。
パブリック・クラウド・サービス・エンドポイントを介したクラスターへのアクセス
クラスターを処理するには、作成したクラスターを CLI セッションのコンテキストとして設定して、kubectl コマンドを実行します。
IBM Cloud コンソールを代わりに使用する場合は、IBM Cloud Shell の Web ブラウザーから直接 CLI コマンドを実行できます。
- 作成したクラスターを、このセッションのコンテキストとして設定します。 次の構成手順は、クラスターの操作時に毎回行ってください。
- クラスターの
kubeconfig構成ファイルをダウンロードし、kubeconfigの既存の~/.kube/configに追加するか、KUBECONFIG環境変数の最後のファイルに追加します。ibmcloud ks cluster config -c <cluster_name_or_ID> kubectlコマンドが正しく実行され、Kubernetesコンテキストがクラスターに設定されていることを確認します。
出力例kubectl config current-context<cluster_name>/<cluster_ID>
- クラスターの
- デフォルトのポート
8001で Kubernetes ダッシュボードを起動します。- デフォルトのポート番号でプロキシーを設定します。
kubectl proxyStarting to serve on 127.0.0.1:8001 - Web ブラウザーで以下の URL を開いて、Kubernetes ダッシュボードを表示します。
http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
- デフォルトのポート番号でプロキシーを設定します。
プライベート・クラウド・サービス・エンドポイントを介したクラスターへのアクセス
許可されたクラスター・ユーザーが、プライベート・クラウド・サービス・エンドポイントを介して VPC クラスターまたはクラシック・クラスターにアクセスできるようにします。
プライベート・サービス・エンドポイントを介した VPC クラスターへのアクセス
すべてのVPCクラスタには、許可されたユーザーがアクセスできるプライベート・サービス・エンドポイントがあります。 プライベート・ネットワークでのみ利用できるため、ユーザーは以下のいずれかの方法でアクセスしなければならない:
-
ca-mon、in-che、in-mum 以外のリージョンでは、VPC クラスタのプライベート・サービス・エンドポイントは、 IBM Cloud 内のどこからでも、または VPN(または同様のもの)を使用して IBM Cloud に接続しているクライアントからアクセスできます。
以下のいずれかのオプションを使用して、 IBM Cloud に VPN 経由で接続できます:
- クライアント・ツー・サイトVPN
- クラスターアクセスの最も一般的なオプションで、セットアップもかなり簡単だ。 設定のヒントについては、「 Virtual Private Endpoint Gatewayを介したVPCクラスタへのアクセス 」を参照してください。
- サイト間 VPN
- セットアップはより複雑だが、便利な機能が追加されている。
これらのクラスタには、
c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXXのようなクラスタのプライベート・サービス・エンドポイント URL を介してアクセスできます。 このプライベートエンドポイントを使用するkubeconfigファイルを取得するには、このコマンドを使用します:次に、以下に示すいくつかのオプションのいずれかを使用してクラスタにログインできます。 そうしたら、次のような方法で接続を確認することができます。
ibmcloud ks get nodes-
管理者としてログインする:
- クラスタの Administrator プラットフォームアクセスロールを持って いることを確認してください。
- 管理者用のkubeconfigをダウンロードします。
ibmcloud ks cluster config -c <cluster_name_or_ID> --admin --endpoint private
-
ユーザーとしてログインする :
- ログインしているユーザーのkubeconfigをダウンロードします。
ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint private
- ログインしているユーザーのkubeconfigをダウンロードします。
-
すべての地域のすべてのVPCクラスタのプライベート・サービス・エンドポイントは、そのクラスタの特定のVPE(Virtual Private Endpoint)ゲートウェイ経由でアクセスできます。 VPEゲートウェイは、作成されたVPCの内部から、または特定のVPCへのVPN(または同様のもの)を経由してのみ利用可能です。 この方法でクラスタに接続するには、主に2つの選択肢がある:
- クラスタ用のVPE Gatewayは、クラスタが作成されたVPC内に自動的に作成されます。 そのため、VPC内のシステムから接続するか、VPN(または同様のもの)でVPCに接続しているシステムから接続するという選択肢もある。
- 別のVPC(別の地域や別のアカウント VPCでもよい)から接続したい場合は、その別のVPCに新しいVPEゲートウェイを作成すればよい。 その後、その別のVPCから(その別のVPCにVPN接続している場合も含めて)、その新しいVPE Gateway経由でクラスタマスターにアクセスできます。 その手順は以下の 他のVPCおよびアカウント仮想プライベートエンドポイントゲートウェイを追加作成する。
- kubeconfigファイルの取得方法やVPN設定のヒントなど、このオプションの詳細については、以下の「 Virtual Private Endpoint GatewayによるVPCクラスタへのアクセス 」のセクションを参照してください。
プライベート・クラウド・サービス・エンドポイントを介したクラシック・クラスターへのアクセス
許可されたクラスター・ユーザーが、IBM Cloud プライベート・ネットワークの中で作業している場合、またはクラシック VPN 接続や IBM Cloud Direct Link などを介してプライベート・ネットワークに接続している場合は、プライベート・クラウド・サービス・エンドポイントを介して
Kubernetes マスターにアクセスできます。 ただし、プライベート・クラウド・サービス・エンドポイントを介した Kubernetes マスターとの通信には、IP アドレス範囲 166.X.X.X を使用する必要があります。この範囲はクラシック VPN 接続でも IBM Cloud Direct Link でもルーティングすることはできません。 プライベート・ネットワーク・ロード・バランサー (NLB) を使用して、クラスター・ユーザーのマスターのプライベート・クラウド・サービス・エンドポイントを公開できます。
プライベート NLB は、ユーザーが VPN または IBM Cloud Direct Link 接続を使用してアクセスできる内部 10.X.X.X IP アドレス範囲として、マスターのプライベート・クラウド・サービス・エンドポイントを公開します。 プライベート・クラウド・サービス・エンドポイントのみを有効にする場合は、Kubernetes ダッシュボードを使用するか、パブリック・クラウド・サービス・エンドポイントを一時的に有効にして、プライベート
NLB を作成できます。
-
クラスターのプライベート・クラウド・サービス・エンドポイント URL およびポートを取得します。
ibmcloud ks cluster get -c <cluster_name_or_ID>この出力例では、プライベート・サービス・エンドポイント URL は
https://c1.private.us-east.containers.cloud.ibm.com:25073です。NAME: setest ID: b8dcc56743394fd19c9f3db7b990e5e3 State: normal Status: healthy cluster Created: 2019-04-25T16:03:34+0000 Location: wdc04 Master URL: https://c1.private.us-east.containers.cloud.ibm.com:25073 Public Service Endpoint URL: - Private Service Endpoint URL: https://c1.private.us-east.containers.cloud.ibm.com:25073 Master Location: Washington D.C. ... -
kube-api-via-nlb.yamlという名前の YAML ファイルを作成します。 この YAML はプライベートLoadBalancerサービスを作成し、NLB を介してプライベート・クラウド・サービス・エンドポイントを公開します。<private_service_endpoint_port>を、先述の手順で確認したポートに置き換えます。apiVersion: v1 kind: Service metadata: name: kube-api-via-nlb annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: private namespace: default spec: type: LoadBalancer ports: - protocol: TCP port: 8080 # Or, the <private_service_endpoint_port> that you found earlier. targetPort: 8080 # Optional. By default, the `targetPort` is set to match the `port` value unless specified otherwise. --- kind: Endpoints apiVersion: v1 metadata: name: kube-api-via-nlb subsets: - addresses: - ip: 172.20.0.1 ports: - port: 2040 -
プライベート NLB を作成するには、クラスター・マスターに接続する必要があります。 VPN または IBM Cloud Direct Link からプライベート・クラウド・サービス・エンドポイントを介してまだ接続できないため、クラスター・マスターに接続し、パブリック・クラウド・サービス・エンドポイントまたは Kubernetes ダッシュボードを使用して NLB を作成する必要があります。
-
プライベート・クラウド・サービス・エンドポイントのみを有効にした場合は、Kubernetes ダッシュボードを使用して NLB を作成できます。 ダッシュボードは、すべての要求をマスターのプライベート・クラウド・サービス・エンドポイントに自動的に経路指定します。
- クラスタ] ページで、アクセスするクラスタをクリックします。
- クラスターの詳細ページで、**「Kubernetes ダッシュボード (Kubernetes Dashboard)」**をクリックします。
- **「+ 作成 (+ Create)」**をクリックします。
- **「ファイルから作成 (Create from file)」を選択し、
kube-api-via-nlb.yamlファイルをアップロードして、「アップロード」**をクリックします。 - **「概要」**ページで、
kube-api-via-nlbサービスが作成されていることを確認します。 **「外部エンドポイント (External endpoints)」**列で、10.x.x.xアドレスをメモします。 この IP アドレスは、YAML ファイルで指定したポートで Kubernetes マスターのプライベート・クラウド・サービス・エンドポイントを公開します。
-
パブリック・クラウド・サービス・エンドポイントも有効にした場合は、既にマスターにアクセスできます。
- クラスターの
kubeconfig構成ファイルをダウンロードし、kubeconfigの既存の~/.kube/configに追加するか、KUBECONFIG環境変数の最後のファイルに追加します。ibmcloud ks cluster config -c <cluster_name_or_ID> - NLB およびエンドポイントを作成します。
kubectl apply -f kube-api-via-nlb.yaml kube-api-via-nlbNLB が作成されていることを確認します。 出力の10.x.x.xEXTERNAL-IP** アドレス ** をメモします。 この IP アドレスは、YAML ファイルで指定したポートで Kubernetes マスターのプライベート・クラウド・サービス・エンドポイントを公開します。
この出力例では、Kubernetes マスターのプライベート・クラウド・サービス・エンドポイントの IP アドレスはkubectl get svc -o wide10.186.92.42です。NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR kube-api-via-nlb LoadBalancer 172.21.150.118 10.186.92.42 443:32235/TCP 10m <none> ...
- クラスターの
-
-
自分自身またはユーザーが
kubectlコマンドを実行するクライアント・マシンで、NLB IP アドレスとプライベート・クラウド・サービス・エンドポイント URL を/etc/hostsファイルに追加します。 IP アドレスと URL にポートを含めたり、URL にhttps://を含めたりしないでください。-
macOS と Linux のユーザーの場合:
sudo nano /etc/hosts -
Windows ユーザーの場合:
notepad C:\Windows\System32\drivers\etc\hostsローカル・マシンの権限によっては、ホスト・ファイルを編集するためにノートパッドを管理者として実行しなければならない場合があります。
10.186.92.42 c1.private.us-east.containers.cloud.ibm.com
-
-
VPN または IBM Cloud Direct Link 接続を介してプライベート・ネットワークに接続していることを確認します。
-
クラスターの
kubeconfig構成ファイルをダウンロードし、kubeconfigの既存の~/.kube/configに追加するか、KUBECONFIG環境変数の最後のファイルに追加します。ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint private -
kubectlコマンドが正しく実行され、Kubernetesコンテキストがクラスターに設定されていることを確認します。kubectl config current-context出力例
<cluster_name>/<cluster_ID>
仮想プライベート・エンドポイント・ゲートウェイを介した VPC クラスターへのアクセス
仮想プライベート・エンドポイント・ゲートウェイ は、VPC クラスター用に自動的に作成されます。 Kubernetes マスターは、承認されたクラスターユーザーがクラスターがデプロイされているVPC(例: IBM Cloud VPC VPN 経由)に接続されている場合、この仮想プライベートエンドポイントゲートウェイを通じてアクセス可能です。
この場合、は仮想プライベートエンドポイント(VPE) URLkubeconfig で構成されています。これはプライベートDNS名であり、 IBM Cloud VPC プライベートDNSサービスによってのみ解決可能です。 IBM Cloud VPC のプライベートDNSサーバーのアドレスは および 161.26.0.7 です 161.26.0.8。
-
IBM Cloud VPC VPN をセットアップし、VPN を介して VPC に接続します。
- VPC への クライアントからサイト または サイトからサイト への VPN を構成します。 例えば、VPN クライアントとのクライアントからサイトへの接続をセットアップすることを選択できます。
- クライアントからサイトへの VPN for IBM Cloud VPC サービスの場合は、 考慮事項 に記載されているように VPN サーバーをプロビジョンするときに IBM Cloud VPC プライベート DNS のサービス・アドレスを指定する必要があります。また、VPN
サーバーがプロビジョンされた後に、宛先
161.26.0.0/16とアクションtranslateを指定して VPN 経路を作成する必要があります。 - IBM Cloud VPC サービスのサイト間 VPN の場合は、 VPN ガイドを介したサービス・エンドポイントへのアクセス に従い、 IBM Cloud VPC プライベート DNS サービス・アドレスを構成します。
- IBM Cloud VPC VPN接続を通じてVPCに接続されていることを確認してください。
-
クラスターの
kubeconfig構成ファイルをダウンロードし、kubeconfigの既存の~/.kube/configに追加するか、KUBECONFIG環境変数の最後のファイルに追加します。--endpoint vpeフラグは、kubeconfigファイルで<CLUSTERID>.private.<REGION>.containers.cloud.ibm.com:XXXXXURL。ibmcloud ks cluster config -c <cluster_name_or_ID> --endpoint vpe -
1.30 以降 VPN の
kube-vpegw-<clusterID>にセキュリティー・グループ・ルールを追加します。 この例のリモート・リソースは、VPN のクライアント IP CIDR からのものです。ibmcloud ks cluster get -c CLUSTERを実行すると、VPE ポートを確認できます。ibmcloud is sg-rulec kube-vpegw-<clusterID> inbound tcp --port-min 30829 --port-max 30829 --remote 192.168.192.0/22 -
Kubernetes コンテキストがクラスターに設定されていることを確認します。
kubectl config current-context出力例
<cluster_name>/<cluster_ID>kubectl version出力例
Client Version: v1.25.3 Kustomize Version: v4.5.7 Server Version: v1.25.4+IKS
コンテキストベースの制限を使用したクラスタの保護
プライベート・サービスのエンドポイント許可リストはサポートされなくなりました。 プライベート・サービス・エンドポイントの許可リストを、できるだけ早くコンテキスト・ベースの制限に移行する。 具体的な移行手順については、 プライベート・サービス・エンドポイントの許可リストからコンテキスト・ベースの制限(CBR)への移行を 参照してください。
コンテキストベースの制限(CBR)ルールを使用して、パブリックおよびプライベートサービスのエンドポイントへのアクセスを制御します。
IBM Cloud IAMを通じてユーザーにクラスタへのアクセスを許可した 後、クラスタのパブリックおよびプライベート・サービス・エンドポイントにCBRルールを作成することで、二次的なセキュリティ・レイヤーを追加できます。 CBRルール内のサブネットから発信されたクラスタ・マスタへの許可された要求のみが許可されます。
クラスタが属するVPCとは異なるVPCからのリクエストを許可する場合は、そのVPCのクラウド・サービス・エンドポイントIPアドレスをCBRルールに含める必要があります。
例えば、クラスターのプライベート・クラウド・サービス・エンドポイントにアクセスするには、VPN または IBM Cloud を介して IBM Cloud Direct Link クラシック・ネットワークまたは VPC ネットワークに接続する必要があります。 VPNまたは Direct Link トンネルのサブネットだけをCBRルールに指定して、組織内の許可されたユーザーだけがそのサブネットからプライベート・クラウド・サービスのエンドポイントにアクセスできるようにすることができます。
パブリックCBRルール(クラスタにパブリック・サービス・エンドポイントがある場合)は、承認が取り消された後にユーザがクラスタにアクセスするのを防ぐのにも役立ちます。 ユーザーが組織を退職したら、そのユーザーにクラスターへのアクセス権限を付与する IBM Cloud IAM 権限を削除します。 しかし、ユーザがクラスタのadmin kubeconfig ファイルをコピーし、そのクラスタへのアクセス権を与えている可能性があります。 組織が所有する既知のパブリック・サブネットからのクラスタ・マスタへのアクセスのみを許可するパブリックCBRルールがある場合、別のパブリックIPアドレスからのユーザのアクセス試行はブロックされます。
ワーカー・ノードのサブネットは、バックエンドのCBR実装(CBRルール/ゾーンではなく)に自動的に追加および削除されるため、ワーカー・ノードは常にクラスタ・マスタにアクセスでき、ユーザーは自分のCBRルールにこれらを特別に追加する必要はありません。
CBRルールによるクラスタの保護の詳細については、 コンテキスト・ベースの制限によるクラスタ・リソースの保護 および コンテキスト・ベースの制限のシナリオ 例を参照してください
他のVPCやアカウント追加のVirtual Private Endpointゲートウェイを作成する
VPC内のクラスタ用に作成されたVPEゲートウェイに加えて、そのクラスタ用に追加のVPEゲートウェイを作成して、他のVPC、リージョン、およびアカウントプライベートネットワーク経由のアクセスを許可することができます。
-
追加のVPEゲートウェイは、CLIまたはAPIを使用して作成する必要があります。 作成後はウェブUIで管理できる。
-
アカウントアカウントVPEゲートウェイの場合、まずターゲットアカウント認証を作成する必要があります。 詳細は コンソールでアカウントアカウントVPEのサービス認可を作成する を参照。
-
Transit Gateway特別なルーティングは必要ない。 VPEゲートウェイはターゲットクラスタへのルーティングを処理する。
以下のステップでは、 アカウントアカウントVPEゲートウェイを作成する方法を説明します。
-
ターゲットクラスタから必要な情報を取得する。
-
ibmcloud targetをターゲットアカウント、リージョン、リソースグループに設定する。 -
既存のVPEゲートウェイ情報を取得する。
ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID -
ターゲットCRN (フォーマット:
crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::)に注意。 -
サービス・エンドポイントのホスト名に注意してください。
-
-
ソースアカウント新しいVPEゲートウェイを作成する。
-
ibmcloud targetをソースアカウント、リージョン、リソースグループに設定する。 -
このアカウント VPCが存在することを確認します。
ibmcloud is vpcs -
VPEゲートウェイを作成する。
ibmcloud is endpoint-gateway-create --vpc SOURCE_VPC_NAME --target TARGET_CRN --name new-iks-TARGET_CLUSTER_ID --resource-group-name SOURCE_ACCOUNT_RESOURCE_GROUPSOURCE_VPC_NAME- 前のステップのVPC名。
TARGET_CRN- ターゲットクラスタのVPEゲートウェイからのCRN。
--name- VPEゲートウェイの名前。
SOURCE_ACCOUNT_RESOURCE_GROUP- ソースアカウントリソースグループ名。
-
サービスが見つかりません」というエラーが表示された場合は、ターゲットCRNが正しいことを確認してください。 もし正しければ、対象のアカウント認証を作成する必要がある。 コンソールでアカウントアカウントVPEのサービス認可を作成する を参照。
-
-
VPEゲートウェイに予約IPを追加する。
少なくとも1つの予約IPを追加する必要があります。 予約IPはソースVPCのサブネットから提供され(ゾーンごとに最大1つ)、ソースVPCのプライベートDNSエントリに追加されます。
-
各ゾーンに予約IPを作成する。
ibmcloud is subnet-reserved-ip-create SOURCE_VPC_SUBNET_NAME --vpc SOURCE_VPC_NAME --name ANY_NAME_YOU_CHOOSE --auto-delete true --target VPE_GATEWAY_NAME -
オプション:セキュリティグループを追加または変更する。 デフォルトでは、ソース VPC のデフォルト・セキュリティ・グループのみがアタッチされます。 VPEゲートウェイでは、セキュリティグループはイングレス・トラフィックのみを保護する。 セキュリティグループがクライアントからの必要なすべての受信トラフィックを許可していることを確認する。
-
-
接続をテストします。
-
ソースVPCのVSIから、元のVPEゲートウェイと同じホスト名を使用します。 サービス・エンドポイント・ リスト、または
ibmcloud ks cluster get -c CLUSTER_NAMEの VPE ゲートウェイ・プロパティで検索してください。 -
接続がうまくいくことを確認する。
curl -k https://CLUSTERID...:XXXXX/version -
接続に失敗した場合は、以下を確認してください:
- VSIとVPEゲートウェイのセキュリティグループは、必要なトラフィックを許可する
- VPC ACLはトラフィックを
- ターゲットクラスタ上のCBR(Context Based Restriction)ルールは、ソースVPCからのプライベートトラフィックを許可します(ソースVPCからの3つの「Cloud Service Endpoint source addresses」をプライベートCBRルールに追加します)
-
例ターゲットアカウントコマンド
次の例は、クラスタとそのVPEゲートウェイに関する情報を収集するために、ターゲットアカウント実行するコマンドを示しています。
-
正しいアカウントターゲットにしていることを確認してください。
ibmcloud target出力例
API endpoint: https://cloud.ibm.com Region: us-east User: user2@example.com Account: Target Account (9f8e7d6c5b4a321fedcba98765432222) <-> 2222222 Resource group: default -
クラスターをリストアップする。
ibmcloud ks clusters出力例
OK Name ID State Created Workers Location Version Resource Group Name Provider vpe-cross-account-test c8m5n3p2q4x6z1w7y077 normal 1 day ago 2 Washington DC 4.19.25_1572_openshift default vpc-gen2 -
VPEゲートウェイの詳細を取得する。 ターゲットCRNと サービスエンドポイントに注意してください。
ibmcloud is endpoint-gateway iks-c8m5n3p2q4x6z1w7y077出力例
Getting endpoint gateway iks-c8m5n3p2q4x6z1w7y077 under account Target Account as user user2@example.com... ID r014-7a228b24-4bc4-416c-aede-7fda14e88d98 Name iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-east:a/9f8e7d6c5b4a321fedcba98765432222::endpoint-gateway:r014-7a228b24-4bc4-416c-aede-7fda14e88d98 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r014-464b4e54-48a8-4f6c-b10a-68edc6fd2be4 new-vpcgen2-default-sec-grp-wdc Private IPs ID Name Address Subnet ID 0757-3bd457cb-af5a-4ab6-b9bb-6e78d3eaf752 iks-useast1-c8m5n3p2q4x6z1w7y077-2e8 172.22.0.11 0757-0c981aa5-cb47-41d9-ab29-edee98b416f8 Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State stable Health State ok Security groups ID Name r014-3873358e-3180-482b-927e-abcc300ecbf8 kube-vpegw-c8m5n3p2q4x6z1w7y077 Created 2026-04-03T12:14:59-05:00 Resource Group default -
オプション:クラスタの詳細を取得し、VPE ゲートウェイを確認する URL。
ibmcloud ks cluster get -c c8m5n3p2q4x6z1w7y077出力例
Retrieving cluster c8m5n3p2q4x6z1w7y077... OK Name: vpe-cross-account-test ID: c8m5n3p2q4x6z1w7y077 State: normal Status: All Workers Normal Created: 2026-04-03 11:56:38 -0500 (1 day ago) Resource Group ID: 950cec30388441ce809ca0d18b5ca3bc Resource Group Name: default Pod Subnet: 172.17.0.0/18 Service Subnet: 172.21.0.0/16 Workers: 2 Worker Zones: us-east-1 Ingress Subdomain: vpe-cross-account-test-354226545946e7ee0a2c700f061c1661-0000.us-east.containers.appdomain.cloud Ingress Secret: vpe-cross-account-test-354226545946e7ee0a2c700f061c1661-0000 Ingress Status: healthy Ingress Message: All Ingress components are healthy. Trusted Profile ID: - Public Service Endpoint URL: https://c111-e.us-east.containers.cloud.ibm.com:31100 Private Service Endpoint URL: https://c111.private.us-east.containers.cloud.ibm.com:31100 Pull Secrets: enabled in the default namespace VPCs: r014-464b4e54-48a8-4f6c-b10a-68edc6fd2be4 VPE Gateway: https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:31100 OAuth Server URL: https://c111-e.us-east.containers.cloud.ibm.com:31264 Konnectivity Server URL: https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:30996 Secure By Default Networking: enabled Outbound Traffic Protection: enabled Master Status: Ready (1 day ago) State: deployed Health: normal Version: 4.19.25_1572_openshift Location: Washington DC URL: https://c111-e.us-east.containers.cloud.ibm.com:31100
例ソースアカウントコマンド
以下の例では、ソース・ アカウントコマンドを実行して、ターゲット・ アカウントクラスタに接続するVPEゲートウェイを作成しています。
-
正しいソース・ アカウントターゲットにしていることを確認してください。
ibmcloud target出力例
API endpoint: https://cloud.ibm.com Region: us-south User: user1@example.com Account: Source Account (a1b2c3d4e5f6789abcdef01234561111) <-> 1111111 Resource group: Default -
VPCをリストアップします。
ibmcloud is vpcs出力例
Listing vpcs in resource group Default and region us-south under account Source Account as user user1@example.com... ID Name Status Classic access Default network ACL Default security group Resource group Health state DNS Hub DNS Resolver Type r006-6f450c4b-c808-40e7-9de6-c61c262a2ae9 dev-ansiblepr-vpc available false vendor-paradox-ravioli-tank harmonica-hypnoses-tranquil-alkalize Default ok false system r006-bd06a98a-1183-42d2-810d-1c564eeb5f39 fvt-vpc-sdnlb-server-40 available false sloppy-program-venue-subsiding prattle-pension-wilt-recycled Default ok false system r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south available false doorknob-baffle-quintet-poem spotted-sandpaper-auction-unluckily Default ok false system r006-4ff93772-cee9-4d64-9d87-d8b1b781e201 network-fvt-vpc-gen2 available false stegosaur-reach-boxlike-alone-stranger-uncork earplugs-preface-county-juicy-sensitize-babied Default ok false system -
ターゲットアカウントターゲットCRNを使用してVPEゲートウェイを作成する。
ibmcloud is endpoint-gateway-create --vpc network-fvt-us-south --target crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: --name new-iks-c8m5n3p2q4x6z1w7y077 --resource-group-name Default出力例
Creating endpoint gateway new-iks-c8m5n3p2q4x6z1w7y077 in resource group Default under account Source Account as user user1@example.com... ID r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Name new-iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south Private IPs - Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State pending Health State ok Security groups ID Name r006-7ae081e2-743d-4046-b755-5ca9997ae077 spotted-sandpaper-auction-unluckily Created 2026-04-04T18:17:12-05:00 Resource Group Default -
予約IPに使用するサブネットを特定するために、サブネットをリストアップする。
ibmcloud is subnets --vpc network-fvt-us-south出力例
Listing subnets in resource group Default and region us-south under account Source Account as user user1@example.com... ID Name Status Subnet CIDR Addresses ACL Public Gateway VPC Zone Resource group 0717-04288f84-4aef-4938-9fa7-5544a40ba258 network-fvt-us-south-1-priv available 10.240.0.0/24 251/256 doorknob-baffle-quintet-poem - network-fvt-us-south us-south-1 Default 0717-cdd4b20c-b48f-454b-b092-ad7aa14b39c8 network-fvt-us-south-1-pubgw available 10.240.1.0/24 246/256 doorknob-baffle-quintet-poem pgw-33eb53d0-74e4-11ee-a747-33927b3ab784 network-fvt-us-south us-south-1 Default 0727-8813de08-fffa-45e3-ae67-2ba70703866e network-fvt-us-south-2-priv available 10.240.64.0/24 250/256 doorknob-baffle-quintet-poem - network-fvt-us-south us-south-2 Default 0727-50b14707-c9f6-4f93-9f49-99de13c66161 network-fvt-us-south-2-pubgw available 10.240.65.0/24 251/256 doorknob-baffle-quintet-poem pgw-34fe4a70-74e4-11ee-a747-33927b3ab784 network-fvt-us-south us-south-2 Default 0737-7a644374-f121-44c1-b216-5fd94c0362b2 network-fvt-us-south-3-priv available 10.240.128.0/24 251/256 doorknob-baffle-quintet-poem - network-fvt-us-south us-south-3 Default 0737-71a34942-304c-4419-9205-3714a3574962 network-fvt-us-south-3-pubgw available 10.240.129.0/24 251/256 doorknob-baffle-quintet-poem pgw-36088e80-74e4-11ee-a747-33927b3ab784 network-fvt-us-south us-south-3 Default -
最初のゾーンに予約IPを作成し、VPEゲートウェイにアタッチする。
ibmcloud is subnet-reserved-ip-create network-fvt-us-south-1-pubgw --vpc network-fvt-us-south --name reserved-ip-for-us-south-1 --auto-delete true --target new-iks-c8m5n3p2q4x6z1w7y077出力例
Creating reserved IP in subnet network-fvt-us-south-1-pubgw under account Source Account as user user1@example.com... ID 0717-685e1410-2fa1-4e7a-a4e5-27a097ec7a7a Name reserved-ip-for-us-south-1 Address 0.0.0.0 Auto delete true Owner user Created 2026-04-04T18:18:51-05:00 Lifecycle state pending Target ID Name Resource type CRN r006-2009f147-768a-4f6a-b8fa-75f20456cec2 new-iks-c8m5n3p2q4x6z1w7y077 endpoint_gateway crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 -
予約IPが追加されたことを確認する。
ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077出力例
Getting endpoint gateway new-iks-c8m5n3p2q4x6z1w7y077 under account Source Account as user user1@example.com... ID r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Name new-iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south Private IPs ID Name Address Subnet ID 0717-685e1410-2fa1-4e7a-a4e5-27a097ec7a7a reserved-ip-for-us-south-1 10.240.1.5 0717-cdd4b20c-b48f-454b-b092-ad7aa14b39c8 Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State stable Health State ok Security groups ID Name r006-7ae081e2-743d-4046-b755-5ca9997ae077 spotted-sandpaper-auction-unluckily Created 2026-04-04T18:17:12-05:00 Resource Group Default -
セカンドゾーンに予約IPを作成し、VPEゲートウェイにアタッチする。
ibmcloud is subnet-reserved-ip-create network-fvt-us-south-2-pubgw --vpc network-fvt-us-south --name reserved-ip-for-us-south-2 --auto-delete true --target new-iks-c8m5n3p2q4x6z1w7y077出力例
Creating reserved IP in subnet network-fvt-us-south-2-pubgw under account Source Account as user user1@example.com... ID 0727-d315d943-c501-4f69-823d-bb82a2b13b29 Name reserved-ip-for-us-south-2 Address 0.0.0.0 Auto delete true Owner user Created 2026-04-04T18:19:24-05:00 Lifecycle state pending Target ID Name Resource type CRN r006-2009f147-768a-4f6a-b8fa-75f20456cec2 new-iks-c8m5n3p2q4x6z1w7y077 endpoint_gateway crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 -
第3ゾーンに予約IPを作成し、VPEゲートウェイにアタッチする。
ibmcloud is subnet-reserved-ip-create network-fvt-us-south-3-pubgw --vpc network-fvt-us-south --name reserved-ip-for-us-south-3 --auto-delete true --target new-iks-c8m5n3p2q4x6z1w7y077出力例
Creating reserved IP in subnet network-fvt-us-south-3-pubgw under account Source Account as user user1@example.com... ID 0737-afbebd9f-02bd-4b9a-be90-5bacf9836041 Name reserved-ip-for-us-south-3 Address 0.0.0.0 Auto delete true Owner user Created 2026-04-04T18:19:32-05:00 Lifecycle state pending Target ID Name Resource type CRN r006-2009f147-768a-4f6a-b8fa-75f20456cec2 new-iks-c8m5n3p2q4x6z1w7y077 endpoint_gateway crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 -
すべての予約IPが追加されたことを確認する。
ibmcloud is eg new-iks-c8m5n3p2q4x6z1w7y077出力例
Getting endpoint gateway new-iks-c8m5n3p2q4x6z1w7y077 under account Source Account as user user1@example.com... ID r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Name new-iks-c8m5n3p2q4x6z1w7y077 CRN crn:v1:bluemix:public:is:us-south:a/a1b2c3d4e5f6789abcdef01234561111::endpoint-gateway:r006-2009f147-768a-4f6a-b8fa-75f20456cec2 Target CRN crn:v1:bluemix:public:containers-kubernetes:us-east:a/9f8e7d6c5b4a321fedcba98765432222:c8m5n3p2q4x6z1w7y077:: DNS resolution binding mode primary Target Type provider_cloud_service Target Remote ID Name Resource type No target remote found. VPC ID Name r006-ecf65055-6868-4368-aa7c-48fc5ac29ff8 network-fvt-us-south Private IPs ID Name Address Subnet ID 0737-afbebd9f-02bd-4b9a-be90-5bacf9836041 reserved-ip-for-us-south-3 10.240.129.5 0737-71a34942-304c-4419-9205-3714a3574962 0717-685e1410-2fa1-4e7a-a4e5-27a097ec7a7a reserved-ip-for-us-south-1 10.240.1.5 0717-cdd4b20c-b48f-454b-b092-ad7aa14b39c8 0727-d315d943-c501-4f69-823d-bb82a2b13b29 reserved-ip-for-us-south-2 10.240.65.5 0727-50b14707-c9f6-4f93-9f49-99de13c66161 Service Endpoints c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com Lifecycle State stable Health State ok Security groups ID Name r006-7ae081e2-743d-4046-b755-5ca9997ae077 spotted-sandpaper-auction-unluckily Created 2026-04-04T18:17:12-05:00 Resource Group Default -
ソースVPCのVSIからの接続をテストする。
curl -k https://c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com:31100/version出力例
{ "major": "1", "minor": "32", "gitVersion": "v1.32.12", "gitCommit": "9b706b45b52a0c8bb05847295ee98ffccbabba32", "gitTreeState": "clean", "buildDate": "2026-02-19T13:30:47Z", "goVersion": "go1.23.10 (Red Hat 1.23.10-10.el9) X:strictfipsruntime", "compiler": "gc", "platform": "linux/amd64" } -
ホスト名が予約IPに解決されることを確認する。
dig +short c8m5n3p2q4x6z1w7y077.vpe.private.us-east.containers.cloud.ibm.com出力例
10.240.65.5