Kubernetes Engine: Qwik Start
Kubernetes Engine: Qwik Start
1. 개요
- Google Kubernetes Engine(GKE): Google 인프라를 사용하여 컨테이너화된 애플리케이션을 배포, 관리 및 확장하기 위한 관리 환경 제공
- Kubernetes Engine 환경은 컨테이너 클러스터를 형성하기 위해 그룹화된 여러 머신(ex. Compute Engine 인스턴스)으로 구성
1) Google Kubernetes Engine을 사용한 클러스터 오케스트레이션
- Google Kubernetes Engine(GKE) 클러스터는 Kubernetes 오픈 소스 클러스터 관리 시스템 기반
- Kubernetes는 컨테이너 클러스터와 상호 작용하는 메커니즘 제공
- Kubernetes 명령 및 리소스로 애플리케이션 배포 및 관리, 관리 작업 수행, 정책 설정, 배포된 워크로드의 상태 모니터링
2) Google Cloud의 Kubernetes
- GCP가 제공하는 고급 클러스터 관리 기능
- Compute Engine 인스턴스의 부하 분산
- 추가 유연성을 위해 클러스터 내에서 노드의 하위 집합을 지정하는 노드 풀
- 클러스터의 노드 인스턴스 수 자동 조정
- 클러스터의 노드 소프트웨어에 대한 자동 업그레이드
- 노드 상태 및 가용성을 유지하기 위한 노드 자동 복구
- 클러스터에 대한 가시성을 위한 Cloud Monitoring으로 로깅 및 모니터링
2. Setup and requirements
- Google Cloud Platform(GCP) 환경 설정
3. Task 1. Set a default compute zone
- 컴퓨팅 영역(compute region)은 클러스터와 해당 리소스가 있는 대략적인 regional 위치
- Zone: us-central1-a
- Region: us-central1
1) 기본 compute region 설정
gcloud config set compute/region
2) 기본 compute zone 설정
gcloud config set compute/zone
4. Task 2. Create a GKE cluster
- 클러스터는 하나 이상의 클러스터 마스터 시스템과 노드라고 하는 여러 작업자 시스템으로 구성
- 노드: 클러스터의 일부로 Kubernetes 프로세스를 실행하는 Compute Engine 가상 머신(VM) 인스턴스
- 클러스터 생성
gcloud container clusters create --machine-type=e2-medium lab-cluster
5. Task 3. Get authentication credentials for the cluster
- 클러스터와 상호 작용하려면 인증 자격 증명 필요
- 클러스터 인증
gcloud container clusters get-credentials lab-cluster
6. Task 4. Deploy an application to the cluster
- GKE: Kubernetes 객체를 사용하여 클러스터의 리소스를 생성하고 관리
- Kubernetes: 웹 서버와 같은 상태 비저장 애플리케이션을 배포하기 위한 Deployment 개체 제공
- 서비스객체는 인터넷에서 애플리케이션에 액세스하기 위한 규칙과 로드 밸런싱을 정의
1) 컨테이너 이미지에서 새 Deployment 생성
kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0
- kubectl create command
- --image: 배포할 컨테이너 이미지 지정
- gcr.io/google-samples/hello-app:1.0: Container Registry 버킷에서 예시 이미지 가져옴
2) Kubernetes 서비스 생성
- Kubernetes 서비스: 애플리케이션을 외부 트래픽에 노출할 수 있는 Kubernetes 리소스
kubectl expose deployment hello-server --type=LoadBalancer --port 8080
- kubectl expose command
- --port: 컨테이너가 노출하는 포트 지정
- type="LoadBalancer": 컨테이너에 대한 Compute Engine 부하 분산기 생성
3) 서비스 검사
kubectl get service
4) 웹 브라우저에서 애플리케이션 확인
http://[EXTERNAL-IP]:8080
7. Task 5. Deleting the cluster
- 클러스터 삭제
gcloud container clusters delete lab-cluster
- 클러스터 삭제
'대외활동 > Google Cloud Study Jam' 카테고리의 다른 글
[Kubernetes 입문] Continuous Delivery with Jenkins in Kubernetes Engine (0) | 2022.07.31 |
---|---|
[Kubernetes 입문] Managing Deployments Using Kubernetes Engine (0) | 2022.07.29 |
[Kubernetes 입문] Orchestrating the Cloud with Kubernetes (0) | 2022.07.26 |
[Kubernetes 입문] Introduction to Docker (0) | 2022.07.24 |
[Kubernetes 입문] Kubernetes in Google Cloud (0) | 2022.07.24 |