- 출처: kubernetes in action
- 출처: https://kubernetes.io/docs/concepts/overview/components/
- Kubernetes cluster 설치
이전까지 살펴본 Docker 학습은 쿠버네티스 클러스터에 배포하기 위한 준비 과정이라고 볼 수 있다. 이제 본격적으로 쿠버네티스 클러스터를 설치하여 배포해보자.
회사내에서 사용하는 규모 정도되면 다중 노드 쿠버네티스 클러스터 설치해야 하는데 이는 단순한 작업이 아니다. 쿠버네티스 지식뿐만 아니라 리눅스와 네트워크에 관한 상당한 지식도 요구하기 때문이다. 클라우드 공급자를 통해 설치하는 대신 학습 목적을 위해 단일 노드 클러스터인 minikue를 이용한다. kubeadm 으로도 설치할 수 있지만 쿠버네티스에 익숙해진 다음에 시도하는것이 좋다.
minikube 설치는 따로 언급하지 않겠다. https://minikube.sigs.k8s.io/docs/start/ 를 참조하여 각자 OS에 맞게 설치한다.
minikue를 설치했다면 "minikube start"를 통해 쿠버네티스 클러스터를 시작한다. 시작하는데 시간이 조금 소요되므로 중간에 종료하지 말고 기다린다.
쿠버네티스를 다루기 위해서는 kubectl CLI가 필요하다. kubectl 설치 가이드는 https://kubernetes.io/docs/tasks/tools/ 를 참조한다. kubectl 설치가 잘 됐는지 확인해보기 위해서 "kubectl cluster-info" 명령어를 실행한다.
클러스터라는 용어가 나왔으니 개념을 간단하게 살펴보자.
위의 그림은 쿠버네티스 공식 홈페이지에서 클러스터를 표현한 그림이다.
앞서 설치한 kubectl 에서 명령어를 수행하면 Control Plane(마스터 노드) 내의 api 컴포넌트로 REST 요청을 송신한다. api 컴포넌트는 명령어에 따라 클러스터 내의 컴포넌트들을 조율한다.
"kubectl get nodes" 명령어를 실행하면 노드를 조회할 수 있다. 명령어의 구성형태를 보면 짐작할 수 있겠지만 get을 통해 노드 뿐만 아니라 다른 쿠버네티스 오브젝트들도 조회가 가능하다.
이런 오브젝트 들의 상세 정보도 볼 수 있는데 "kubectl describe [오브젝트명]"을 입력하면 아주 자세한 정보가 나온다.
- 편의를 위한 alias 설정
kubectl을 계속 치다보면 상당히 귀찮음을 느끼게 될것이다. 이럴땐 alias로 별칭을 주는것이 좋다. ~/.bashrc에 준하는 파일에 alias를 추가한다.
zsh 을 사용하고 있다면 bashrc에 준하는 파일은 zshrc가 된다. kubectl을 k로 짧게 실행하기 위해 "alias k=kubectl"을 추가해준다. zsh이 실행될때마다 다시 수행 되므로 재시작한다.
kubectl의 명령어 탭 자동완성도 설정할 수 있다. 아래는 zsh 기준이므로 linux 환경이라면 https://kubernetes.io/docs/tasks/tools/included/optional-kubectl-configs-bash-linux/ 가이드를 참조하면 된다.
원래 zsh의 경우 ~/.zshrc 파일에 "source <(kubectl completion zsh)" 만 추가해주면 되지만 만약 "command not found: compdef" 와 같은 오류가 발생한다면 제일 첫재쭐에 "autoload -Uz compinit"과 "compinit"을 추가해준다.
'Framework and Tool > Kubernetes' 카테고리의 다른 글
Kubernetes - Label 및 Annotation (0) | 2022.10.09 |
---|---|
Kubernetes - Pod (0) | 2022.10.09 |
Kubernetes - deploy app tutorial (0) | 2022.10.06 |
Kubernetes - Docker basic (0) | 2022.10.06 |
Kubernetes - 개요 (0) | 2022.10.02 |
댓글