Container Orchestration - 3. kubernetes(2)

2020-02-26

Index


  1. Docker
    1. Docker 개념
    2. Docker Install
    3. Docker Command
    4. Docker Example
    5. Image 만들기
    6. Dockerfile
    7. Docker Compose
    8. Image 저장소

  1. Container Orchestration
    1. Container Orchestration 이란
    2. kubernetes(1)
    3. kubernetes(2)
    4. kubernetes install
    5. kubernetes ui
    6. kubernetes를 이용해 배포해보기
    7. kubectl CLI

  1. Provisioning
    1. Provisioning이란
    2. Ansible
    3. Ansible을 이용해 kubernetes cluster 생성하기

3. Controller

컨트롤러는 객체가 원래 설정된 상태를 잘 유지할수있게 관리하는 역할을 합니다.

3.1 Replication Controller

언제든지 지정된 숫자 만큼의 Pod가 항상 클러스터 내에서 실행되고 있도록 관리합니다. 다시말하면 Pod 또는 동일종류의 Pod의 셋이 항상 가동되고 사용가능한지 확인합니다.

3.2 ReplicaSet

replicaset은 Replication Controller 다음 버전입니다. Replication Controller와 동일하게 동작하고 차이점은 집합 기반(set-based)의 셀렉터(selector)를 지원하는 것이 다릅니다. 복제 컨트롤러 같은 경우에는 셀렉터가 등호기반(equal-based)라서 라벨을 선택할때 같은지(=) 다른지(!=)만 확인합니다. 하지만 집합기반의 셀렉터는 in, notin, exists같은 연산자를 지원합니다.


3.3 Deployment

Replication controller와 Replica Set의 좀더 상위 추상화 개념입니다. 가장 기본적인 배포 방법으로 ReplicaSet를 관리하면서 앱의 배포를 보다 세밀하게 관리할 수 있게 합니다. 단순히 실행시켜야할 pod의 개수를 유지 하는 것만이 아니라 배포할때 롤링업데이트가 가능한 것은 물론, 배포도중 멈췄다가 다시 배포하는것도 가능합니다. 배포후 이전 버전으로 롤백도 할 수 있습니다.

3.3.1 Rolling Update

롤링 업데이트는 Pod 인스턴스를 점진적으로 새로운 것으로 업데이트하여 Deployment 업데이트가 서비스 중단 없이 이루어질 수 있도록 해줍니다.








참고

https://kubernetes.io/ko/docs/concepts/overview/
https://subicura.com/2019/05/19/kubernetes-basic-1.html
https://bcho.tistory.com/1256?category=731548
https://arisu1000.tistory.com/