# 쿠버네티스 세팅 설정
1. ssh key 생성 후 모든 노드에 배포
2. kubespray 설치
(... 진행중)
3. 클러스터 ini 파일 적용
# 사용할만한 기능
컨피그맵 : DB를 서비스별로 적용
로드밸런서
무중단 배포 테스트
시크릿 : 파드 환경변수 세팅
테인트 : 톨러레이션을 세팅하여 특정 노드에만 파드를 스케줄링함. EX) GPU서버에만 파드 스케줄링
퍼시스턴트 볼륨(PV) : 데이터를 저장하는 볼륨. 컨테이너를 껐다켜도 데이터 유지.PVC로 컨트롤. 볼륨개수 지정가능
헬름 : 쿠버네티스 템플릿 관리 툴
# 쿠버네티스 bash 자동완성 기능 추가
echo 'source <(kubectl completion bash)' >>~/.bashrc
# 파드 (pod) 상태 보기
kubectl get pods
# Deployment nginx 세팅
kubectl create deployment nginx-app --image nginx --port=80
# Deployment pod 늘리기
kubectl scale deploy nginx-app --replicas=2
# 설치 확인
kubectl version
# 시스템 파드 확인
kubectl get pods -n kube-system
#ssh 키 생성 (.ssh/ 경로에 id_rsa, id_rsa.pub 파일 생성됨)
ssh-keygen -t rsa
# kubespray 설치
git clone https://github.com/kubernetes-sigs/kubespray.git
# 2.16.0버전 체크아웃
git checkout -b v2.16.0
# 파드 삭제
kubectl delete pod [파드이름]
# 파드 컨테이너 접속
kubectl exec -it [컨테이너명] -- sh
# yaml 파일 적용방법
kubectl apply -f 파일명.yaml
# 레플리카셋, 파드 확인
kubectl get replicaset,pods
# 디플로이먼트,레플리카셋, 레플리카 컨트롤러, 파드 확인
kubectl get deploy,rs,rc,pods
# 파드는 남기고 레플리카세트만 삭제
kubectl delete replicaset [레플리카셋 이름] --cascade=orphan
# 디플로이먼트 파드 개수 조절
kubectl scale deploy [디플로이먼트명] --replicas=[개수]
# 디플로이먼트 배포 정지
kubectl rollout pause [디플로이먼트명]
# 디플로이먼트 배포 재개
kubectl rollout resume [디플로이먼트명]
# 디플로이먼트 재시작
kubectl rollout restart [디플로이먼트명]
# 디플로이먼트 상태확인
kubectl rollout status
# 잡 상태 확인. 잡 이름은 name으로 지정된것. 파일명말고
kubectl describe job [잡이름]
# 잡 로그 확인 - 파드에 로그가 있음
kubectl logs 파드이름
# 쿠버네티스 서비스 상태(포트) 확인
kubectl get svc
'가상화 > Kubernetes' 카테고리의 다른 글
[쿠버네티스] 쿠버네티스 키워드 (0) | 2022.05.25 |
---|