리그캣의 개발놀이터

[k8s] master에 worker node처럼 application 배포하기 본문

인프라/Docker

[k8s] master에 worker node처럼 application 배포하기

리그캣 2020. 6. 30. 15:09
master에 pod 배포
  • master untainted
    해당 명령어를 통하여 master를 worker처럼 사용가능하였습니다.
    $kubectl taint nodes --all node-role.kubernetes.io/master-
    

node/k8s-master untainted <- master가 untiainted 라고 나옵니다.
error: taint "node-role.kubernetes.io/master" not found


- label 구성

master에 key=master01로 지정시킵니다.

$ kubectl label nodes k8s-master key=master01
node/k8s-master labeled

$ kubectl label nodes k8s-worker key=worker01


- label에 배포

해당 label을 배포할 manifest. yaml 파일에 지정해줍니다. 
[참고](https://github.com/league3236/BeginDevOps/blob/master/k8s/yaml/nginx.yaml) 
spec:
  containers:
  - name: nginx-two
    image: nginx:1.17-alpine
    ports:
    - containerPort: 80
      name: nginx-pod-port

  ##추가
  nodeSelector:
    key: worker01

- 해당 yaml 배포

$kubectl create -f ./nginx.yaml


아래 명령어를 통해 pods가 running 된 것을 확인 가능합니다.

$kubectl get pods -o wide


##### pod가 죽었을시 되살아나는것을 확인

- 도커를 삭제합니다.

$docker ps -a | grep nginx

에서 하나를 삭제합니다.

$docker stop {container id}


- 확인
하나를 죽였을시 하나가 살아나는 것을 확인 가능합니다.

restart 수가 늘었난 것을 확인 가능합니다

$ kubectl get pods
NAME READY STATUS RESTARTS AGE
kubernetes-bootcamp-6f6656d949-w4md9 1/1 Running 0 25h
nginx-two-deployment-87fb879d6-c95hg 1/1 Running 0 32m
nginx-two-deployment-87fb879d6-cnv4j 1/1 Running 2 32m
nginx-two-deployment-87fb879d6-hj5rn 1/1 Running 0 32m

Comments