[Container] 3. Kubernetes, k8s

# Kubernetes, k8s

1. 개요

2. 개념

2-1. 마스터와 노드

2-2. 오브젝트(object)

2-2-1. Pod

Object Spec

apiVersion : v1

kind : Pod

metadata:

​ name: nginx

spec:

​ containers:

​ -name: nginx

​ image: nginx:1.7.9

​ ports:

​ -containerPort: 8090

특징

2-2-2. Volume

2-2-3. Service

2-2-4. Namespace

2-2-5. Label

2-3. 컨트롤러

2-3-1. Replication Controller

2-3-2. ReplicaSet

2-3-3. Deployment

쿠버네티스 배포
  1. 블루/그린 배포

    • 블루(예전) 버전으로 서비스 하고 있던 시스템을 그린(새로운)버전으로 배포한 후, 트래픽을 블루에서 그린으로 한번에 돌리는 방식

    • 새로운 RC를 생성하고 새로운 템플릿으로 Pod를 생성한 후, Pod 생성이 끝나면 서비스를 새로운 Pod로 옮기는 방식

    • 배포 완료 후, 문제가 없으면 예전 버전의 RC와 Pod를 지움

  2. 롤링 업그레이드

    • Pod를 하나씩 업그레이드 해가는 방식

    • 새로운 RC를 생성한 후, 기존 RC에서 Replica 수를 하나 줄이고 새로운 RC에서 Replicat 수를 늘림

    • 모든 작업을 마치면, 예전 버전의 Pod가 모두 빠지고 새 버전의 Pod만 서비스

    • 배포가 잘못되었다면, 기존 RC의 replica 수를 원래대로 늘리고 새 버전의 replica 수를 0으로 설정하여 롤백 가능

2-3-4. DaemonSet

2-3-5. Job

2-3-6. StatefulSet

3. 아키텍처

3-1. 마스터와 노드

3-1-1. 마스터

API server
Etcd
Scheduler
Controller Manager
DNS

3-1-2. 노드

Kubelet
Kube-proxy
Container Runtime
cAdvisor

4. Volume

4-1. 볼륨 종류

Temp Local Network
emptyDir hostPath GlusterFS
gitRepo
NFS, iSCSI, gcePersistentDisk, AWS EBS, Fiber Channel, vSphereVolume, Secret, AzureDisk

4-1-1. emptyDir

4-1-2. hostPath

4-1-3. gitRepo

4-2. PersistentVolume and PersistentVolumeClaim

4-2-1. PersistentVolume

PV 라이프사이클
PV 생성

YAML 파일 등을 이용하여 수동으로 생성 및 필요시에 자동으로 생성 가능(Dynamic Provisioning)

4-2-2. PersistentVolumeClaim

PVC는 Pod의 볼륨과 PVC를 연결하는 관계 선언

4-2-3. Dynamic Provisioning

5. Service

5-1. Service Type

5-1-1. Cluster IP

5-1-2. Load Balancer

5-1-3. Node Port

5-1-4. External Name

5-2. Headless Service

5-3. Service Discovery

DNS
External IP

6. Ingress

1-1. 구성

기본 구성

HA 가능 마스터노드와 실제 앱이 구동하는 컨테이너들의 Pod를 호스팅하는 1개 이상의 워커 노드로 클러스터 구성

[이미지1]

1-2. 데이터센터 OS

데이터센터 OS

1533101892267

1-3. 특징

2. 아키텍처

2-1. 아키텍처 구성

2-2. 컨트롤러 매니저

2-3. kube scheduler(스케줄러)

2-4. kube proxy (프록시)

2-5. API 서버

2-6. etcd 서버

2-7. 컨테이너 런타임

2-8. kubelet (에이전트)

2-9. POD

3. K8s 네트워킹

3-1. CNI

[향 후 추가]

시스크-구글 협력하여 CCP

엔터프라이즈 컨테이너 솔루션 찾기

자동화된 배포, 버전업 관리 필수

비교표

빅데이터 서비스