비공개 클러스터는 내부 IP 주소에만 의존하는 Virtual Private Cloud(VPC) 기반 클러스터입니다. 즉, 노드와 포드는 기본적으로 인터넷에서 격리되어 있습니다. 이 페이지에서는 Cloud Code를 사용하여 공개 엔드포인트 액세스 유무에 관계없이 비공개 클러스터에 연결하고 비공개 클러스터가 Google Cloud 외부의 리소스에 액세스하도록 허용하는 방법을 설명합니다.
비공개 클러스터에 대한 자세한 내용은 비공개 클러스터를 참조하세요. 비공개 클러스터를 구성하는 단계는 비공개 클러스터 만들기를 참조하세요.
KubeConfig에 비공개 GKE 클러스터 추가
Cloud Code에서 비공개 클러스터를 추가하면 다음 동작이 수행됩니다.
공개 엔드포인트가 사용 설정된 클러스터의 경우 클러스터를 추가하면 KubeConfig의 클러스터 주소가 외부 IP로 설정됩니다.
공개 엔드포인트가 사용 중지된 클러스터의 경우 클러스터를 추가하면 KubeConfig의 클러스터 주소가 클러스터의 내부 VPC IP로 설정됩니다.
승인된 네트워크를 기존 클러스터에 추가하려면 이 클러스터에 승인된 네트워크가 사용 설정되어 있으므로 승인된 네트워크에 연결되어 있는지 확인합니다.
외부 IP 주소 없이 VM에 연결하는 방법에 대한 자세한 내용은 VM 인스턴스에 안전하게 연결을 참조하세요. 만든 인스턴스를 관리/삭제하려면 VM 인스턴스를 참조하세요.
비공개 클러스터에 연결하려면 Cloud Code가 클러스터 네트워크의 머신에서 실행되거나 프록시 서버, Cloud Interconnect 또는 Cloud VPN을 사용하는 것과 같이 클러스터의 네트워크에 액세스할 수 있어야 합니다.
Cloud Code에서 GKE 클러스터를 만들고 기존 GKE 클러스터를 Cloud Code에 추가하는 단계는 GKE 클러스터 만들기 및 구성을 참조하세요. Cloud Code에서 Google Cloud 콘솔을 열어 클러스터를 만듭니다.
클러스터를 생성한 후 클러스터 생성 중에 설정되지 않은 경우 클러스터에서 아웃바운드 인터넷 연결을 사용 설정하도록 Cloud NAT를 구성합니다. 만든 네트워크를 관리/삭제하려면 VPC 네트워크를 참조하세요.
비공개 클러스터 연결 문제 해결
개발 환경이 비공개 클러스터에 액세스하도록 올바르게 구성되지 않은 경우 문제를 해결하는 방법에 대한 권장사항은 다음 컨텍스트에 표시됩니다.
펼쳐진 Kubernetes 탐색기에서 Cloud Code를 연결할 수 없는 클러스터는 클러스터 이름 옆에 오류 아이콘이 표시됩니다. 가능한 해결 방법과 잠재적인 문제에 대한 자세한 설명을 보려면 클러스터 이름을 클릭합니다.
비공개 클러스터 구성의 잠재적인 문제로 인해 액세스할 수 없는 클러스터에서 작업을 실행하려 하면 알림에 잠재적인 문제 및 가능한 해결 방법에 대한 자세한 설명과 함께 오류 메시지가 표시됩니다.
클러스터에 대한 프록시 서버 구성
공개 엔드포인트가 사용 중지된 GKE 클러스터와 같이 제어 영역 API를 공개적으로 사용할 수 없는 경우 클러스터와 동일한 네트워크 또는 VPC의 프록시 서버를 통해 제어 영역에 요청을 프록시하도록 Cloud Code를 구성할 수 있습니다.
- 아직 구성하지 않았다면 클러스터와 동일한 네트워크에 프록시 서버를 구성합니다. Compute Engine VM을 기본 프록시 서버로 설정하는 단계는 배스천 호스트를 사용하여 비공개 클러스터에 원격으로 액세스를 참조하세요. 자세한 내용은 컨트롤러 액세스를 위한 네트워크 프록시가 있는 Google Kubernetes Engine 비공개 클러스터 만들기를 참조하세요.
- Cloud Code에 추가한 클러스터의 이름을 마우스 오른쪽 버튼으로 클릭한 다음 클러스터에 Kubectl 프록시 설정을 클릭합니다. 표시되는 메시지에 따라 클러스터의
proxy-url
필드에 저장된 프록시 서버의 이름을 입력합니다. Kubernetes 뷰가 새로고침되어 연결된 클러스터를 표시합니다.
Kubernetes 프록시 취소
Kubernetes 프록시에 대해 구성한 클러스터의 이름을 마우스 오른쪽 버튼으로 클릭한 다음 클러스터에 대한 Kubectl 프록시 취소를 클릭합니다. Cloud Code는 KubeConfig에서 proxy-url
필드를 설정 해제하여 클러스터에 대한 프록시 요청을 중지합니다.
클러스터에서 Google Cloud 외부 리소스에 액세스
GKE 비공개 클러스터의 모든 구성은 노드에 인터넷 액세스 권한을 제공하지 않습니다. 따라서 클러스터는 공개 인터넷에서 API에 연결할 수 없습니다. 클러스터는 예를 들어 클러스터가 Artifact Registry 또는 Container Registry에서 이미지를 가져올 수 있도록 비공개 Google 액세스로 자동으로 구성됩니다. 노드에서 아웃바운드 인터넷 연결을 허용하는 추가 구성 없이 Google Cloud 외부의 API 및 이미지 레지스트리에 액세스할 수 없습니다. 이러한 연결을 제공하려면 Cloud Code에서 VPC에 Cloud NAT를 설정하면 됩니다.
- 클러스터를 마우스 오른쪽 버튼으로 클릭하거나 명령어 팔레트(
Ctrl
\Cmd
+Shift
+P
를 누르거나 보기 > 명령어 팔레트 클릭)에서 비공개 GKE 노드에 아웃바운드 인터넷 액세스 권한 부여 명령어를 실행합니다. - 터미널에서
gcloud compute routers create
및gcloud beta compute routers nats create
명령어를 수정하여 애플리케이션 값을 지정합니다. - 명령어를 실행하려면
Enter
를 누릅니다. - 만든 라우터를 관리/삭제하려면 Cloud Router를 참조하세요.
다음 단계
- 공유 가상 프라이빗 클라우드 네트워크 알아보기