-
Notifications
You must be signed in to change notification settings - Fork 47
How to create GKE Kubeconfig
ByoungSeob Kim edited this page Jan 3, 2023
·
7 revisions
- kubectl 및 Lens 등의 도구에서 Kubernetes Cluster 접속/활용을 위해서 Kubeconfig(./kube/config)가 필요함
- CB-Spider/PMKS API는 Kubeconfig를 제공함
- GCP GKE SDK API는 Kubeconfig를 제공하지 않음
- GCP Driver 내부에서 Kubeconfig를 생성하는 방법이 아래와 같음
※ 특이사항
- GKE 경우 kubectl이나 Lens 도구를 이용하여 Cluster 접속/활용 시에도
- 도구 위치에 gcloud cli 설치 및 대상 Cluster 인증 절차가 필요하며,
- kubectl 및 Lens와 gcloud cli의 상호작용으로 실행됨
- GKE 경우 이미 설치 및 인증된 gcloud cli를 이용하여 Kubeconfig를 획득 할 수도 있음
- 예시:
gcloud container clusters get-credentials cluster-1 --project powerkimhub --zone us-central1-c
- 예시:
1. Kubeconfig template 정의
2. GKE API를 이용한 필요한 값 획득
3. `1+2`으로 `Kubeconfig` 생성
4. Kubeconfig 이용한 Cluster 연동
-
다음 link의
5.Create a kubeconfig.yaml file containing the following
부분 참고 -
Kubeconfig Template 예시
apiVersion: v1 kind: Config clusters: - name: ##CLUSTERNAME## cluster: server: https://##ENDPOINT## certificate-authority-data: ##CA-CERT## users: - name: cb-spider user: exec: apiVersion: client.authentication.k8s.io/v1beta1 args: - --use_application_default_credentials command: gke-gcloud-auth-plugin installHint: Install gke-gcloud-auth-plugin for kubectl by following https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#install_plugin provideClusterInfo: true contexts: - context: cluster: ##CLUSTERNAME## user: cb-spider name: ##CLUSTERNAME## current-context: ##CLUSTERNAME##
-
※ 특이사항: K8S 버전 및 향후 GKE 규격 변경에 의존적일 수 있음
- 시험 K8S 버전: 1.24.7-gke.900
- Kubeconfig 생성을 위해서는 다음 2가지 값이 필요함
- (1) ClusterName
- (2) Endpoint
- (3) ClusterCaCertificate
- 다음 API docs를 참고하여
-
Cluster
(Cluster Info Object) 객체 획득 후 다음 위치에서 2가지 값 획득이 가능함- (1) ClusterName:
Cluster.Name
- (2) Endpoint:
Cluster.Endpoint
- (3) ClusterCaCertificate:
Cluster.MasterAuth.ClusterCaCertificate
- ※ gcloud cli로 구하는 방법:
gcloud container clusters describe cluster-1 --format="value(masterAuth.clusterCaCertificate)" --project powerkimhub --zone=us-central1-c
- ※ GCP Web Console에서 제공하는
Cluster Certificate
와는 다름
- ※ gcloud cli로 구하는 방법:
- (1) ClusterName:
- Kubeconfig Template 문자열에서 다음 값들을 2.에서 구한 값으로 교체하여 생성함
##CLUSTERNAME##
##ENDPOINT##
##CA-CERT##
- kubectl 및 OpenLens 등의 도구에 Kubeconfig 등록 및 활용 가능
- 가이드 참고
-
Install & Start Guide
-
Features & Usage
-
- AdminWeb Tool Guide
- CLI Tool Guide
- REST API Guide
-
Design
-
Developer Guide
-
Cloud Driver Developer Guide
- Cloud Driver Developer Guide-WIP
- VM SSH Key Development Guide-WIP
- VM User Development Guide
- What is the CSP SDK API Version of drivers
- Region Zone Info and Driver API
- Price Info and Driver API
- (StartVM TerminateVM) API Call Counts and Waiting
- StartVM and TerminateVM Main Flow of drivers
- VM Root Disk Configuration Guide
- Security Group Rules and Driver API
- Network Load Balancer and Driver API
- VM Snapshot, MyImage and Disk Overview
- Kubernetes and Driver API(PMKS, K8S)
- Tag and Cloud Driver API
- AnyCall API Extension Guide
-
Test Reports
- v0.2.8-for-espresso-release
- v0.3.0-espresso-release
- Azure:Terminating VM
- cb-user@VM: ssh login, sudo run
- v0.3.14 test for SG Source
- v0.4.0-cafemocha-release
- Test via REST API Gateway
- Test Reports of v0.4.11 (IID2 initial Version)
- Test Reports of v0.4.12 (Register & Unregister existing Resources)
- Test Reports for v0.6.0 Release
- How to ...
- How to Use Alibaba ECS i1.* Instance Types
- How to provision GPU VMs
- How to Resolve the 'Failed to Connect to Database' Error
- How to test CB Spider with Mock Driver
- How to install CB Spider on WSL2 under 공유기/사설망
- How to install CB Spider on macOS
- How to run CB Spider Container on macOS
- How to install OpenStack on a VM for CB Spider Testing
- How to get Azure available Regions
- How to profile memory usage in Golang
- Deprecated:How to install protoc and plugins
- [For Cloud-Migrator]