# 쿠버네티스 세팅 설정

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

파드 : 컨테이너 관리의 기본 단위

헬름 : 쿠버네티스 템플릿 패키지 

서비스 : 파드 접근에 필요

'가상화 > Kubernetes' 카테고리의 다른 글

[쿠버네티스] 쿠버네티스 학습  (0) 2022.05.30

+ Recent posts