- Kubernates
- Jenkins
- 멀티 스테이지 빌드
- Volume
- Networking
- Swarm
멀티 스테이지 빌드
- 명령어에 from 이 2번 온다
- 하나의 파일에 앞단을 빌드 시키고, 뒷단에 빌드 이미지를 넘겨준다
Volume
- 컨테이너는 stateless 해야하고, stateless 하려면 container 내의 data 가 있으면 안된다.
- 하나의 Volume 을 여러개의 container에 공유 했을 때, 더 효율적이다.
- container 간의 데이터를 공유할 때.
- I/O 의 성능을 향상 시킬 수 있다!
Volume 관리 유형
- 외부 Volume
- host1 에 문제가 생겼을 때, host1 내부에 data 가 있을 경우 host2 에서 새로 생성한 container에서 data 를 사용할 수 없는 문제. 따라서 host 밖으로 Volume 을 빼 놓아야 한다.
- 네트워크 연결이기 때문에, 속도가 느릴 수 있다. 상황에 맞게 사용하는게 중요하다.
-
명령어
$ docker volume ls // hash 값으로 설정 된 volume 들이 있을 수 있다. (일반적으로 사용하는 volume 은 로컬 volume) $ docker create --name test1 // volume 생성
Network
-
$ docker … -p
-p 로 바인딩을 하면 알아서 만들어 줬었다.
- bridge network
- overlay network
Kubernetes
- 구글 클러스터 관리 시스템 borg 에서 기원 (google large scale … 검색하면 논문 하나 나온다, Large-scale cluster management at Google with Borg)
- 컨테이너 어플리케이션 배포, 스케일링, 관리를 자동화 해주는 오픈 소스 시스템
- 주요 특징
- 상태관리 : 노드에 대한 상태를 유지시켜준다.
- 스케쥴링 : 조건에 맞는 노드를 찾아서 컨테이너를 배치해준다.
- 클러스터링 :
- k8a 아키텍처 - Master
- k8a 아키텍처 - Node
-
k8a 구성요소 - Pod
1개의 Pod 에 여러개의 container 가 들어간다. Pod 은 배포의 단위, container 의 타입은 같을 수도 있고 다를 수도 있다.
- Pod 내에 있는 컨테이너끼리는 로컬콜
- 한 Pod 은 고유 IP 를 갖는다
용어
- SSH, 동작 원리
- eval
- sticky session