본문 바로가기
Kubernetes

kubernetes를 활용한 deployment 예제

by 판매자명단 2023. 10. 31.

[Kubernetes] - kubernetes 설치

 

kubernetes 설치

* ubuntu 20.04 LTS 사용 * master 192.168.2.10/24 | work1 192.168.2.11/24 | work2 192.168.2.12/24 참고 - https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ kubeadm 설치하기 이 페이지에서는 kubeadm 툴박

y7712.tistory.com

 

요구명세 :

1. jenkins 디플로이먼트 deploy-jenkins를 생성하라.
2. jenkins 디플로이먼트로 배포되는 앱을 app: jenkins-test로 레이블링하라.
3. 디플로이먼트로 배포된 파드를 하나 삭제하고 이후 생성되는 파드를 관찰하라.
4. 새로 생성된 파드의 레이블을 바꾸어 Deployment의 관리 영역에서 벗어나게 하라.
5. Scale 명령을 사용해 레플리카 수를 5개로 정의한다.
6. edit 기능을 사용하여 레플리카 수를 10개로 정의한다

 

deploy-jenkins생성,  jenkins-test 레이블링

# master
mkdir test
cd test
vi deploy-jenkins


# deploy-jenkins
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-jenkins
  labels:
    app: jenkins-test
spec:
  selector:
    matchLabels:
      app: jenkins-test
  template:
    metadata:
      labels:
        app: jenkins-test
    spec:
      containers:
      - name: deploy-jenkins
        image: jenkins/jenkins
        ports:
        - containerPort: 8080

deploy-jenkins.yml 파일을 만들어 위 내용을 넣어준다

# master
kubectl create -f deploy-jenkins.yml
kubectl get all

kubectl로 yml 파일을 pod로 만들어준다음 확인한다

 

pod 삭제 후 관찰

kubectl delete pod deploy-jenkins-758b4cc756-lwb48 # pod name
kubectl get pod

pod를 삭제하고 다시 pod를 확인해보면 이름이 다른 새로운 pod가 바로 생성되는걸 볼 수 있다

 

레이블 변경

kubectl label pod deploy-jenkins-758b4cc756-sjt6q version=2
 kubectl get pod --show-labels

version=2 라는 label을 추가하고 확인해보면 yml파일에는 적어두지 않았던 version이 생성된걸 확인할 수 있다

 

scale 명령어로 replica 변경

kubectl scale deploy deploy-jenkins --replicas=5
kubectl get pod

scale 명령어로 replica를 5개로 변경하고 pod가 5개로 늘어난걸 확인해본다

 

edit 명령어로 replica 변경

kubectl edit deploy deploy-jenkins

 

edit 명령어로 deploy-jenkins를 열어서 replicas부분을 수정해준다음 저장해주면

pod가 10개로 늘어난걸 확인 할 수 있다

 

번외

kubectl get pod -o wide

pod의 node를 보면 work1과 work2에 랜덤으로 배포되는것도 확인 할 수 있다