쿠버네티스 설치 환경의 종류
쿠버네티스 사용 용도
- 개발 용도 : 로컬 노드에만 설치하고 사용. 노드 한개로는 클러스터에 컨테이너를 배치하는 작업의 결과를 확인할 수 없음. 기본 기능 테스트 및 로컬 개발 용도로 제한됨. ex) Docker Desktop, Minikube
- 서비스 테스트 또는 운영 용도 : 클라우드 환경에서 수십 개의 서버에 설치.
운영 용도의 쿠버네티스 환경
- 온프레미스 : 자체 서버 환경에 쿠버네티스를 포함한 모든 인프라를 직접 구성하고 관리 ex) kubespray, kubeadm
- 클라우드 플랫폼 : 인프라 관리는 클라우드에게 위임하고 쿠버네티스 설치와 관리는 사용자가 담당 ex) kops
- 클라우드 매니지드 서비스 : 인프라 생성 관리, 쿠버네티스 설치와 관리까지 클라우드 제공자가 담당 ex) GKE, EKS 등
개발 용도 쿠버네티스 설치
- 개발 용도의 쿠버네티스 : 기본 기능 테스트 및 로컬 개발 용도
- Docker Desktop : preferences → settings → kubernates → enable kubernates 설정
- Minikube : 리눅스 서버에서 개발용으로 쿠버네티스를 사용한다면 설치. 여기서는 패스
여러 서버로 구성된 쿠버네티스 클러스터 설치
설치 환경
- 온프레미스 환경 설치
- 클라우드 플랫폼에 쿠버네티스 설치
- 쿠버네티스 매니지드 서비스
어떤 작업을 하나요?
- 클러스터 구성을 위한 노드 생성과 등록
- 클러스터에 참여하는 모든 노드에 CRI 설치
- 클러스터 네트워크 설정
GKE로 쿠버네티스 클러스터 만들고 명령어 설치
1. 프로젝트 생성 및 무료 크레딧 설정
2. Kubernetes Engine API 사용 설정
3. 클러스터 생성
- Autopilot : 애플리케이션 운영에 필요한 클러스터 설정을 GKE가 관리
- Standard : 개발자가 클러스터 설정 가능
→ 쿠버네티스 실습 목적이므로 Standard 선택
4. GKE 설정 정보 살펴보기
- 클러스터 기본 사항 : 이름, 영역, 리전
- 노드 풀 : 노드 개수, 노드 위치
- 노드 설정 : 이미지, 머신 타입, 메모리, 디스크 크기
- 네트워크 : 노드당 최대 pod 수, 노드 풀 pod IP 범위
5. 클러스터에 쿠버네티스 연결
유저와 쿠버네티스 클러스터를 연결하는 CLI인 kubectl을 설치하고 사용해보자.
5-1. Google Cloud Shell 사용
설치나 설정이 필요하지 않지만, 웹 터미널은 세션이 계속 끊겨서 불편함..
5-2. 터미널에서 gcloud 설치하고 kubectl 연결
gcloud 설치
- 셸 파일로 gcloud 설치 : curl <https://sdk.cloud.google.com> | bash
- 셸 재시작 : exec -l $SHELL
프로젝트 선택
- 구글 클라우드 로그인 : gcloud init
- 프로젝트와 리전 선택
- GKE 클러스터 목록 출력 : gcloud container clusters list
kubectl 설치
- kubectl 설치 : brew install kubectl
- kubeconfig : gcloud container clusters get-credentials cluster-1 --zone us-central1-c → gke v1.26 버전부터 인증 플러그인을 추가로 설치해야함
- CRITICAL: ACTION REQUIRED: gke-gcloud-auth-plugin, which is needed for continued use of kubectl, was not found or is not executable. Install gke-gcloud-auth-plugin for use with kubectl by following <https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke>
gke-gcloud-auth-plugin 설치
- 구글 블로그에 설치 명령어 소개 참고해서 gke-gcloud-auth-plugin 설치해보자.
- 맥 : gcloud components install gke-gcloud-auth-plugin
- 환경변수 설정 및 반영 : vim ~/.bashrc → export USE_GKE_GCLOUD_AUTH_PLUGIN=True 입력 → source ~/.bashrc
- gcloud 업데이트 : gcloud components update
- 다시 kubeconfig : gcloud container clusters get-credentials cluster-1 --zone us-central1-c
클러스터 사용 확인
- 쿠버네티스 버전 : kubectl version --short
- 노드 목록 : kubectl get nodes
GKE 아키텍처
GKE 클러스터 아키텍처 | Google Kubernetes Engine(GKE) | Google Cloud
'Cloud > Kubernates' 카테고리의 다른 글
Service (0) | 2023.10.29 |
---|---|
ReplicaSet, Deployment (0) | 2023.10.29 |
Pod, NameSpace (1) | 2023.10.29 |
쿠버네티스 시작하기 : 내부 구조 (0) | 2023.10.29 |
쿠버네티스란? (0) | 2023.10.29 |