Red Hat OpenShift 클러스터에 액세스
Red Hat® OpenShift® on IBM Cloud® 클러스터가 작성되고 나면 클러스터에 액세스하여 클러스터에 대한 작업을 시작할 수 있습니다.
전제조건
- 필수 CLI 도구를 설치하십시오. 클러스터의 기능을 테스트하기 위해 빠르게 액세스하려면 IBM Cloud Shell도 사용할 수 있습니다.
- Red Hat OpenShift 클러스터를 작성하십시오.
- 네트워크가 회사 방화벽으로 보호되는 경우에는 IBM Cloud 및 Red Hat OpenShift on IBM Cloud API 엔드포인트와 포트에 대한 액세스를 허용하십시오. 프라이빗 클라우드 서비스 엔드포인트만 사용으로 설정된 VPC 클러스터의 경우 클라우드 서비스 엔드포인트 서브넷에 대한 VPC VPN을 구성할 때까지 클러스터에 대한 연결을 테스트할 수 없습니다.
ibmcloud oc cluster get -c <cluster_name_or_ID>를 실행하여 클러스터가 정상 상태인지 확인하십시오. 클러스터가 양호한 상태가 아닌 경우 도움을 받으려면 클러스터 디버깅 안내서를 검토하십시오. 예를 들어, 클러스터가 방화벽 게이트웨이 어플라이언스로 보호되는 계정에서 프로비저닝되는 경우에는 방화벽 설정을 구성하여 적절한 포트 및 IP 주소로 발신 트래픽을 허용해야 합니다.- 클러스터의 서비스 엔드포인트를 찾으십시오.
- 클래식 또는 VPC 클러스터: 이전 단계의 클러스터 세부사항 출력에서 클러스터의 공용 또는 개인 서비스 엔드포인트 URL을 확인하십시오.
- 공용 서비스 엔드포인트 URL만 있는 경우: 퍼블릭 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스를 진행하십시오.
- 두 서비스 URL이 모두 있는 경우: 공용 또는 개인 서비스 엔드포인트를 통해 클러스터에 액세스할 수 있습니다.
- IBM Cloud Satellite 클러스터: Satellite의 클러스터에 액세스를 진행하십시오.
- 클래식 또는 VPC 클러스터: 이전 단계의 클러스터 세부사항 출력에서 클러스터의 공용 또는 개인 서비스 엔드포인트 URL을 확인하십시오.
- 계정의 사용자가 TOTP와 같은 다단계 인증(MFA)을 사용하는 경우 계정 수준에서 모든 사용자에 대해 이 기능을 사용하도록 설정해야 합니다. MFA를 사용하려면 인증 오류를 방지하기 위해 계정 수준에서 사용하도록 설정해야 합니다.
퍼블릭 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스
퍼블릭 클라우드 서비스 엔드포인트가 있는 Red Hat OpenShift 클러스터의 경우 콘솔 또는 CLI에서 클러스터에 로그인할 수 있습니다.
콘솔에서 클러스터에 연결
콘솔에서 Red Hat OpenShift on IBM Cloud 클러스터에 빠르게 액세스할 수 있습니다.
- 콘솔에서 액세스하려는 클러스터를 클릭합니다.
- Red Hat OpenShift 웹 콘솔을 클릭하십시오.
- 명령행에서 작업을 계속하려면 프로파일 이름(예:
IAM#name@email.com)을 클릭한 후 로그인 명령 복사를 클릭하십시오. 클러스터 버전에 따라 다음과 같이 명령행에서 클러스터에 로그인하십시오.- 버전 4: 토큰 표시를 클릭하고
oc login명령을 복사한 후 명령을 명령행에 붙여넣으십시오.
- 버전 4: 토큰 표시를 클릭하고
보안을 위해 브라우저를 닫기 전에 먼저 IBM Cloud 콘솔에서 로그아웃한 후 Red Hat OpenShift 웹 콘솔에서 로그아웃하십시오. Red Hat OpenShift 웹 콘솔에서 로그아웃하려면 지정된 순서로 두 단계를 모두 완료해야 합니다.
- 다음에 수행할 작업
- 콘솔을 통해 앱 배치를 시도해 보십시오.
CLI에서 클러스터에 연결
일반적으로 Red Hat OpenShift 웹 콘솔을 사용하여 클러스터에 액세스하기 위한 oc login 토큰을 가져올 수 있습니다. Red Hat OpenShift 콘솔을 열 수 없거나 열지 않으려면 다음 옵션 중에서 선택하여 CLI를 통해 Red Hat OpenShift on IBM Cloud 클러스터에 로그인하십시오.
다음 옵션 중에서 선택하십시오.
- admin으로 로그인하십시오.
- 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
- 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin
- API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
- IBM Cloud 패스코드로 로그인:
- 다음 명령의 출력에서 클러스터의 마스터 URL을 가져오십시오.
ibmcloud oc cluster get -c <cluster_name_or_ID> - 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
https://iam.cloud.ibm.com/identity/passcode - IBM ID로 로그인하고 패스코드를 복사하십시오.
- 패스코드로 클러스터에 로그인하십시오.
oc login -u passcode -p <iam_passcode> --server=<master_URL>
- 다음 명령의 출력에서 클러스터의 마스터 URL을 가져오십시오.
프라이빗 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스
권한 부여된 클러스터 사용자가 프라이빗 클라우드 서비스 엔드포인트를 통해 VPC 또는 클래식 클러스터에 액세스할 수 있게 합니다.
로컬 머신에서 클러스터에 연결하도록 VPN을 설정하시겠습니까? Wireguard VPN을 사용하여 사설 클라우드에 액세스를 확인하십시오.
프라이빗 클라우드 서비스 엔드포인트를 통해 VPC 클러스터에 액세스
모든 VPC 클러스터에는 권한이 있는 사용자가 액세스할 수 있는 비공개 서비스 엔드포인트가 있습니다. 비공개 네트워크에서만 사용할 수 있으므로 사용자는 다음 방법 중 하나를 통해 액세스해야 합니다:
-
캘리포니아-몬, 인-체, 인-멈 이외의 지역의 경우, VPC 클러스터의 프라이빗 서비스 엔드포인트는 IBM Cloud 또는 VPN(또는 이와 유사한)을 사용하여 IBM Cloud 에 접속하는 클라이언트에서 액세스할 수 있습니다.
다음 옵션 중 하나를 사용하여 VPN을 통해 IBM Cloud 에 연결할 수 있습니다:
- 클라이언트-사이트 간 VPN
- 클러스터 액세스를 위한 가장 일반적인 옵션이며 설정이 매우 간단합니다. 구성 팁은 가상 사설 엔드포인트 게이트웨이를 통해 VPC 클러스터에 액세스하기를 참조하세요.
- 사이트 대 사이트 VPN
- 설정이 더 복잡하지만 유용할 수 있는 추가 기능이 있습니다.
이러한 클러스터는 프라이빗 서비스 엔드포인트 URL 를 통해
c<XXX>.private.<REGION>.containers.cloud.ibm.com:XXXXX처럼 보이는 클러스터에 액세스할 수 있습니다. 이 명령어를 사용하여 이 프라이빗 엔드포인트를 사용하는 kubeconfig 파일을 가져옵니다:그런 다음 아래 표시된 여러 옵션 중 하나를 사용하여 클러스터에 로그인할 수 있습니다. 연결이 완료되면 다음과 같은 방법을 사용하여 연결을 확인할 수 있습니다
ibmcloud oc get nodes-
admin으로 로그인하십시오.
- 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
- 관리자용 kubeconfig를 다운로드합니다.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint private
-
API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
-
IBM Cloud 패스코드로 로그인:
- 다음 명령의 출력에서 클러스터의 개인 서비스 엔드포인트 URL을 가져오십시오.
ibmcloud oc cluster get -c <cluster_name_or_ID> - 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
https://iam.cloud.ibm.com/identity/passcode - IBM ID로 로그인하고 패스코드를 복사하십시오.
- 패스코드로 클러스터에 로그인하십시오.
oc login -u passcode -p <iam_passcode> --server=<private_service_endpoint_URL>
- 다음 명령의 출력에서 클러스터의 개인 서비스 엔드포인트 URL을 가져오십시오.
-
모든 지역의 모든 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를 통해 사설 네트워크에 연결되어 있는 경우 프라이빗 클라우드 서비스 엔드포인트를
통해 Red Hat OpenShift 마스터에 액세스할 수 있습니다. 하지만 프라이빗 클라우드 서비스 엔드포인트를 통한 Kubernetes 마스터와의 통신은 클래식 VPN 연결 또는 IBM Cloud Direct Link를 통해 라우팅할 수 없는 166.X.X.X IP 주소 범위를 통해 수행되어야 합니다. 클러스터 사용자를 위해 사설 네트워크 로드 밸런서(NLB)를 사용하여 프라이빗 클라우드 서비스
엔드포인트를 노출할 수 있습니다. 사설 NLB는 사용자가 VPN 또는 IBM Cloud Direct Link 연결을 통해 액세스할 수 있는 내부 10.X.X.X IP 주소 범위로 마스터의 프라이빗 클라우드 서비스 엔드포인트를 노출합니다. 프라이빗 클라우드 서비스 엔드포인트만 사용으로 설정한 경우 Red Hat OpenShift 웹 콘솔을 사용하여 사설 NLB를 작성할 수 있습니다.
-
클러스터에 대한 프라이빗 클라우드 서비스 엔드포인트 URL 및 포트를 가져오십시오.
ibmcloud oc cluster get -c <cluster_name_or_ID>이 예제 출력에서 Private Service Endpoint URL은
https://c1.private.us-east.containers.cloud.ibm.com:31144입니다.NAME: setest ID: b8dcc56743394fd19c9f3db7b990e5e3 State: normal Status: healthy cluster Created: 2019-04-25T16:03:34+0000 Location: wdc04 Pod Subnet: 172.30.0.0/16 Service Subnet: 172.21.0.0/16 Master URL: https://c1-e.us-east.containers.cloud.ibm.com:31144 Public Service Endpoint URL: https://c1-e.us-east.containers.cloud.ibm.com:31144 Private Service Endpoint URL: https://c1.private.us-east.containers.cloud.ibm.com:31144 Master Location: Washington D.C. ... -
oc-api-via-nlb.yaml이라는 YAML 파일을 작성하십시오. 이 YAML은 사설LoadBalancer서비스를 작성하고 이 NLB를 통해 프라이빗 클라우드 서비스 엔드포인트를 노출합니다.<private_service_endpoint_port>를 이전 단계에서 찾은 포트로 대체하십시오.apiVersion: v1 kind: Service metadata: name: oc-api-via-nlb annotations: service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: private namespace: default spec: type: LoadBalancer ports: - protocol: TCP port: <private_service_endpoint_port> targetPort: <private_service_endpoint_port> --- kind: Endpoints apiVersion: v1 metadata: name: oc-api-via-nlb namespace: default subsets: - addresses: - ip: 172.20.0.1 ports: - port: 2040 -
사설 NLB 및 엔드포인트를 작성하려면 다음을 수행하십시오.
- 이전에 작성한 구성 파일을 적용하십시오.
oc apply -f oc-api-via-nlb.yaml oc-api-via-nlbNLB가 작성되었는지 확인하십시오. 출력에서10.x.x.xEXTERNAL-IP 주소를 기록해 두십시오. 이 IP 주소는 클러스터 마스터의 프라이빗 클라우드 서비스 엔드포인트를 YAML 파일에 지정된 포트에서 노출합니다.
이 출력 예에서 마스터의 프라이빗 클라우드 서비스 엔드포인트에 대한 IP 주소는oc get svc -o wide10.186.92.42입니다.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR oc-api-via-nlb LoadBalancer 172.21.150.118 10.186.92.42 443:32235/TCP 10m <none> ...
- 이전에 작성한 구성 파일을 적용하십시오.
-
본인 또는 사용자가
oc명령을 실행하는 클라이언트 시스템에서/etc/hosts파일에 NLB IP 주소와 프라이빗 클라우드 서비스 엔드포인트 URL을 추가하십시오. 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 연결을 통해 사설 네트워크에 연결했는지 확인하십시오.
-
다음 옵션 중 하나를 선택하여 클러스터에 로그인하십시오.
- admin으로 로그인하십시오.
- 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
- 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint private
- API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
- IBM Cloud 패스코드로 로그인:
- 다음 명령의 출력에서 클러스터의 개인 서비스 엔드포인트 URL을 가져오십시오.
ibmcloud oc cluster get -c <cluster_name_or_ID> - 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
https://iam.cloud.ibm.com/identity/passcode - IBM ID로 로그인하고 패스코드를 복사하십시오.
- 패스코드로 클러스터에 로그인하십시오.
oc login -u passcode -p <iam_passcode> --server=<private_service_endpoint_URL>
- 다음 명령의 출력에서 클러스터의 개인 서비스 엔드포인트 URL을 가져오십시오.
- admin으로 로그인하십시오.
-
버전을 확인하여
oc명령이 프라이빗 클라우드 서비스 엔드포인트를 통해 클러스터에서 올바르게 실행되는지 확인하십시오.oc version출력 예
Client Version: 4.5.0-0.okd-2020-09-04-180756 Server Version: 4.5.35 Kubernetes Version: v1.18.3+cdb0358
Red Hat OpenShift에 있는 Satellite 클러스터에 액세스
Red Hat OpenShift 클러스터를 Satellite 위치에 작성하고 나면 클러스터에 액세스하여 클러스터에 대한 작업을 시작할 수 있습니다.
클러스터에 액세스하여 oc get nodes 또는 oc describe node <worker_node> 명령을 실행하면 작업자 노드에 master,worker 역할이 할당된 것을 볼 수 있습니다. OpenShift Container Platform 클러스터에서, 운영자는 OCP가 운영자에 의해 제어되는 기본 컴포넌트(예: 내부 레지스트리)를 클러스터에
배치할 수 있도록 마스터 역할을 nodeSelector로 사용합니다. 클러스터에 지정한 Satellite 호스트는 작업자 노드로만 작동하며 API 서버 또는 Kubernetes 스케줄러와 같은 마스터 노드 프로세스가 작업자 노드에서 실행되지 않습니다.
클러스터 서비스 URL을 통해 클러스터에 액세스
서비스 URL을 통해 클러스터에 연결합니다. 이 URL은 Satellite 위치 하위 도메인 및 노드 포트 중 하나이며, 형식 예는 https://p1iuql40jam23qiuxt833-q9err0fiffbsar61e78vv6e7ds8ne1tx-ce00.us-east.satellite.appdomain.cloud:30710입니다.
위치 호스트에 사설 네트워크 연결만 있거나 Amazon Web Services, Google Cloud Platform, Microsoft Azure 호스트를 사용하는 경우, 예를 들어, VPN 액세스를 통해 호스트의 사설 네트워크에 연결되어야 있어야 클러스터에 연결하고 Red Hat OpenShift 웹 콘솔에 액세스할 수 있습니다. 또는 호스트에 공용 네트워크 연결이 있는 경우 호스트의 공인 IP 주소를 사용하기 위해 클러스터의 DNS 레코드와 위치의 DNS 레코드를 변경하여 클러스터에 대한 액세스를 테스트할 수 있습니다.
콘솔에서 Red Hat OpenShift on IBM Cloud 클러스터에 빠르게 액세스할 수 있습니다.
- 콘솔에서 액세스하려는 클러스터를 클릭합니다.
- Red Hat OpenShift 웹 콘솔을 클릭하십시오.
IAM#name@email.com과 같은 프로파일 이름을 클릭한 후 로그인 명령 복사를 클릭하십시오.- 토큰 표시를 클릭하고
oc login명령을 복사하십시오. - 명령을 명령행에 붙여넣으십시오.
보안을 위해 브라우저를 닫기 전에 먼저 IBM Cloud 콘솔에서 로그아웃한 후 Red Hat OpenShift 웹 콘솔에서 로그아웃하십시오. Red Hat OpenShift 웹 콘솔에서 로그아웃하려면 지정된 순서로 두 단계를 모두 완료해야 합니다.
Red Hat OpenShift 콘솔을 열 수 없거나 열지 않으려면 다음 옵션 중에서 선택하여 CLI를 통해 Red Hat OpenShift on IBM Cloud 클러스터에 로그인하십시오.
- admin으로 로그인하십시오.
- 클러스터에 관리자 IAM 플랫폼 액세스 역할이 있는지 확인하십시오.
- 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오. 자세한 정보는 CLI 문서를 참조하십시오.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin
- API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
IBM Cloud 사설 네트워크 내에서 클러스터에 액세스
IBM Cloud 사설 네트워크에 연결된 경우, 클러스터에 대해 자동으로 생성되는 Satellite 링크 엔드포인트를 사용할 수 있습니다. 이 엔드포인트를 사용하면 보안 링크 터널 서버를 통해 위치 제어 플레인의 클러스터 마스터에 연결할 수 있습니다. 엔드포인트는 Link 터널 서버 호스트 이름 및 c-02.<region>.link.satellite.cloud.ibm.com:<port>와
같은 형식의 노드 포트로 구성됩니다.
클러스터에 Satellite 링크 엔드포인트를 사용하여 연결하려면(예: --endpoint link CLI에서), 위치에 소스를 설정하는 단계를 따라야 합니다. 이 소스를 사용하면 링크 엔드포인트를 통해 클러스터 API에 액세스할 수 있습니다. 자세한 내용은 API Satellite 링크 엔드포인트 Red Hat OpenShift 액세스 방법을 참조하십시오.
- 클러스터에 관리자 IAM 플랫폼 액세스 역할이 있는지 확인하십시오.
- 링크 엔드포인트를 사용하여 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오. 자세한 정보는 CLI 문서를 참조하십시오.
ibmcloud oc cluster config -c <cluster_name_or_ID> --endpoint link --admin
공용 네트워크에서 클러스터에 액세스
호스트에 공용 네트워크 연결이 있고 호스트의 사설 네트워크에 연결되지 않은 상태에서 로컬 시스템에서 클러스터에 액세스하려는 경우, 선택적으로 클러스터의 하위 도메인 및 위치의 DNS 레코드를 업데이트하여 호스트의 공인 IP 주소를 사용할 수 있습니다.
대부분의 위치 설정의 경우, 클라우드 제공자의 사설 네트워크에 연결되어 있는 경우에만 클러스터에 액세스할 수 있도록 호스트의 사설 IP 주소가 위치의 DNS 레코드에 등록됩니다.
예를 들어, Amazon Web Services, Google Cloud Platform 또는 Microsoft Azure 호스트를 사용하거나 호스트의 기본 네트워크 인터페이스가 개인용인 경우 사용자 위치의 DNS 레코드에는 사설 네트워크에서만 액세스할 수 있습니다.
클러스터에 대해 kubectl 또는 oc 명령을 실행하거나 Red Hat OpenShift 웹 콘솔에 액세스하려면 예를 들어, VPN 액세스를 통해 호스트의 사설 네트워크에 연결되어 있어야 합니다. 하지만 로컬 시스템에서 클러스터에 대한 액세스를 테스트하는 등 공용 네트워크에서 클러스터에 액세스하려는 경우, 사용자 위치 및 클러스터 하위 도메인에 대한 DNS 레코드를 변경하여 호스트의
공인 IP를 대신 사용할 수 있습니다.
사용자 위치 및 클러스터 하위 도메인을 호스트의 사설 네트워크 외부에서 권한 부여된 클러스터 사용자가 사용할 수 있도록 설정하는 작업은 프로덕션 레벨 워크로드에서 권장되지 않습니다.
- 위치 하위 도메인을 검토하고 하위 도메인에 대해 DNS에 등록된 호스트의 사설 IP 주소에 대한 레코드를 확인하십시오.
ibmcloud sat location dns ls --location <location_name_or_ID> - 호스트의 일치하는 공인 IP 주소를 검색하십시오.
ibmcloud sat host ls --location <location_name_or_ID> - 위치 하위 도메인 DNS 레코드를 제어 플레인에 있는 각 호스트의 공인 IP 주소로 업데이트하십시오.
ibmcloud sat location dns register --location <location_name_or_ID> --ip <host_IP> --ip <host_IP> --ip <host_IP> - 공인 IP 주소가 위치 DNS 레코드에 등록되어 있는지 확인하십시오.
ibmcloud sat location dns ls --location <location_name_or_ID> - 클러스터의 호스트 이름을
<service_name>-<project>.<cluster_name>-<random_hash>-0000.upi.containers.appdomain.cloud형식으로 가져오고 자동으로 등록된 개인 IP를 기록해 두십시오.ibmcloud oc nlb-dns ls --cluster <cluster_name_or_ID> - 클러스터의 하위 도메인에 이 클러스터에 작업자 노드로 지정된 호스트의 공인 IP 주소를 추가하십시오. 각 호스트의 공인 IP 주소에 대해 이 명령을 반복하십시오.
ibmcloud oc nlb-dns add --ip <public_IP> --cluster <cluster_name_or_ID> --nlb-host <hostname> - 클러스터의 하위 도메인에서 사설 IP 주소를 제거하십시오. 이전에 검색한 모든 사설 IP 주소에 대해 이 명령을 반복하십시오.
ibmcloud oc nlb-dns rm classic --ip <private_IP> --cluster <cluster_name_or_ID> --nlb-host <hostname> - 공인 IP 주소가 클러스터 하위 도메인으로 등록되었는지 확인하십시오.
ibmcloud oc nlb-dns ls --cluster <cluster_name_or_ID>
가상 사설 엔드포인트 게이트웨이를 통해 VPC 클러스터에 액세스
가상 사설 엔드포인트 게이트웨이 는 VPC 클러스터에 대해 자동으로 작성됩니다. 클러스터가 배포된 동일한 VPC에 VPN IBM Cloud VPC 등을 통해 연결된 권한 부여된 클러스터 사용자는 이 가상 사설 엔드포인트 게이트웨이를 통해 Kubernetes 마스터에 접근할
수 있습니다. 이 경우, 는 가상 사설 엔드포인트 kubeconfig (VPE)로 구성됩니다 URL. VPE는 사설 DNS 이름이며, 사설 IBM Cloud VPC DNS 서비스에 의해서만 확인될 수 있습니다. 개인 DNS 서버 IBM Cloud VPC 주소는 와 161.26.0.7 입니다 161.26.0.8.
버전 실행 4.13클러스터의 경우: 클러스터 생성 시 프라이빗 클라우드 서비스 엔드포인트만 활성화한 경우, 웹 콘솔이나 와 Red Hat OpenShift 같은 구성 요소에 Red Hat OpenShift 액세스할 때 기본적으로 OperatorHub VPC의 가상 프라이빗 엔드포인트가 사용됩니다. 클러스터에서 이 컴포넌트에 액세스하거나 kubectl 명령을 실행하려면 VPN 연결 등을 통해 사설 VPC 네트워크에 연결되어 있어야 합니다. VPE를 통해 콘솔에 액세스하려면 공용 연결이 필요한 cloud.ibm.com 에 액세스할 수 있어야 합니다.
-
IBM Cloud VPC VPN을 설정하고 VPN을 통해 VPC에 연결하십시오.
- VPC에 대한 클라이언트 대 사이트 또는 사이트 대 사이트 VPN을 구성하십시오. 예를 들어, VPN 클라이언트와의 클라이언트 대 사이트 연결을 설정하도록 선택할 수 있습니다.
- 클라이언트 대 사이트 VPN 설정의 경우 고려사항 에 언급된 대로 VPN 서버를 프로비저닝할 때 IBM Cloud VPC 사설 DNS 서비스 주소를 지정해야 합니다. 또한 대상
161.26.0.0/16및 조치translate를 사용하여 VPN 서버가 프로비저닝된 후에 VPN 라우트를 작성해야 합니다. - 사이트 간 VPN 설정의 경우 VPN 안내서를 통해 서비스 엔드포인트에 액세스 를 수행하고 IBM Cloud VPC 개인용 DNS 서비스 주소를 구성해야 합니다.
- IBM Cloud VPC VPN 연결을 통해 VPC에 연결되어 있는지 확인합니다.
-
클러스터에 로그인하려면 다음 옵션 중에서 선택하십시오.
- admin으로 로그인하십시오.
- 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
- 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오.
ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint vpe
- API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
- IBM Cloud 패스코드로 로그인:
- VPE 주소 와 마스터 URL 다음 명령의 출력에서.
ibmcloud oc cluster get -c <cluster_name_or_ID> - 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
https://iam.cloud.ibm.com/identity/passcode - IBM ID로 로그인하고 패스코드를 복사하십시오.
- 패스코드로 클러스터에 로그인하십시오.
로그인 프로시저는 IBM에서 생성된 자체 서명 인증서이므로 알 수 없는 기관에서 서명한 인증서를 알립니다.oc login -u passcode -p <iam_passcode> --server=https://<VPE_URL>:<port_from_the_master_URL>
- VPE 주소 와 마스터 URL 다음 명령의 출력에서.
- admin으로 로그인하십시오.
-
버전을 확인하여
oc명령이 프라이빗 클라우드 서비스 엔드포인트를 통해 클러스터에서 올바르게 실행되는지 확인하십시오.oc version출력 예
Client Version: 4.5.0-0.okd-2020-09-04-180756 Server Version: 4.5.35 Kubernetes Version: v1.18.3+cdb0358
다른 VPC 및 계정에 추가 가상 사설 엔드포인트 게이트웨이 만들기
해당 VPC의 클러스터를 위해 만든 VPE 게이트웨이 외에도 해당 클러스터에 대한 추가 VPE 게이트웨이를 만들어 다른 VPC, 리전 및 계정에서 사설 네트워크를 통해 액세스할 수 있도록 허용할 수 있습니다.
-
추가 VPE 게이트웨이는 CLI 또는 API를 사용하여 만들어야 합니다. 생성 후에는 웹 UI에서 관리할 수 있습니다.
-
교차 계정 VPE 게이트웨이의 경우 먼저 대상 계정에서 인증을 만들어야 합니다. 자세한 내용은 콘솔에서 교차 계정 VPE에 대한 서비스 권한 만들기를 참조하세요.
-
환승 게이트웨이나 특별한 라우팅이 필요하지 않습니다. 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- 소스 계정의 리소스 그룹 이름입니다.
-
"서비스를 찾을 수 없음" 오류가 발생하면 Target CRN이 올바른지 확인하세요. 올바른 경우 대상 계정에서 인증을 생성해야 합니다. 콘솔에서 교차 계정 VPE에 대한 서비스 권한 만들기를 참조하세요.
-
-
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 -
선택 사항입니다: 보안 그룹을 추가하거나 수정합니다. 기본적으로 소스 VPC의 기본 보안 그룹만 연결됩니다. VPE 게이트웨이의 경우 보안 그룹은 인그레스 트래픽만 보호합니다. 보안 그룹이 클라이언트로부터 들어오는 모든 필수 트래픽을 허용하는지 확인하세요.
-
-
연결을 테스트하십시오.
-
소스 VPC의 VSI에서 원래 VPE 게이트웨이와 동일한 호스트 이름을 사용합니다. 서비스 엔드포인트 목록 또는
ibmcloud ks cluster get -c CLUSTER_NAME의 VPE 게이트웨이 속성에서 찾을 수 있습니다. -
연결이 제대로 작동하는지 확인합니다.
curl -k https://CLUSTERID...:XXXXX/version -
연결에 실패하면 다음을 확인하세요:
- VSI 및 VPE 게이트웨이의 보안 그룹은 필요한 트래픽을 허용합니다
- VPC ACL은 트래픽을 허용합니다
- 대상 클러스터의 컨텍스트 기반 제한(CBR) 규칙은 소스 VPC의 비공개 트래픽을 허용합니다(소스 VPC의 "클라우드 서비스 엔드포인트 소스 주소" 3개를 비공개 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
API 키를 사용하여 자동화 도구에서 클러스터에 액세스
Red Hat OpenShift on IBM Cloud는 IBM Cloud Identity and Access Management(IAM)와 통합됩니다. IAM에서는 IAM ID를 사용하여 사용자 및 서비스를 인증하고 액세스 역할 및 정책으로 조치를 승인할 수 있습니다. Red Hat OpenShift 콘솔을 통해 사용자로 인증하면 IAM ID를 사용하여 명령줄에 로그인하는 데 사용할 수 있는 Red Hat OpenShift 로그인
토큰을 생성합니다. oc login 명령에 사용할 IAM API 키 또는 서비스 ID를 작성하여 클러스터에 로그인을 자동화할 수 있습니다.
API 키를 사용하여 클러스터에 로그인
IBM Cloud IAM API 키를 만든 다음 API 키를 사용하여 Red Hat OpenShift 클러스터에 로그인할 수 있습니다. 개별적으로 로그인하는 대신 API 키를 사용하여 한 사용자 또는 공유 계정의 인증 정보를 사용하여 클러스터에 액세스할 수 있습니다. 서비스 ID에 대한 API 키를 작성할 수도 있습니다. 자세한 정보는 API 키 이해하기를 참조하십시오.
-
IBM Cloud API 키를 작성하십시오. 안전한 위치에 API 키를 저장하십시오. API 키를 다시 검색할 수 없습니다. 출력을 로컬 컴퓨터의 파일로 내보내려면
--file <path>/<file_name>옵션을 포함하세요.ibmcloud iam api-key-create <name> -
클러스터 RBAC 정책에 API 키 사용자를 추가하고 세션 컨텍스트를 클러스터 서버로 설정하도록 클러스터를 구성하십시오.
- API 키 인증 정보를 사용하여 IBM Cloud에 로그인하십시오.
ibmcloud login --apikey <API_key> - 클러스터에 대한
kubeconfig구성 파일을 다운로드하여kubeconfig의 기존~/.kube/config또는KUBECONFIG환경 변수의 마지막 파일에 추가하십시오. 참고: 프라이빗 클라우드 서비스 엔드포인트를 사용 설정하고 클러스터 컨텍스트에 사용하려는 경우--endpoint private옵션을 포함하세요. 프라이빗 클라우드 서비스 엔드포인트를 사용하여 클러스터에 연결하려면 IBM Cloud 사설 네트워크에 있거나 VPC VPN 연결, 클래식 VPN 연결(클래식 인프라의 경우) 또는 IBM Cloud Direct Link를 통해 사설 네트워크에 연결되어 있어야 합니다.ibmcloud oc cluster config -c <cluster_name_or_ID> [--endpoint private]
- API 키 인증 정보를 사용하여 IBM Cloud에 로그인하십시오.
-
IBM Cloud IAM API 키 자격 증명을 Red Hat OpenShift 액세스 토큰으로 교환합니다. CLI나 API를 사용하여 로그인할 수 있습니다. 자세한 정보는 Red Hat OpenShift 문서를 참조하십시오.
ocCLI를 사용하여 로그인:oc login명령을 사용하여 클러스터에 로그인하십시오. 사용자 이름(-u)은apikey이고 비밀번호(-p)는 사용자의 IBM Cloud IAM API 키 값입니다. 프라이빗 클라우드 서비스 엔드포인트를 사용하려면--server=<private_service_endpoint>옵션을 포함하세요.oc login -u apikey -p <API_key> [--server=<private_service_endpoint>]클러스터에 대해 직접 Red Hat OpenShift API 요청을 실행하여 로그인: API를 사용하여 클러스터에 로그인하십시오(예: curl 요청을 통해).
-
클러스터의 마스터 URL을 가져오십시오.
ibmcloud oc cluster get -c <cluster_name_or_ID>출력 예
NAME: mycluster ID: 1234567 State: normal Created: 2020-01-22T19:22:16+0000 Location: dal10 Master URL: https://c100-e.<region>.containers.cloud.ibm.com:<port> ... -
Red Hat OpenShift
oauth서버의 토큰 엔드포인트를 가져오십시오.curl <master_URL>/.well-known/oauth-authorization-server | jq -r .token_endpoint출력 예
<token_endpoint>/oauth/token: screen}
-
이전에 검색한 엔드포인트로 클러스터에 로그인하십시오.
<URL>을oauth서버의<token_endpoint>으로 바꿉니다.curl 요청 예:
curl -u 'apikey:<API_key>' -H "X-CSRF-Token: a" '<URL>/oauth/authorize?client_id=openshift-challenging-client&response_type=token' -vvv -
위치 응답에서 다음 예제에서와 같은
access_token을 찾으십시오.< HTTP/1.1 302 Found < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Expires: 0 < Expires: Fri, 01 Jan 1990 00:00:00 GMT < Location: <token_endpoint>/oauth/token/implicit#access_token=<access_token>&expires_in=86400&scope=user%3Afull&token_type=Bearer ... -
클러스터에 모든 팟(Pod) 나열 등의 목적으로, 클러스터 마스터 URL 및 액세스 토큰을 사용하여 Red Hat OpenShift API에 액세스하십시오. 자세한 정보는 Red Hat OpenShift API 문서를 참고하세요.
curl 요청 예:
curl -H "Authorization: Bearer <access_token>" '<master_URL>/api/v1/pods'
-
서비스 ID를 사용하여 클러스터에 로그인
IBM Cloud IAM 서비스 ID를 만들고, 서비스 ID에 대한 API 키를 만든 다음, API 키를 사용하여 Red Hat OpenShift 클러스터에 로그인할 수 있습니다. 다른 클러스터 또는 클라우드에서 호스팅되는 앱이 클러스터의 서비스에 액세스할 수 있도록 서비스 ID를 사용할 수 있습니다. 서비스 ID는 특정 사용자와 연결되어 있지 않기 때문에 개별 사용자가 계정에서 제거되면 앱을 인증할 수 있습니다. 자세한 정보는 서비스 ID 작성 및 관련 작업 수행을 참조하십시오.
-
IAM 정책과 API 키 인증 정보에 사용되는 클러스터의 IBM Cloud IAM 서비스 ID를 작성하십시오. 서비스 ID에 나중에 서비스 ID를 검색하는 데 도움이 되는 설명(예: 클러스터 이름 포함)을 제공하십시오.
ibmcloud iam service-id-create <cluster_name>-id --description "Service ID for Red Hat OpenShift on IBM Cloud cluster <cluster_name>"출력 예
NAME <cluster_name>-id Description Service ID for Red Hat OpenShift on IBM Cloud cluster <cluster_name> CRN crn:v1:bluemix:public:iam-identity::a/1aa111aa1a11111aaa1a1111aa1aa111::serviceid:ServiceId-bbb2b2b2-2bb2-2222-b222-b2b2b2222b22 Bound To crn:v1:bluemix:public:::a/1aa111aa1a11111aaa1a1111aa1aa111::: Version 1-c3c333333333ccccc33333c33cc3cc33 Locked false UUID ServiceId-bbb2b2b2-2bb2-2222-b222-b2b2b2222b22 -
IBM Cloud에 액세스 권한을 부여하는 클러스터 서비스 ID에 대한 사용자 정의 Red Hat OpenShift on IBM Cloud IAM 정책을 작성하십시오.
ibmcloud iam service-policy-create <cluster_service_ID> --service-name containers-kubernetes --roles <service_access_role> --service-instance <cluster_ID>이 명령의 구성요소 이해하기 매개변수 설명 <cluster_service_ID>필수. Red Hat OpenShift 클러스터에 대해 이전에 작성한 서비스 ID를 입력하십시오. --service-name containers-kubernetes필수. Red Hat OpenShift on IBM Cloud 클러스터에 대한 IAM 정책이 되도록 containers-kubernetes를 입력하십시오.--roles <service_access_role>필수. Red Hat OpenShift 클러스터에 대해 서비스 ID에 포함할 액세스 역할을 입력하십시오. 플랫폼 액세스 역할은 작업자 노드 작성과 같은 클러스터 관리 활동을 허용합니다. 예를 들어, 팟(Pod) 및 네임스페이스와 같은 Kubernetes 리소스에 대해 서비스 액세스 역할은 클러스터 내에서 Red Hat OpenShift 관리 활동을 허용하는 RBAC 역할에 해당합니다. 여러 역할의 경우 쉼표로 구분된 목록을 포함하십시오. 가능한 값은 Administrator,Operator,Editor,Viewer(플랫폼 액세스 역할)와Reader,Writer,Manager(서비스 액세스 역할)입니다.--service-instance <cluster_ID>정책을 특정 클러스터로 제한하려면 클러스터의 ID를 입력하십시오. 클러스터 ID를 가져오려면 ibmcloud oc clusters를 실행하십시오. 서비스 인스턴스를 포함하지 않으면 액세스 정책이 서비스 ID에 모든 클러스터, Kubernetes 및 Red Hat OpenShift에 대한 액세스 권한을 부여합니다. 또한 액세스 정책 범위를 지역(--region) 또는 리소스 그룹(--resource-group-name)으로 지정할 수 있습니다. -
서비스 ID에 대한 API 키를 작성하십시오. 서비스 ID와 유사한 API 키의 이름을 지정하고 이전에 작성한 서비스 ID(
<cluster_name>-id)를 포함시키십시오. 나중에 키를 검색하는 데 도움이 되는 설명을 API 키에 제공해야 합니다. 안전한 위치에 API 키를 저장하십시오. API 키를 다시 검색할 수 없습니다. 출력을 로컬 컴퓨터의 파일로 내보내려면--file <path>/<file_name>옵션을 포함하세요.ibmcloud iam service-api-key-create <cluster_name>-key <service_ID> --description "API key for service ID <service_ID> in Red Hat OpenShift cluster <cluster_name>"출력 예
Please preserve the API key! It can't be retrieved after it's created. Name <cluster_name>-key Description API key for service ID <service_ID> in Red Hat OpenShift cluster <cluster_name> Bound To crn:v1:bluemix:public:iam-identity::a/1bb222bb2b33333ddd3d3333ee4ee444::serviceid:ServiceId-ff55555f-5fff-6666-g6g6-777777h7h7hh Created At 2019-02-01T19:06+0000 API Key i-8i88ii8jjjj9jjj99kkkkkkkkk_k9-llllll11mmm1 Locked false UUID ApiKey-222nn2n2-o3o3-3o3o-4p44-oo444o44o4o4 -
클러스터 RBAC 정책에 서비스 ID 사용자를 추가하고 세션 컨텍스트를 클러스터 서버로 설정하도록 클러스터를 구성하십시오.
-
서비스 ID의 API 키 인증 정보를 사용하여 IBM Cloud에 로그인하십시오.
ibmcloud login --apikey <API_key> -
클러스터에 대한
kubeconfig구성 파일을 다운로드하여kubeconfig의 기존~/.kube/config또는KUBECONFIG환경 변수의 마지막 파일에 추가하십시오. 참고: 프라이빗 클라우드 서비스 엔드포인트를 사용 설정하고 클러스터 컨텍스트에 사용하려는 경우--endpoint private옵션을 포함하세요. 프라이빗 클라우드 서비스 엔드포인트를 사용하여 클러스터에 연결하려면 IBM Cloud 사설 네트워크에 있거나 VPC VPN 연결, 클래식 VPN 연결(클래식 인프라의 경우) 또는 IBM Cloud Direct Link를 통해 사설 네트워크에 연결되어 있어야 합니다.ibmcloud oc cluster config -c <cluster_name_or_ID> [--endpoint private]
-
-
서비스 ID의 API 키를 사용하여 Red Hat OpenShift 클러스터에 로그인하십시오. 사용자 이름(
-u)은apikey이며 비밀번호(-p)는 API 키 값입니다. 프라이빗 클라우드 서비스 엔드포인트를 사용하려면--server=<private_service_endpoint>옵션을 포함하세요.oc login -u apikey -p <API_key> [--server=<private_service_endpoint>] -
서비스 ID가 권한 부여된 조치를 수행할 수 있는지 확인하십시오.
예제:
Reader서비스 액세스 역할을 지정한 경우 서비스 ID는 Red Hat OpenShift 프로젝트의 팟(Pod)을 나열할 수 있습니다.oc get pods예제:
Manager서비스 액세스 역할을 지정한 경우 서비스 ID는 Red Hat OpenShift 클러스터의 사용자를 나열할 수 있습니다. IAM 서비스 ID의 ID는 Identities 출력에 있습니다. 기타 개별 사용자는 이메일 주소 및 IBM ID로 식별될 수 있습니다.oc get users출력 예
NAME UID FULL NAME IDENTITIES IAM# dd44ddddd-d4dd-44d4-4d44-4d44d444d444 IAM:iam-ServiceId-bbb2b2b2-2bb2-2222-b222-b2b2b2222b22 IAM#first.last@email.com 55555ee5-e555-55e5-e5e5-555555ee55ee IAM:IBMid-666666FFF6
컨텍스트 기반 제한을 사용하여 클러스터 보호하기
비공개 서비스 엔드포인트 허용 목록은 더 이상 지원되지 않습니다. 비공개 서비스 엔드포인트 허용 목록에서 컨텍스트 기반 제한으로 최대한 빨리 마이그레이션하세요. 구체적인 마이그레이션 단계는 비공개 서비스 엔드포인트 허용 목록에서 컨텍스트 기반 제한(CBR)으로 마이그레이션하기를 참조하세요.
컨텍스트 기반 제한(CBR) 규칙을 사용하여 공용 및 비공개 서비스 엔드포인트에 대한 액세스를 제어하세요.
IBM Cloud IAM을 통해 사용자에게 클러스터에 대한 액세스 권한을 부여한 후에는 클러스터의 공용 및 비공개 서비스 엔드포인트에 대한 CBR 규칙을 만들어 2차 보안 계층을 추가할 수 있습니다. CBR 규칙의 서브넷에서 시작된 클러스터 마스터에 대한 승인된 요청만 허용됩니다.
클러스터가 있는 VPC가 아닌 다른 VPC의 요청을 허용하려면 해당 VPC의 클라우드 서비스 엔드포인트 IP 주소를 CBR 규칙에 포함해야 합니다.
예를 들어, 클러스터의 프라이빗 클라우드 서비스 엔드포인트에 액세스하려면 VPN 또는 IBM Cloud를 통해 IBM Cloud Direct Link 클래식 네트워크 또는 VPC 네트워크에 연결해야 합니다. 조직의 권한이 있는 사용자만 해당 서브넷에서 프라이빗 클라우드 서비스 엔드포인트에 액세스할 수 있도록 VPN 또는 Direct Link 터널의 서브넷만 CBR 규칙에 지정할 수 있습니다.
공용 CBR 규칙(클러스터에 공용 서비스 엔드포인트가 있는 경우)은 권한이 취소된 후 사용자가 클러스터에 액세스하는 것을 방지하는 데 도움이 될 수도 있습니다. 사용자가 조직을 떠나면 해당 사용자에게 클러스터에 대한 액세스를 부여하는 IBM Cloud IAM 권한을 제거합니다. 그러나 사용자가 클러스터의 관리자 kubeconfig 파일을 복사하여 해당 클러스터에 대한 액세스 권한을 부여했을 수 있습니다.
조직이 소유하고 있는 알려진 공용 서브넷에서만 클러스터 마스터에 액세스할 수 있도록 허용하는 공용 CBR 규칙이 있는 경우 다른 공용 IP 주소에서 사용자가 액세스하려는 시도가 차단됩니다.
워커 노드 서브넷은 백엔드 CBR 구현에서 자동으로 추가 및 제거되므로(CBR 규칙/영역은 제외) 워커 노드는 항상 클러스터 마스터에 액세스할 수 있으며 사용자는 자신의 CBR 규칙에 이를 특별히 추가할 필요가 없습니다.
CBR 규칙으로 클러스터를 보호하는 방법에 대해 자세히 알아보려면 컨텍스트 기반 제한으로 클러스터 리소스 보호하기 및 컨텍스트 기반 제한 시나리오 예시를 참조하세요