[Docker] 5. Kubernetes

Kubernetes 개요

Kubernetes주요 개념

리소스 용도
Node 컨테이너가 배치되는 서버
Namespace 쿠버네티스 클러스터 안의 가상 클러스터
Pod 컨테이너 집합 중 가장 작은 당뉘. 컨테이너의 실행 방법 정의
Replica set 캍은 스펙을 갖는 파드를 여러 개 생성하거 관리하는 역할
Deployment 레플리카 세트의 리비전을 관리
Service 파드의 집합에 접근하기 위한 경로를 정의
Ingress 서비스를 쿠버네티스 클러스터 외부로 노출시킴
Configmap 설정 정보를 정의하고 파트에 전달
퍼시스턴트볼륨 파드가 사용할 스토리지 크기 및 종류를 정의
퍼시스턴트폴륨클레임 퍼시스턴트 볼륨을 동적으로 확보
Storageclass 퍼시스턴트 볼륨이 확부되는 스토리지의 종류를 정의
Statefulset 같은 스펙으로 모두 동일한 파드를 여러 개 생성하고 관리
Job 상주 실행을 목적으로 하지 않는 파드를 여러 개 생성하고 정상적인 종료를 보장
크론잡 크론 문법으로 스케줄링되는 잡
시크릿 인증 정보 같은 기밀 데이터를 정의
네임스페이스 안에서 조작 가능한 쿠버네티스 리소스의 규칙 정의
롤바인딩 쿠버네티스 리소스 사용자와 롤을 연걸지음
크러스터롤 클러스터 전체적으로 조작 가능한 쿠버네티스 리소스의 규칙을 정의
클러스터롤바인딩 쿠버네티스 리소스 사용자와 클러스터롤을 연걸지음
서비스 계정 파드가 쿠버네티스 리소스를 조작할 때 사용하는 계정

Kubernetes 설치

kubectl

Dashboard 설치

$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.8.3/src/deploy/recommended/kubernetes-dashboard.yaml

Kubernetes-Pod

명령어

$ kubectl get pods
$ kubectl get services

$ kubectl exec -it [PodName] [ShellScirpt]

$ kubectl logs -f [PodName] -c [ContianerNaime]

$ kubectl delete pod [PodName]