구글 클라우드 Cloud shell로 GKE만들어보자
<1> API 서비스 활성화 하기
<2> cloud shell에서 GKE만들기
<3> kubecrl 로 pods등 만들어 보자
<4> 다른 예제
<1> API 서비스 활성화 하기
Kubernetes Engine > 클러스터 > 만들기 하면 API 활성화 할것인지 물어본다
또는
1
제품 및 리소스 검색에서
API 및 서비스 검색 하기
Kubernetes Engine API
2
Kubernetes Engine API
3
Kubernetes Engine API 사용으로 클릭해 활성화 하기
<2> Cloud shell에서 GKE만들기
1
화면 오른쪽 위 cloud shell 실행
2
리전 지정
export MY_ZONE=us-central1-a
gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2
승인
3
프로젝트 지정이 안되었다고 오류가 난다면 먼저 프로젝트를 지정한다.
아니면 만들어 진다.
“gcloud config set project [PROJECT_ID]” to change to a different project.
gcloud config set project versatile-lotus-3060xxxxx
4
다시 만들어 보기
gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2
5
아래처럼 오류가 나면
+ API 및 서비스 > 사용 클릭하지 않은것이다.
6
사용 클릭
7
5분 걸림
gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$ gcloud container clusters create webfrontend --zone $MY_ZONE --num-nodes 2
Default change: VPC-native is the default mode during cluster creation for versions greater than 1.21.0-gke.1500. To create advanced routes based clusters, please pass the `--no-enable-ip-alias` flag
Note: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s).
Creating cluster webfrontend in us-central1-a... Cluster is being health-checked (master is healthy)...done.
Created [https://container.googleapis.com/v1/projects/secret-zephyr-348001/zones/us-central1-a/clusters/webfrontend].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/us-central1-a/webfrontend?project=secret-zephyr-348001
kubeconfig entry generated for webfrontend.
NAME: webfrontend
LOCATION: us-central1-a
MASTER_VERSION: 1.21.6-gke.1503
MASTER_IP: 34.132.132.246
MACHINE_TYPE: e2-medium
NODE_VERSION: 1.21.6-gke.1503
NUM_NODES: 2
STATUS: RUNNING
8
nodes 확인
kubectl get nodes
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-webfrontend-default-pool-0bc06dde-gsqw Ready <none> 2m8s v1.21.6-gke.1503
gke-webfrontend-default-pool-0bc06dde-r30r Ready <none> 2m8s v1.21.6-gke.1503
<3> kubecrl 로 pods등 만들어 보자
3
kubecrl 버전 확인
kubectl version
4
kubectl create deploy nginx --image=nginx:1.17.10
5
kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-674c77bcbb-hdmrr 1/1 Running 0 8s
6
로드밸런서 연결
kubectl expose deployment nginx --port 80 --type LoadBalancer
7
로드밸런서 확인
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.52.0.1 <none> 443/TCP 7m2s
nginx LoadBalancer 10.52.4.151 34.122.99.68 80:32323/TCP 45s
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$
8
웹 브라우저료 접속 확인
9
pod수 3개로 늘리기
kubectl scale deployment nginx --replicas 3
10
확인
kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-674c77bcbb-h466z 1/1 Running 0 11s
nginx-674c77bcbb-hdmrr 1/1 Running 0 4m29s
nginx-674c77bcbb-t7skf 1/1 Running 0 11s
11
콜솔 확인
네트워크 > 부하분산에서 LB 를 확인한다
13
LB에 매칭되어 있는 인스턴스 확인
14
웹 브라우저로 LB 공인 IP로 접속 확인
15
삭제
gcloud container clusters delete xxxxx-cluster
다음 공부
https://brunch.co.kr/@topasvga/1513
<4> 다른 예제 참고하자
다른 자료~
https://brunch.co.kr/@topasvga/1833
감사합니다.