커스텀 VPC를 만들고 GKE를 생성해보자
온프라미스와 겹치지 않는 IP 블럭으로 VPC를 생성하자.
그래야 온프라미스와 VPN등 연결이 가능하다.
<1> 커스텀 VPC만들기
<2> 커스텀 VPC에 콘솔로 GKE 생성하기
<3> 디폴트 VPC에 CLI로 GKE 생성하기
<4> Compute Engine > VM 인스턴스로 VM1대 만들기
<5> 같이 볼만한 자료
<1> 커스텀 VPC만들기
1
GCP는 디폴트 네트워크를 지원한다.
그에 따라 IP도 자동으로 할당되어 있다.
여기서 우리는 우리가 원하는 커스텀 VPC 네트워크를 만들어 사용할 예정이다.
온프레미스와 오피스와 VPN등을 연결하려면 IP가 중복되어서는 안되기 때문이다.
2
VPC 네트워크 > VPC 네트워크 만들기
3
GCP는 서브넷을 다른 리전으로 설정할수 있으므로 주의하자.
여기서는 public와 private subnet을 같은 리전으로 생성한다.
asia-northeast3(서울)로 한다.
4
tetgame-gcp-dev-vpc 이름만 입력 합니다.!!
10.0.0.0/21
// 이 부분은 입력하지 않습니다. VPC IP 사용 대역을 정하는것입니다. GCP만 입력하지 않습니다.
tetgame-gcp-dev-pub1
asia-northeast3
10.0.0.0/24
서브넷 추가
tetgame-gcp-dev-pri1
asia-northeast3
10.0.2.0/24
4
방화벽 규칙
custom, icmp, rdp , ssh 허용 체크
5
만들기
6
생성완료
<2> 커스텀 VPC에 콘솔로 GKE 생성하기
GKE 생성시 새로 만든 네트워크를 지정해서 만든다.
<3> 디폴트 VPC에 CLI로 GKE 생성하기
1
오른쪽위 Cloud Shell 사용
2
gcloud config list project
AZ도 지정한다.
3
확인
4
다음은 디폴트 vpc에 생성하기
gcloud container clusters create tetgame-gcp-k8s-cl
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$ gcloud container clusters create tetgame-gcp-k8s-cl
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 tetgame-gcp-k8s-cl in asia-northeast3-a... Cluster is being health-checked (master is healthy)...done.
Created [https://container.googleapis.com/v1/projects/secret-zephyr-348001/zones/asia-northeast3-a/clusters/tetgame-gcp-k8s-cl].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/asia-northeast3-a/tetgame-gcp-k8s-cl?project=secret-zephyr-348001
kubeconfig entry generated for tetgame-gcp-k8s-cl.
NAME: tetgame-gcp-k8s-cl
LOCATION: asia-northeast3-a
MASTER_VERSION: 1.21.6-gke.1503
MASTER_IP: 34.64.160.237
MACHINE_TYPE: e2-medium
NODE_VERSION: 1.21.6-gke.1503
NUM_NODES: 3
STATUS: RUNNING
참고
기존에 K8S가 생성되어 있으면 쿼터 제한으로 생성되지 못한다.
기존 K8S를 삭제후 설치하면 설치 된다.
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$ gcloud container clusters create tetgame-gcp-k8s-cl
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).
ERROR: (gcloud.container.clusters.create) ResponseError: code=403, message=Insufficient regional quota to satisfy request: resource "IN_USE_ADDRESSES": request requires '3.0' and is short '3.0'. project has a quota of '4.0' with '0.0' available. View and manage quotas at https://console.cloud.google.com/iam-admin/quotas?usage=USED&project=secret-zephyr-348001.
5
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-tetgame-gcp-k8s-cl-default-pool-a935610a-14p8 Ready <none> 3m28s v1.21.6-gke.1503
gke-tetgame-gcp-k8s-cl-default-pool-a935610a-366q Ready <none> 3m28s v1.21.6-gke.1503
gke-tetgame-gcp-k8s-cl-default-pool-a935610a-wpcc Ready <none> 3m28s v1.21.6-gke.1503
topasseoseo1@cloudshell:~ (secret-zephyr-348001)$
10
생성 명령어 참고
https://cloud.google.com/kubernetes-engine/docs/how-to/alias-ips?hl=ko
https://cloud.google.com/sdk/gcloud/reference/container/clusters/create
https://zero-to-jupyterhub.readthedocs.io/en/latest/kubernetes/google/step-zero-gcp.html
<4> Compute Engine > VM 인스턴스로 VM1대 만들기
1
명령을 내릴 VM 인스턴스 1대를 만들어 보자
agame-gcp-web01-dev
2
다음자료
https://brunch.co.kr/@topasvga/2388
https://brunch.co.kr/@topasvga/2407
<5> 같이 볼만한 자료
https://brunch.co.kr/@topasvga/1829
https://brunch.co.kr/@topasvga/796
https://brunch.co.kr/@topasvga/1135
https://brunch.co.kr/@topasvga/1512
https://brunch.co.kr/@topasvga/1837
감사합니다.