kubernetes 맛보기-3. ReplicationController

mhlee·2021년 6월 3일
0

1. 배포파일 작성

배포 파일을 작성한다.
중요한 내용은, selector의 app 의 값이, label의 app 값과 반드시 일치해야 한다.

apiVersion: v1
kind: ReplicationController
metadata:
  name: http-go
spec:
  replicas: 3
  selector:
    app: http-go
  template:
    metadata:
      name: http-go
      labels:
        app: http-go
    spec:
      containers:
      - name: http-go
        image: gasbugs/http-go
        ports:
        - containerPort: 8080

2. 배포 및 확인

배포후 파일 내용을 확인하자.

kubectl create -f <파일명>
kubectl get pod

3. ReplicationContoller 확인

아래 명령을 통해 rc를 확인 가능하다.

kubectl get rc

4. pod 삭제시 rc 동작

임의로 pod을 삭제하면, replicas 갯수 만큼 pod을 자동으로 생성한다.
아래는 임의로 pod을 삭제한 경우, pod을 자동으로 생성되는것을 확인할수 있다.

kubectl get pod
kubectl delete pod <pod-name>
kubectl get pod

5. app label 변경시 동작

앞서 말한대로, select와 label의 app 값은 동일해야 한다.
즉, replicas의 개수를 label의 app 값으로 판단한다.
임의로 app 명칭을 변경하면, 새로운 pod을 추가하는 내용을 아래와 같이 확인할수 있다.

kubectl label pod <pod-name> app=new-value --overwrite
kubectl get pod --show-labels

6. pod scale-out

아래와 같이 scale 명령을 통해 간단히 pod을 늘릴수 있다

kubectl scale rc <rc-name> --replicas=7

아래 명령을 통해 yaml 파일을 수정도 가능하다.
개인적으로 별로 추천하고 싶지 않은 방법이다.

kubectl edit rc <rc-name>

마지막으로 최초 배포했던 yaml 파일을 수정하는 방법이다.

kubectl apply -f <yaml-file>

profile
삽질하는 개발자

0개의 댓글