쿠버네티스는 컨테이너 관리/운영(a.k.a 오케스트레이션) 시스템 중 가장 유명한, 거의 표준이라 할 수 있는 플랫폼입니다.
쿠버네티스는 많은 컨테이너를 다룰때 유리합니다. (대표적으로 MSA)
그리고 쿠버네티스 API(이놈이 핵심)를 활용하여 컨테이너간 네트워크 공유, 로드밸런싱, 스케일아웃, 롤백 등등등 안정적인 운영환경에 필요한 조건들을 자동화해줍니다.
이론적인건 https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/ 공식홈 참고하시고
회사에서 스터디용 쿠버네티스 클러스터 서버를 제공해주어서 🙇🏻♀️
스터디용 프로젝트 계정 닫히기 전에 ㅋㅋㅋ 개인 블로그에 정리하려 합니다.
해당 실습은 https://collabnix.github.io/kubelabs/ 여기 내용을 바탕으로 GCP에서 진행되었습니다.
클러스터는 컨테이너를 실행하기 위한 노드머신입니다. 즉 컨테이너를 돌리는 노드들의 집합이라고 할 수 있습니다.
그냥 쉽게 말하자면 쿠버네티스 환경 중 가장 큰 개념이라고 이해하시면 됩니다.
쿠버네티스를 실행시켰다 ≒ 클러스터를 올렸다
일단 웹콘솔에서 생성해보겠습니다.
만들기를 선택하면 autopilot이냐 아니냐 옵션이 있는데 저는 그냥 하나하나 선택해주는 커스텀모드로 생성해봤습니다.
위치유형은 영역 / 리전 두 옵션이 있는데, 영역을 선택하면 asia-northeast3-a에만 노드가 생성이 되고, 리전을 선택하면 asia-northeast3에 해당하는 모든 영역 (asia-northeast3-a, asia-northeast3-b, asia-northeast3-c) 에 노드가 생성됩니다. 이를 방지하려면 "기본 노드 위치 지정" 옵션을 사용하시면 됩니다.
노드 수는 세 개를 권장하는데 저는 그냥 두 개 올렸습니다.
스터디인지라 하나만 해도 되겠지만 나중에 멀티 노드 컨트롤 실습을 생각하면 적어도 두 개가 낫지 않나 합니다.
노드의 디테일한 스펙을 정할 수 있습니다.
머신유형은... 스터디니까 제일 작은 micro로 선택.
짜잔 클러스터 생성 완성.
노드는 두 개였고, 노드 하나당 vCPU2개, 1GB 메모리를 골랐으니 스펙에 맞게 잘 생성된 것 같습니다.
사실 위 과정들은 gcloud 명령어 한방으로 간단하게 처리할 수 있습니다. 😁
gcloud container clusters create hw-cluster \
--num-nodes=2 \
--node-locations=asia-northeast3-a \
--machine-type=e2-micro
이제까지 만든 클러스터를 kubectl(쿠베컨트롤)이라는 명령어를 활용해 제어하려 합니다.
gcloud를 활용할 수도 있고, mac이라면 homebrew를 사용할 수도 있습니다.
다만 gcloud를 사용하는게 더 편한듯합니다. 크레덴셜 설정하는 부분에서...
gcloud 활용하여 kubectl 설치: https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl
homebrew 활용하여 kubectl 설치
brew install kubectl 한 뒤 kubectl config set-credentials
참고 : https://blog.christianposta.com/kubernetes/logging-into-a-kubernetes-cluster-with-kubectl/
설정이 완료되었다면 kubectl 명령어로 현재 사용중인 클러스터 정보를 확인할 수 있습니다.
(+ 추가)
만약 auth plugin deprecated 어쩌구 warning이 뜬다면
https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
쿠버네티스 기초실습 (GCP 기반) - 3 - Replicaset (1) | 2022.11.02 |
---|---|
쿠버네티스 기초실습 (GCP 기반) - 2 - Pod (0) | 2022.10.01 |
pub/sub 이해하기 (JS 예시) (0) | 2021.10.25 |
경력 0개월차 개발자의 고래 해체 작업 썰 - 3 [ECS task-definitions] (0) | 2021.10.04 |
경력 0개월차 개발자의 고래 해체 작업 썰 - 2 [Postgre 데이터 Dump] (0) | 2021.09.08 |
댓글 영역