Red Hat OpenShift 클러스터에 액세스

Red Hat® OpenShift® on IBM Cloud® 클러스터가 작성되고 나면 클러스터에 액세스하여 클러스터에 대한 작업을 시작할 수 있습니다.

전제조건

  1. 필수 CLI 도구를 설치하십시오. 클러스터의 기능을 테스트하기 위해 빠르게 액세스하려면 IBM Cloud Shell도 사용할 수 있습니다.
  2. Red Hat OpenShift 클러스터를 작성하십시오.
  3. 네트워크가 회사 방화벽으로 보호되는 경우에는 IBM Cloud 및 Red Hat OpenShift on IBM Cloud API 엔드포인트와 포트에 대한 액세스를 허용하십시오. 프라이빗 클라우드 서비스 엔드포인트만 사용으로 설정된 VPC 클러스터의 경우 클라우드 서비스 엔드포인트 서브넷에 대한 VPC VPN을 구성할 때까지 클러스터에 대한 연결을 테스트할 수 없습니다.
  4. ibmcloud oc cluster get -c <cluster_name_or_ID>를 실행하여 클러스터가 정상 상태인지 확인하십시오. 클러스터가 양호한 상태가 아닌 경우 도움을 받으려면 클러스터 디버깅 안내서를 검토하십시오. 예를 들어, 클러스터가 방화벽 게이트웨이 어플라이언스로 보호되는 계정에서 프로비저닝되는 경우에는 방화벽 설정을 구성하여 적절한 포트 및 IP 주소로 발신 트래픽을 허용해야 합니다.
  5. 클러스터의 서비스 엔드포인트를 찾으십시오.
  6. 계정의 사용자가 TOTP와 같은 다단계 인증(MFA)을 사용하는 경우 계정 수준에서 모든 사용자에 대해 이 기능을 사용하도록 설정해야 합니다. MFA를 사용하려면 인증 오류를 방지하기 위해 계정 수준에서 사용하도록 설정해야 합니다.

퍼블릭 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스

퍼블릭 클라우드 서비스 엔드포인트가 있는 Red Hat OpenShift 클러스터의 경우 콘솔 또는 CLI에서 클러스터에 로그인할 수 있습니다.

콘솔에서 클러스터에 연결

콘솔에서 Red Hat OpenShift on IBM Cloud 클러스터에 빠르게 액세스할 수 있습니다.

  1. 콘솔에서 액세스하려는 클러스터를 클릭합니다.
  2. Red Hat OpenShift 웹 콘솔을 클릭하십시오.
  3. 명령행에서 작업을 계속하려면 프로파일 이름(예: IAM#name@email.com)을 클릭한 후 로그인 명령 복사를 클릭하십시오. 클러스터 버전에 따라 다음과 같이 명령행에서 클러스터에 로그인하십시오.
    • 버전 4: 토큰 표시를 클릭하고 oc login 명령을 복사한 후 명령을 명령행에 붙여넣으십시오.

보안을 위해 브라우저를 닫기 전에 먼저 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으로 로그인하십시오.
    1. 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
    2. 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오.
      ibmcloud oc cluster config -c <cluster_name_or_ID> --admin
      
  • API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
  • IBM Cloud 패스코드로 로그인:
    1. 다음 명령의 출력에서 클러스터의 마스터 URL을 가져오십시오.
      ibmcloud oc cluster get -c <cluster_name_or_ID>
      
    2. 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
      https://iam.cloud.ibm.com/identity/passcode
      
    3. IBM ID로 로그인하고 패스코드를 복사하십시오.
    4. 패스코드로 클러스터에 로그인하십시오.
      oc login -u passcode -p <iam_passcode> --server=<master_URL>
      

프라이빗 클라우드 서비스 엔드포인트를 통해 클러스터에 액세스

권한 부여된 클러스터 사용자가 프라이빗 클라우드 서비스 엔드포인트를 통해 VPC 또는 클래식 클러스터에 액세스할 수 있게 합니다.

로컬 머신에서 클러스터에 연결하도록 VPN을 설정하시겠습니까? Wireguard VPN을 사용하여 사설 클라우드에 액세스를 확인하십시오.

프라이빗 클라우드 서비스 엔드포인트를 통해 VPC 클러스터에 액세스

모든 VPC 클러스터에는 권한이 있는 사용자가 액세스할 수 있는 비공개 서비스 엔드포인트가 있습니다. 비공개 네트워크에서만 사용할 수 있으므로 사용자는 다음 방법 중 하나를 통해 액세스해야 합니다:

  1. 캘리포니아-몬, 인-체, 인-멈 이외의 지역의 경우, 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으로 로그인하십시오.

      1. 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
      2. 관리자용 kubeconfig를 다운로드합니다.
        ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint private
        
    • API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.

    • IBM Cloud 패스코드로 로그인:

      1. 다음 명령의 출력에서 클러스터의 개인 서비스 엔드포인트 URL을 가져오십시오.
        ibmcloud oc cluster get -c <cluster_name_or_ID>
        
      2. 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
        https://iam.cloud.ibm.com/identity/passcode
        
      3. IBM ID로 로그인하고 패스코드를 복사하십시오.
      4. 패스코드로 클러스터에 로그인하십시오.
        oc login -u passcode -p <iam_passcode> --server=<private_service_endpoint_URL>
        
  2. 모든 지역의 모든 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를 작성할 수 있습니다.

  1. 퍼블릭 클라우드 서비스 엔드포인트를 사용하여 Red Hat OpenShift 클러스터에 로그인하십시오.

  2. 클러스터에 대한 프라이빗 클라우드 서비스 엔드포인트 URL 및 포트를 가져오십시오.

    ibmcloud oc cluster get -c <cluster_name_or_ID>
    

    이 예제 출력에서 Private Service Endpoint URLhttps://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.
    ...
    
  3. 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
    
    
    
  4. 사설 NLB 및 엔드포인트를 작성하려면 다음을 수행하십시오.

    1. 이전에 작성한 구성 파일을 적용하십시오.
      oc apply -f oc-api-via-nlb.yaml
      
    2. oc-api-via-nlb NLB가 작성되었는지 확인하십시오. 출력에서 10.x.x.x EXTERNAL-IP 주소를 기록해 두십시오. 이 IP 주소는 클러스터 마스터의 프라이빗 클라우드 서비스 엔드포인트를 YAML 파일에 지정된 포트에서 노출합니다.
      oc get svc -o wide
      
      이 출력 예에서 마스터의 프라이빗 클라우드 서비스 엔드포인트에 대한 IP 주소는 10.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>
      ...
      
  5. 본인 또는 사용자가 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
      
  6. VPN 또는 IBM Cloud Direct Link 연결을 통해 사설 네트워크에 연결했는지 확인하십시오.

  7. 다음 옵션 중 하나를 선택하여 클러스터에 로그인하십시오.

    • admin으로 로그인하십시오.
      1. 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
      2. 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오.
        ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint private
        
    • API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
    • IBM Cloud 패스코드로 로그인:
      1. 다음 명령의 출력에서 클러스터의 개인 서비스 엔드포인트 URL을 가져오십시오.
        ibmcloud oc cluster get -c <cluster_name_or_ID>
        
      2. 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
        https://iam.cloud.ibm.com/identity/passcode
        
      3. IBM ID로 로그인하고 패스코드를 복사하십시오.
      4. 패스코드로 클러스터에 로그인하십시오.
        oc login -u passcode -p <iam_passcode> --server=<private_service_endpoint_URL>
        
  8. 버전을 확인하여 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 클러스터에 빠르게 액세스할 수 있습니다.

  1. 콘솔에서 액세스하려는 클러스터를 클릭합니다.
  2. Red Hat OpenShift 웹 콘솔을 클릭하십시오.
  3. IAM#name@email.com과 같은 프로파일 이름을 클릭한 후 로그인 명령 복사를 클릭하십시오.
  4. 토큰 표시를 클릭하고 oc login 명령을 복사하십시오.
  5. 명령을 명령행에 붙여넣으십시오.

보안을 위해 브라우저를 닫기 전에 먼저 IBM Cloud 콘솔에서 로그아웃한 후 Red Hat OpenShift 웹 콘솔에서 로그아웃하십시오. Red Hat OpenShift 웹 콘솔에서 로그아웃하려면 지정된 순서로 두 단계를 모두 완료해야 합니다.

Red Hat OpenShift 콘솔을 열 수 없거나 열지 않으려면 다음 옵션 중에서 선택하여 CLI를 통해 Red Hat OpenShift on IBM Cloud 클러스터에 로그인하십시오.

공용 네트워크에서 클러스터에 액세스

호스트에 공용 네트워크 연결이 있고 호스트의 사설 네트워크에 연결되지 않은 상태에서 로컬 시스템에서 클러스터에 액세스하려는 경우, 선택적으로 클러스터의 하위 도메인 및 위치의 DNS 레코드를 업데이트하여 호스트의 공인 IP 주소를 사용할 수 있습니다.

대부분의 위치 설정의 경우, 클라우드 제공자의 사설 네트워크에 연결되어 있는 경우에만 클러스터에 액세스할 수 있도록 호스트의 사설 IP 주소가 위치의 DNS 레코드에 등록됩니다.

예를 들어, Amazon Web Services, Google Cloud Platform 또는 Microsoft Azure 호스트를 사용하거나 호스트의 기본 네트워크 인터페이스가 개인용인 경우 사용자 위치의 DNS 레코드에는 사설 네트워크에서만 액세스할 수 있습니다.

클러스터에 대해 kubectl 또는 oc 명령을 실행하거나 Red Hat OpenShift 웹 콘솔에 액세스하려면 예를 들어, VPN 액세스를 통해 호스트의 사설 네트워크에 연결되어 있어야 합니다. 하지만 로컬 시스템에서 클러스터에 대한 액세스를 테스트하는 등 공용 네트워크에서 클러스터에 액세스하려는 경우, 사용자 위치 및 클러스터 하위 도메인에 대한 DNS 레코드를 변경하여 호스트의 공인 IP를 대신 사용할 수 있습니다.

사용자 위치 및 클러스터 하위 도메인을 호스트의 사설 네트워크 외부에서 권한 부여된 클러스터 사용자가 사용할 수 있도록 설정하는 작업은 프로덕션 레벨 워크로드에서 권장되지 않습니다.

  1. 위치 하위 도메인을 검토하고 하위 도메인에 대해 DNS에 등록된 호스트의 사설 IP 주소에 대한 레코드를 확인하십시오.
    ibmcloud sat location dns ls --location <location_name_or_ID>
    
  2. 호스트의 일치하는 공인 IP 주소를 검색하십시오.
    ibmcloud sat host ls --location <location_name_or_ID>
    
  3. 위치 하위 도메인 DNS 레코드를 제어 플레인에 있는 각 호스트의 공인 IP 주소로 업데이트하십시오.
    ibmcloud sat location dns register --location <location_name_or_ID> --ip <host_IP> --ip <host_IP> --ip <host_IP>
    
  4. 공인 IP 주소가 위치 DNS 레코드에 등록되어 있는지 확인하십시오.
    ibmcloud sat location dns ls --location <location_name_or_ID>
    
  5. 클러스터의 호스트 이름<service_name>-<project>.<cluster_name>-<random_hash>-0000.upi.containers.appdomain.cloud 형식으로 가져오고 자동으로 등록된 개인 IP를 기록해 두십시오.
    ibmcloud oc nlb-dns ls --cluster <cluster_name_or_ID>
    
  6. 클러스터의 하위 도메인에 이 클러스터에 작업자 노드로 지정된 호스트의 공인 IP 주소를 추가하십시오. 각 호스트의 공인 IP 주소에 대해 이 명령을 반복하십시오.
    ibmcloud oc nlb-dns add --ip <public_IP> --cluster <cluster_name_or_ID> --nlb-host <hostname>
    
  7. 클러스터의 하위 도메인에서 사설 IP 주소를 제거하십시오. 이전에 검색한 모든 사설 IP 주소에 대해 이 명령을 반복하십시오.
    ibmcloud oc nlb-dns rm classic --ip <private_IP> --cluster <cluster_name_or_ID> --nlb-host <hostname>
    
  8. 공인 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 에 액세스할 수 있어야 합니다.

  1. IBM Cloud VPC VPN을 설정하고 VPN을 통해 VPC에 연결하십시오.

    1. VPC에 대한 클라이언트 대 사이트 또는 사이트 대 사이트 VPN을 구성하십시오. 예를 들어, VPN 클라이언트와의 클라이언트 대 사이트 연결을 설정하도록 선택할 수 있습니다.
    2. 클라이언트 대 사이트 VPN 설정의 경우 고려사항 에 언급된 대로 VPN 서버를 프로비저닝할 때 IBM Cloud VPC 사설 DNS 서비스 주소를 지정해야 합니다. 또한 대상 161.26.0.0/16 및 조치 translate 를 사용하여 VPN 서버가 프로비저닝된 후에 VPN 라우트를 작성해야 합니다.
    3. 사이트 간 VPN 설정의 경우 VPN 안내서를 통해 서비스 엔드포인트에 액세스 를 수행하고 IBM Cloud VPC 개인용 DNS 서비스 주소를 구성해야 합니다.
    4. IBM Cloud VPC VPN 연결을 통해 VPC에 연결되어 있는지 확인합니다.
  2. 클러스터에 로그인하려면 다음 옵션 중에서 선택하십시오.

    • admin으로 로그인하십시오.
      1. 클러스터에 관리자 플랫폼 액세스 역할이 있는지 확인하십시오.
      2. 클러스터에 대한 명령행 컨텍스트를 설정하고 관리자를 위한 TLS 인증서 및 권한 파일을 다운로드하십시오.
        ibmcloud oc cluster config -c <cluster_name_or_ID> --admin --endpoint vpe
        
    • API 키로 로그인: API 키를 사용하여 Red Hat OpenShift에 로그인을 참조하십시오.
    • IBM Cloud 패스코드로 로그인:
      1. VPE 주소 와 마스터 URL 다음 명령의 출력에서.
        ibmcloud oc cluster get -c <cluster_name_or_ID>
        
      2. 브라우저에서 다음 IBM Cloud IAM 패스코드 웹 사이트를 여십시오.
        https://iam.cloud.ibm.com/identity/passcode
        
      3. IBM ID로 로그인하고 패스코드를 복사하십시오.
      4. 패스코드로 클러스터에 로그인하십시오.
        oc login -u passcode -p <iam_passcode> --server=https://<VPE_URL>:<port_from_the_master_URL>
        
        로그인 프로시저는 IBM에서 생성된 자체 서명 인증서이므로 알 수 없는 기관에서 서명한 인증서를 알립니다.
  3. 버전을 확인하여 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 게이트웨이를 만드는 방법을 설명합니다.

  1. 대상 클러스터에서 필요한 정보를 가져옵니다.

    1. ibmcloud target 을 대상 계정, 지역 및 리소스 그룹으로 설정합니다.

    2. 기존 VPE 게이트웨이 정보를 가져옵니다.

      ibmcloud is endpoint-gateway iks-TARGET_CLUSTER_ID
      
    3. 타겟 CRN (형식: crn:v1:bluemix:public:containers-kubernetes:REGION:a/TARGET_ACCOUNT:TARGET_CLUSTER_ID::)을 참고하세요.

    4. 서비스 엔드포인트 호스트 이름에 유의하세요.

  2. 소스 계정에서 새 VPE 게이트웨이를 만듭니다.

    1. ibmcloud target 을 소스 계정, 지역 및 리소스 그룹으로 설정합니다.

    2. 이 계정에 VPC가 있는지 확인합니다.

      ibmcloud is vpcs
      
    3. 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_GROUP
      
      SOURCE_VPC_NAME
      이전 단계의 VPC 이름입니다.
      TARGET_CRN
      대상 클러스터의 VPE 게이트웨이의 CRN입니다.
      --name
      VPE 게이트웨이의 이름입니다.
      SOURCE_ACCOUNT_RESOURCE_GROUP
      소스 계정의 리소스 그룹 이름입니다.
    4. "서비스를 찾을 수 없음" 오류가 발생하면 Target CRN이 올바른지 확인하세요. 올바른 경우 대상 계정에서 인증을 생성해야 합니다. 콘솔에서 교차 계정 VPE에 대한 서비스 권한 만들기를 참조하세요.

  3. VPE 게이트웨이에 예약 IP를 추가하세요.

    예약 IP를 하나 이상 추가해야 합니다. 예약 IP는 소스 VPC 서브넷에서 제공되며(영역당 최대 하나) 소스 VPC의 비공개 DNS 항목에 추가됩니다.

    1. 각 영역에 대해 예약 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
      
    2. 선택 사항입니다: 보안 그룹을 추가하거나 수정합니다. 기본적으로 소스 VPC의 기본 보안 그룹만 연결됩니다. VPE 게이트웨이의 경우 보안 그룹은 인그레스 트래픽만 보호합니다. 보안 그룹이 클라이언트로부터 들어오는 모든 필수 트래픽을 허용하는지 확인하세요.

  4. 연결을 테스트하십시오.

    1. 소스 VPC의 VSI에서 원래 VPE 게이트웨이와 동일한 호스트 이름을 사용합니다. 서비스 엔드포인트 목록 또는 ibmcloud ks cluster get -c CLUSTER_NAMEVPE 게이트웨이 속성에서 찾을 수 있습니다.

    2. 연결이 제대로 작동하는지 확인합니다.

      curl -k https://CLUSTERID...:XXXXX/version
      
    3. 연결에 실패하면 다음을 확인하세요:

      • VSI 및 VPE 게이트웨이의 보안 그룹은 필요한 트래픽을 허용합니다
      • VPC ACL은 트래픽을 허용합니다
      • 대상 클러스터의 컨텍스트 기반 제한(CBR) 규칙은 소스 VPC의 비공개 트래픽을 허용합니다(소스 VPC의 "클라우드 서비스 엔드포인트 소스 주소" 3개를 비공개 CBR 규칙에 추가)

예제: 대상 계정 명령

다음 예는 대상 계정에서 실행하여 클러스터 및 해당 VPE 게이트웨이에 대한 정보를 수집하는 명령을 보여줍니다.

  1. 올바른 계정을 타겟팅하고 있는지 확인합니다.

    ibmcloud target
    

    출력 예

    API endpoint:     https://cloud.ibm.com
    Region:           us-east
    User:             user2@example.com
    Account:          Target Account (9f8e7d6c5b4a321fedcba98765432222) <-> 2222222
    Resource group:   default
    
  2. 클러스터를 나열합니다.

    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
    
  3. 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
    
  4. 선택 사항입니다: 클러스터 세부 정보를 가져와서 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 게이트웨이를 만들기 위해 소스 계정에서 실행되는 명령을 보여줍니다.

  1. 올바른 소스 계정을 타겟팅하고 있는지 확인합니다.

    ibmcloud target
    

    출력 예

    API endpoint:     https://cloud.ibm.com
    Region:           us-south
    User:             user1@example.com
    Account:          Source Account (a1b2c3d4e5f6789abcdef01234561111) <-> 1111111
    Resource group:   Default
    
  2. 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
    
  3. 대상 계정에서 대상 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
    
  4. 예약된 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
    
  5. 첫 번째 영역에서 예약 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
    
  6. 예약된 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
    
  7. 두 번째 영역에 예약 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
    
  8. 세 번째 영역에 예약 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
    
  9. 예약된 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
    
  10. 소스 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"
    }
    
  11. 호스트 이름이 예약된 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 키 이해하기를 참조하십시오.

  1. IBM Cloud API 키를 작성하십시오. 안전한 위치에 API 키를 저장하십시오. API 키를 다시 검색할 수 없습니다. 출력을 로컬 컴퓨터의 파일로 내보내려면 --file <path>/<file_name> 옵션을 포함하세요.

    ibmcloud iam api-key-create <name>
    
  2. 클러스터 RBAC 정책에 API 키 사용자를 추가하고 세션 컨텍스트를 클러스터 서버로 설정하도록 클러스터를 구성하십시오.

    1. API 키 인증 정보를 사용하여 IBM Cloud에 로그인하십시오.
      ibmcloud login --apikey <API_key>
      
    2. 클러스터에 대한 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]
      
  3. IBM Cloud IAM API 키 자격 증명을 Red Hat OpenShift 액세스 토큰으로 교환합니다. CLI나 API를 사용하여 로그인할 수 있습니다. 자세한 정보는 Red Hat OpenShift 문서를 참조하십시오.

    oc CLI를 사용하여 로그인: 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 요청을 통해).

    1. 클러스터의 마스터 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>
      ...
      
      
    2. Red Hat OpenShift oauth 서버의 토큰 엔드포인트를 가져오십시오.

      curl <master_URL>/.well-known/oauth-authorization-server | jq -r .token_endpoint
      

      출력 예

      <token_endpoint>/oauth/token
      

      : screen}

    3. 이전에 검색한 엔드포인트로 클러스터에 로그인하십시오. <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
      
    4. 위치 응답에서 다음 예제에서와 같은 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
      ...
      
    5. 클러스터에 모든 팟(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 작성 및 관련 작업 수행을 참조하십시오.

  1. 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
    
  2. 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)으로 지정할 수 있습니다.
  3. 서비스 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
    
  4. 클러스터 RBAC 정책에 서비스 ID 사용자를 추가하고 세션 컨텍스트를 클러스터 서버로 설정하도록 클러스터를 구성하십시오.

    1. 서비스 ID의 API 키 인증 정보를 사용하여 IBM Cloud에 로그인하십시오.

      ibmcloud login --apikey <API_key>
      
    2. 클러스터에 대한 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]
      
  5. 서비스 ID의 API 키를 사용하여 Red Hat OpenShift 클러스터에 로그인하십시오. 사용자 이름(-u)은 apikey이며 비밀번호(-p)는 API 키 값입니다. 프라이빗 클라우드 서비스 엔드포인트를 사용하려면 --server=<private_service_endpoint> 옵션을 포함하세요.

    oc login -u apikey -p <API_key> [--server=<private_service_endpoint>]
    
  6. 서비스 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 규칙으로 클러스터를 보호하는 방법에 대해 자세히 알아보려면 컨텍스트 기반 제한으로 클러스터 리소스 보호하기컨텍스트 기반 제한 시나리오 예시를 참조하세요