5. Kubernetes
- 구글이 몇 백, 몇 천 개의 컨테이너를 실행하다 보니 한번에 관리할 도구 필요
- 컨테이너화 앱 디플로이/관리 툴
- 여러 개의 노드 관리
- 여러 containerized-app 을 여러 노드에 올리기 위한 관리 도구
- 스케일링, 로드밸런싱, self-healing 등
-
7. K8s - Control Plane (master node)
- Kubernetes API Server, 서버간/요소들 간 통신용
- Scheduler, 워커 노드에 앱 배포 할당
- Controller Manager, 클러스터 기능. 요소 복제, 워커노드 추적, 노드 비활성
핸들 등
- Etcd, 클러스터 환경설정이 있는 영구 데이터 저장장소
- =>
- Control Plane 은 클러스터의 상태를 유지하고 제어
8. K8s - Worker nodes
- Container runtime
- Kubelet, API server 와 통신, node 에 떠있는 컨테이너 관리
- Kube-proxy(Kubernetes Service Proxy), 애플리케이션 네트워크 트래픽
로드밸런스
- =>
- 컨테이너 애플리케이션을 run, monitor 등
10. Ch 2. First steps with
Docker and Kubernetes
박홍민
11. Building the container image
- Docker client, daemon 은
같은 machine 이
아닐수도 있음. Client 는
non-linux host, daemon
은 VM 에서 동작 가능.
- Build 경로의 모든 파일은
docker daemon 으로
업로드됨. (불필요한 파일
있으면 빌드 속도 저하)
12. Building the container image
- Dockerfile -> build
- FROM node:7, 1줄이 ->
8줄의 pull 로
- Image 는 하나의 큰
덩어리가 아니라 multiple
layers
- Image = image1 + image2
- Image = (image1’ +
image1’’) + image2 ...
13. Building the container image
- 모든 이미지 PULL 이후에,
그 위에 새로운 layer 쌓음.
- 새로운 layer 는 명령줄 실행
/ 카피 등의 레이어
- 기존 image 로 container
실행 후 commit 해서 새
image 생성할 수도 있음. ->
rebuild 하기에 좋음.
14. Running the container image
Q. 에러가 났다는 것은 컨테이너가 러닝 안한다는거인줄 알고 포트수정 후에 다시
run 했는데 왜 container name 충돌 .. ? 에러 날때마다 rm 하고 다시 해야하나 ?
15. Running the container image
- 만약 docker daemon 과 docker client 가 다른 서버에 있다면 docker daemon
의 IP or hostname 입력 필요.
- 예) Windows/Mac -> docker daemon은 VM에 뜸.
22. Minikube, Kubectl start
- Minikube 는 host OS에 guest OS VM으로 떴다.
- Q. Kubectl에 master node 에 대한 정보를 준적이 없는데,
- Kubernetes master 에 속한 cluster 라는걸 알아서 인식하나 .. ?
23. Minikube, Kubectl start
- Minikube 는 host OS에 guest OS VM으로 떴다.
- Q. Kubectl에 master node 에 대한 정보를 준적이 없는데,
- Kubernetes master 에 속한 cluster 라는걸 알아서 인식하나 .. ?