Connect를 사용하면 모든 Kubernetes 클러스터를 Google Cloud에 연결할 수 있습니다. 이렇게 하면 통합 사용자 인터페이스, Cloud Console을 비롯하여 클러스터 및 워크로드 관리 기능에 액세스하여 클러스터와 상호작용할 수 있습니다.
네트워크가 아웃바운드 요청을 허용하도록 구성된 경우 NAT, 이그레스 프록시, 방화벽을 통과하도록 Connect Agent를 구성하여 클러스터의 Kubernetes API 서버와 Google Cloud 프로젝트 사이에 오랫동안 유지되는 암호화된 연결을 설정할 수 있습니다. 이 연결이 사용 설정되면 사용자 인증 정보를 사용하여 클러스터에 다시 로그인하고 Kubernetes 리소스에 대한 세부정보에 액세스할 수 있습니다. 이는 GKE 클러스터에서만 사용할 수 있는 UI 환경을 효과적으로 복제합니다.
연결이 설정되면 Connect Agent 소프트웨어는 리소스, 애플리케이션, 하드웨어의 세부정보를 포함하여 Google Cloud로 관리하는 데 필요한 연결된 인프라 및 워크로드의 계정 사용자 인증 정보, 기술 세부정보, 메타데이터를 교환할 수 있습니다.
이 클러스터 서비스 데이터는 Google Cloud 프로젝트 또는 계정과 연결되어 있습니다. Google은 이 데이터를 사용하여 클러스터와 Google Cloud 간의 제어 영역을 유지하고, 지원 촉진, 청구, 업데이트 제공을 포함한 개발자가 요청하는 모든 Google Cloud 서비스 및 기능을 제공하고, Connect를 통해 제공되는 Connect 및 Google Cloud 서비스의 안정성, 품질, 용량, 기능을 측정하고 개선합니다.
개발자는 Connect를 통해 전송되는 데이터를 계속 제어할 수 있습니다. Kubernetes API 서버는 Connect를 통해 모든 요청의 인증, 승인, 감사 로깅을 수행합니다. Google과 사용자는 클러스터 관리자가 승인(예: RBAC를 통해)한 후 Connect를 통해 데이터 또는 API에 액세스할 수 있습니다. 클러스터 관리자는 해당 승인을 취소할 수 있습니다.
Connect Agent
Connect는 Connect Agent라는 배포를 사용하여 클러스터와 Google Cloud 프로젝트 간의 연결을 설정하고 Kubernetes 요청을 처리합니다.
Connect IAM 역할
ID 및 액세스 관리(IAM)를 사용하면 사용자, 그룹, 서비스 계정이 Google Cloud APIs에 액세스하고 Google Cloud 제품 내에서 작업을 수행할 수 있습니다.
Connect Agent를 실행하고 Google Cloud Console 또는 Cloud SDK를 사용하여 클러스터와 상호작용하려면 특정 IAM 역할을 제공해야 합니다. 이러한 역할은 연결된 클러스터에 직접 액세스할 수 없습니다.
이러한 역할 중 일부를 통해 다음과 같은 클러스터 정보에 액세스할 수 있습니다.
- 클러스터 이름
- 공개 키
- IP 주소
- ID 공급업체
- Kubernetes 버전
- 클러스터 크기
- 기타 클러스터 메타데이터
연결은 다음과 같은 IAM 역할을 사용합니다.
역할 이름 | 역할 칭호 | 설명 | 권한 |
---|---|---|---|
roles/gkehub.admin |
허브 관리자 | 허브 및 관련 리소스에 대한 전체 액세스 권한을 제공합니다. |
Google Cloud 권한
허브 권한
|
roles/gkehub.viewer |
허브 뷰어 | 허브 및 관련 리소스에 대한 읽기 전용 액세스 권한을 제공합니다. |
Google Cloud 권한
허브 권한
|
roles/gkehub.connect |
GKE Connect 에이전트 | 외부 클러스터와 Google 간에 새 연결을 설정할 수 있는 권한을 제공합니다. | gkehub.endpoints.connect |
Connect를 사용하여 로그인
인증
Google Cloud Console을 사용하여 다음 세 가지 방법으로 등록된 클러스터에 로그인할 수 있습니다.
- 기본 인증 사용. 사용자 이름과 정적 비밀번호 파일을 사용합니다. 자세한 내용은 정적 비밀번호 파일을 참조하세요.
- Bearer 토큰 사용. Kubernetes 인증에 지정된 다양한 종류의 Bearer 토큰이 지원됩니다. 가장 쉬운 방법은 클러스터에 Kubernetes 서비스 계정(KSA)을 만들고 Bearer 토큰을 사용하여 로그인하는 것입니다.
- OpenID Connect(OIDC) 제공업체를 사용합니다.
승인
Google Cloud Console을 통해 인증할 때 사용하는 ID에 대해 클러스터의 API를 통해 승인 확인이 수행됩니다.
클러스터에 로그인하는 모든 계정은 최소한 클러스터에 다음 Kubernetes RBAC역할이 있어야 합니다.
이러한 역할은 클러스터에 대한 읽기 전용 액세스 권한 및 노드 세부정보를 제공합니다. 역할이 모든 리소스에 대한 액세스 권한을 제공하는 것은 아니므로 Google Cloud Console의 일부 기능을 사용하지 못할 수 있습니다. 예를 들어 이러한 역할은 Kubernetes 보안 비밀 또는 Pod 로그에 대한 액세스를 허용하지 않습니다.
계정에는 edit
또는 cluster-admin
등을 통해 다른 RBAC 권한이 부여되어 클러스터 내에서 더 많은 작업을 수행할 수 있습니다. 자세한 내용은 RBAC 문서를 참조하세요.
감사
Google Cloud Console을 통한 액세스는 클러스터의 API 서버에서 감사 로그됩니다.