-
Kubernetes Engine: Qwik Start활동/Google Cloud Study Jam 2022. 7. 15. 17:22728x90
1. 기본 컴퓨팅 영역 설정
컴퓨팅 영역이란 region 내에 대략적으로 클러스터와 리소스가 존재하는 위치를 의미한다. 예를 들어 kr-central1-a는 kr-central1 region에 속한 영역이다.
gcloud config set compute/zone [컴퓨팅 영역] 2. GKE 클러스터 만들기
클러스터는 1개 이상의 클러스터 마스터 머신과 노드라는 다수의 작업자 머신으로 구성된다. 여기서 노드란 클러스터를 구성하기 위해 필요한 Kubernetes 프로세스를 실행하는 가성 머신 인스턴스 이다. 클러스터 이름은 문자로 시작하고 영숫자로 끝나야 하며 40자를 초과해선 안된다.
gcloud container clusters create [CLUSTER-NAME] 클러스터 생성하는데 한 2분 정도 걸린 것 같다.
3. 클러스터의 사용자 인증 정보 얻기
클러스터를 만든 후 클러스터와 상호작용하려면 사용자 인증 정보가 필요하기 때문에 클러스터를 인증해 준다.
gcloud container clusters get-credentials [CLUSTER-NAME] 4. 클러스터에 애플리케이션 배포
이제 클러스터에 컨테이너식 애플리케이션을 배포할 수 있다.
GKE는 Kubernetes 객체를 사용하여 클러스터의 리소스를 만들고 관리한다. 웹 서버와 같은 스테이트리스 애플리케이션을 배포할 때는 Kubernetes에서 배포 객체를 사용한다. 서비스 객체는 인터넷에서 애플리케이션에 액세스하기 위한 규칙과 부하 분산 방식을 정의한다.
hello-app 컨테이너 이미지에서 새 배포 hello-server를 생성하기 위해 kubectl create 명령어를 실행한다.
--image : 배포할 컨테이너 이미지를 지정한다. 이 명령어는 Container Registry 버킷에서 예시 이미지를 가져온다.
gcr.io/google-samples/hello-app:1.0 : 은 가져올 특정 이미지 버전을 나타내고, 버전이 지정되지 않은 경우 최신 버전이 사용된다.
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0 애플리케이션을 외부 트래픽에 노출할 수 있는 Kubernetes 리소스인 Kubernetes Service를 생성하는 명령어: kubectl expose
--port : 컨테이너가 노출될 포트가 지정됨
type="LoadBalancer" : 컨테이너의 Compute Engine 부하 분산기를 생성
kubectl expose deployment hello-server --type=LoadBalancer --port 8080 kubectl get : hello-server 서비스를 검사
service / hello - server exposed 애플리케이션을 보려면 주소창에 http://[EXTERNAL-IP]:8080 을 입력하여 확인 (저의 경우 EXTERNAL-IP == 34.171.21.108)
http://[EXTERNAL-IP]:8080 5. 클러스터 삭제
아래의 명령어를 실행하여 클러스터를 삭제한다.
gcloud container clusters delete [CLUSTER-NAME] 728x90