클러스터에 액세스
IBM Cloud® Kubernetes Service 클러스터가 작성되고 나면 클러스터에 액세스하여 클러스터에 대한 작업을 시작할 수 있습니다.
전제조건
- IBM Cloud CLI, Kubernetes Service 플러그인(
ibmcloud ks) 및 Kubernetes CLI(kubectl)를 포함하는 필수 CLI 도구를 설치하십시오. 클러스터의 기능을 테스트하기 위해 신속하게 액세스하려면 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 클러스터에 액세스할 수도 있습니다.
퍼블릭 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스
클러스터에 대해 작업하려면 작성한 클러스터를 kubectl 명령을 실행하기 위한 CLI 세션의 컨텍스트로 설정하십시오.
IBM Cloud 콘솔을 대신 사용하려는 경우에는 IBM Cloud Shell의 웹 브라우저에서 직접 CLI 명령을 실행할 수 있습니다.
- 작성한 클러스터를 이 세션에 대한 컨텍스트로 설정하십시오. 클러스터 관련 작업을 수행할 때마다 다음 구성 단계를 완료하십시오.
- 클러스터에 대한
kubeconfig구성 파일을 다운로드하여kubeconfig의 기존~/.kube/config또는KUBECONFIG환경 변수의 마지막 파일에 추가하십시오.
ibmcloud ks cluster config -c CLUSTER_NAME_OR_ID ``` 2. `kubectl` 명령이 올바르게 실행되고 Kubernetes 컨텍스트가 클러스터로 설정되었는지 확인하십시오. ```sh {: pre} kubectl config current-context ``` 출력 예 ```sh {: screen} <cluster_name>/<cluster_ID> ``` - 클러스터에 대한
- 기본 포트
8001로 Kubernetes 대시보드를 실행하십시오.- 기본 포트 번호로 프록시를 설정하십시오.
kubectl proxy ``` ```sh {: screen} Starting to serve on 127.0.0.1:8001 ``` 2. 웹 브라우저에서 다음 URL을 열어서 Kubernetes 대시보드를 보십시오. ```sh {: codeblock} http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ ```
프라이빗 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스
권한 부여된 클러스터 사용자가 프라이빗 클라우드 서비스 엔드포인트를 통해 VPC 또는 클래식 클러스터에 액세스할 수 있게 합니다.
개인 서비스 엔드포인트를 통해 VPC 클러스터에 액세스
모든 VPC 클러스터에는 권한이 있는 사용자가 액세스할 수 있는 비공개 서비스 엔드포인트가 있습니다. 비공개 네트워크에서만 사용할 수 있으므로 사용자는 다음 방법 중 하나를 통해 액세스해야 합니다:
-
캘리포니아-몬, 인-체, 인-멈 이외의 지역의 경우, VPC 클러스터의 프라이빗 서비스 엔드포인트는 IBM Cloud 또는 VPN(또는 이와 유사한)을 사용하여 IBM Cloud 에 접속하는 클라이언트에서 액세스할 수 있습니다.
다음 옵션 중 하나를 사용하여 VPN을 통해 IBM Cloud 에 연결할 수 있습니다:
[클라이언트-사이트 간 VPN](/docs/vpc?topic=vpc-vpn-client-to-site-overview): 클러스터 액세스를 위한 가장 일반적인 옵션이며 설정이 매우 간단합니다. 구성 팁은 가상 사설 엔드포인트 게이트웨이를 통해 VPC 클러스터에 액세스하기를 참조하세요.
사이트 대 사이트 VPN : 설정이 더 복잡하지만 유용할 수 있는 추가 기능이 있습니다.
이러한 클러스터는 프라이빗 서비스 엔드포인트 URL 를 통해
c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXX처럼 보이는 클러스터에 액세스할 수 있습니다. 이 명령어를 사용하여 이 프라이빗 엔드포인트를 사용하는 kubeconfig 파일을 가져옵니다:그런 다음 아래 표시된 여러 옵션 중 하나를 사용하여 클러스터에 로그인할 수 있습니다. 연결이 완료되면 다음과 같은 방법을 사용하여 연결을 확인할 수 있습니다
ibmcloud ks get nodes-
admin으로 로그인하십시오.
- 클러스터에 대한 ‘관리자 플랫폼 액세스’ 역할 이 부여되어 있는지 확인하십시오.
- 관리자용 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) 게이트웨이를 통해 액세스할 수 있습니다. VPE 게이트웨이는 생성된 VPC 내부 또는 VPN(또는 이와 유사한 것)을 통해 특정 VPC로만 사용할 수 있습니다. 이러한 방식으로 클러스터에 연결하는 데는 두 가지 주요 옵션이 있습니다:
- 클러스터에 대한 VPE 게이트웨이는 클러스터가 생성된 VPC에 자동으로 생성됩니다. 따라서 한 가지 옵션은 해당 VPC 내부의 시스템에서 연결하거나 VPN(또는 이와 유사한)이 연결된 시스템에서 해당 VPC로 연결하는 것입니다.
- 다른 VPC(다른 지역 또는 다른 계정의 VPC)에서 연결하려는 경우 해당 다른 VPC에서 새 VPE 게이트웨이를 만들 수 있습니다. 그런 다음 다른 VPC에서(다른 VPC로 VPN을 사용하는 경우 포함) 새 VPE 게이트웨이를 통해 클러스터 마스터에 액세스할 수 있습니다. 이 작업을 수행하는 방법은 아래의 다른 VPC 및 계정에 추가 가상 사설 엔드포인트 게이트웨이 만들기 섹션에 나와 있습니다.
- 이 옵션에 대한 자세한 내용은 아래의 가상 사설 엔드포인트 게이트웨이를 통해 VPC 클러스터에 액세스하기 섹션에 나와 있으며, 여기에는 kubeconfig 파일을 얻는 방법과 VPN 구성에 대한 팁이 포함되어 있습니다.
프라이빗 클라우드 서비스 엔드포인트를 통해 클래식 클러스터에 액세스
권한 부여된 사용자가 IBM Cloud 사설 네트워크에 존재하며 클래식 VPN 연결 또는 IBM Cloud Direct Link 등을 통해 연결되어 있는 경우 프라이빗 클라우드 서비스 엔드포인트를 통해 Kubernetes
마스터에 액세스할 수 있습니다. 하지만 프라이빗 클라우드 서비스 엔드포인트를 통한 Kubernetes 마스터와의 통신은 클래식 VPN 연결 또는 IBM Cloud Direct Link를 통해 라우팅할 수 없는 166.X.X.X IP 주소 범위를 통해 수행되어야 합니다. 클러스터 사용자를 위해 사설 네트워크 로드 밸런서(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 대시보드를 클릭하십시오.
- + 작성을 클릭하십시오.
- 양식에서 작성을 선택하고
kube-api-via-nlb.yaml파일을 업로드한 후 업로드를 클릭하십시오. - 개요 페이지에서
kube-api-via-nlb서비스가 작성되었는지 확인하십시오. 외부 엔드포인트 열에서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명령을 실행하는 클라이언트 시스템에서/etc/hosts파일에 NLB IP 주소 및 프라이빗 클라우드 서비스 엔드포인트 URL을 추가하십시오. IP 주소 및 URL에 포트를 포함하지 말고 URL에https://를 포함하지 마십시오.- macOS 및 Linux 사용자의 경우 다음 명령을 실행하십시오.
sudo nano /etc/hosts ``` * Windows 사용자의 경우 다음 명령을 실행하십시오. ```sh {: pre} notepad C:\Windows\System32\drivers\etc\hosts ``` 로컬 머신 권한에 따라, 호스트 파일을 편집하기 위해 메모장을 관리자 권한으로 실행해야 할 수도 있습니다. ```sh {: codeblock} 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 클러스터에 대해 자동으로 작성됩니다. 클러스터가 배포된 동일한 VPC(가상 사설 클라우드)에 승인된 클러스터 사용자가 연결된 경우(예: AWS VPN ( IBM Cloud VPC )을 통해), 이 가상 사설 엔드포인트 게이트웨이를
통해 Kubernetes 마스터에 접근할 수 있습니다. 이 경우, 해당 kubeconfig 엔드포인트는 가상 사설 엔드포인트(VPE) URL 로 구성됩니다. 이는 사설 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 클라이언트와의 클라이언트 대 사이트 연결을 설정하도록 선택할 수 있습니다.
- IBM Cloud VPC 서비스에 대한 클라이언트 대 사이트 VPN의 경우, 고려사항 에 언급된 대로 VPN 서버를 프로비저닝할 때 IBM Cloud VPC 사설 DNS 서비스 주소를 지정해야 하며, 대상
161.26.0.0/16및 조치translate를 사용하여 VPN 서버가 프로비저닝된 후 VPN 라우트를 작성해야 합니다. - IBM Cloud VPC 서비스에 대한 사이트 간 VPN의 경우, VPN 안내서를 통해 서비스 엔드포인트에 액세스 에 따라 IBM Cloud VPC 개인용 DNS 서비스 주소를 구성하십시오.
- IBM Cloud VPC VPN 연결을 통해 VPC에 연결되어 있는지 확인하십시오.
-
클러스터에 대한
kubeconfig구성 파일을 다운로드하여kubeconfig의 기존~/.kube/config또는KUBECONFIG환경 변수의 마지막 파일에 추가하십시오.--endpoint vpe플래그는<CLUSTERID>.private.<REGION>.containers.cloud.ibm.com:XXXXXURL 가 kubeconfig 파일에 사용되도록 한다.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 규칙을 만들어 2차 보안 계층을 추가할 수 있습니다. CBR 규칙의 서브넷에서 시작된 클러스터 마스터에 대한 승인된 요청만 허용됩니다.
클러스터가 있는 VPC가 아닌 다른 VPC로부터의 요청을 허용하려면 해당 VPC의 클라우드 서비스 엔드포인트 IP 주소를 CBR 규칙에 포함해야 합니다.
예를 들어, 클러스터의 프라이빗 클라우드 서비스 엔드포인트에 액세스하려면 VPN 또는 IBM Cloud를 통해 IBM Cloud Direct Link 클래식 네트워크 또는 VPC 네트워크에 연결해야 합니다. CBR 규칙에 VPN 또는 Direct Link 터널에 대한 서브넷만 지정하면, 조직 내 승인된 사용자만이 해당 서브넷에서 프라이빗 클라우드 서비스 엔드포인트에 액세스할 수 있도록 할 수 있습니다.
공용 CBR 규칙(클러스터에 공용 서비스 엔드포인트가 있는 경우)은 권한이 취소된 후 사용자가 클러스터에 액세스하는 것을 방지하는 데 도움이 될 수도 있습니다. 사용자가 조직을 떠나면 해당 사용자에게 클러스터에 대한 액세스를 부여하는 IBM Cloud IAM 권한을 제거합니다. 그러나 사용자가 클러스터의 관리자 kubeconfig 파일을 복사하여 해당 클러스터에 대한 액세스 권한을 부여했을 수 있습니다.
조직이 소유하고 있는 알려진 공용 서브넷에서만 클러스터 마스터에 액세스할 수 있도록 허용하는 공용 CBR 규칙이 있는 경우 다른 공용 IP 주소에서 사용자가 액세스하려는 시도가 차단됩니다.
워커 노드 서브넷은 백엔드 CBR 구현에서 자동으로 추가 및 제거되므로(CBR 규칙/영역은 제외) 워커 노드는 항상 클러스터 마스터에 액세스할 수 있으며 사용자는 자신의 CBR 규칙에 이를 특별히 추가할 필요가 없습니다.
CBR 규칙으로 클러스터를 보호하는 방법에 대해 자세히 알아보려면 컨텍스트 기반 제한으로 클러스터 리소스 보호하기 및 컨텍스트 기반 제한 시나리오 예시를 참조하세요
다른 VPC 및 계정에 추가 가상 사설 엔드포인트 게이트웨이 만들기
해당 VPC의 클러스터를 위해 만든 VPE 게이트웨이 외에도 해당 클러스터에 대한 추가 VPE 게이트웨이를 만들어 다른 VPC, 리전 및 계정에서 사설 네트워크를 통해 액세스할 수 있도록 허용할 수 있습니다.
-
추가 VPE 게이트웨이는 CLI 또는 API를 사용하여 만들어야 합니다. 생성 후에는 웹 UI에서 관리할 수 있습니다.
-
교차 계정 VPE 게이트웨이의 경우 먼저 대상 계정에서 인증을 만들어야 합니다. 자세한 내용은 콘솔에서 교차 계정 VPE에 대한 서비스 권한 만들기를 참조하세요.
-
환승 게이트웨이나 특별한 라우팅이 필요하지 않습니다. VPE 게이트웨이는 대상 클러스터로의 라우팅을 처리합니다.
다음 단계에서는 교차 계정 VPE 게이트웨이를 만드는 방법을 설명합니다.
-
대상 클러스터에서 필요한 정보를 가져옵니다.
-
ibmcloud target을 대상 계정, 지역 및 리소스 그룹으로 설정합니다. -
기존 VPE 게이트웨이 정보를 가져옵니다.
ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID ``` 1. **타겟 CRN** (형식: `crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::`)을 참고하세요. 1. **서비스 엔드포인트** 호스트 이름에 유의하세요. -
-
소스 계정에서 새 VPE 게이트웨이를 만듭니다.
-
ibmcloud target을 소스 계정, 지역 및 리소스 그룹으로 설정합니다. -
이 계정에 VPC가 있는지 확인합니다.
ibmcloud is vpcs ``` 1. VPE 게이트웨이를 생성합니다. ```sh {: pre} ibmcloud is endpoint-gateway-create --vpc SOURCE_VPC_NAME --target TARGET_CRN --name new-iks-TARGET_CLUSTER_ID --resource-group-name SOURCE_ACCOUNT_RESOURCE_GROUP ``` `SOURCE_VPC_NAME` : 이전 단계의 VPC 이름입니다. `TARGET_CRN` : 대상 클러스터의 VPE 게이트웨이의 CRN입니다. `--name` : VPE 게이트웨이의 이름입니다. `SOURCE_ACCOUNT_RESOURCE_GROUP` : 소스 계정의 리소스 그룹 이름입니다. 1. `Could not find service` 오류가 발생하면 대상 CRN이 올바른지 확인하십시오. 올바른 경우 대상 계정에서 인증을 생성해야 합니다. [콘솔에서 ‘계정 간 VPE에 대한 서비스 권한 생성’을](/docs/vpc?topic=vpc-ordering-cross-account-endpoint-gateway&interface=ui#cross-account-vpe-prerequisite-console) 참조하십시오. -
-
VPE 게이트웨이에 예약 IP를 추가하세요.
예약된 IP 주소를 하나 이상 추가해야 합니다. 예약 IP는 소스 VPC 서브넷에서 제공되며(영역당 최대 하나) 소스 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 ``` 1. 선택 사항입니다: 보안 그룹을 추가하거나 수정합니다. 기본적으로 소스 VPC의 기본 보안 그룹만 연결됩니다. VPE 게이트웨이의 경우 보안 그룹은 인그레스 트래픽만 보호합니다. 보안 그룹이 클라이언트로부터 들어오는 모든 필수 트래픽을 허용하는지 확인하세요. -
연결을 테스트하십시오.
-
소스 VPC의 VSI에서 원래 VPE 게이트웨이와 동일한 호스트 이름을 사용합니다. 서비스 엔드포인트 목록 또는
ibmcloud ks cluster get -c CLUSTER_NAME의 VPE 게이트웨이 속성에서 찾을 수 있습니다. -
연결이 제대로 작동하는지 확인합니다.
curl -k https://CLUSTERID...:XXXXX/version ``` 1. 연결에 실패하면 다음을 확인하세요: * VSI 및 VPE 게이트웨이의 보안 그룹은 필요한 트래픽을 허용합니다 * VPC ACL은 트래픽을 허용합니다 * 대상 클러스터의 컨텍스트 기반 제한(CBR) 규칙을 통해 소스 VPC에서 발생하는 사설 트래픽을 허용합니다(소스 VPC의 세 개 `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 -
세 번째 영역에 예약 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