목차
- 쿠버네티스 리소스
- 기본 명령어 실습
- 워크로드 오브젝트
쿠버네티스 리소스
- POD : (고래 떼를 일컬음, 도커의 고래에서 유래) 하나 이상의 컨테이너로 구성
- 스케일링의 단위, 어플리케이션에 친숙(환경변수 / 정상 여부 상태 검사 정의 등이 용이)
- 1개 파드에 2개 이상의 각각 다른 이미지 가진 컨테이너가 가능함
- 파드 리소스는 노드 IP와 별개로 파드 만의 고유한 IP를 할당받으며 파드 내의 컨테이너들은 IP를 공유함
- 파드 내의 컨테이너들은 동일한 볼륨과 연결이 가능
- 파드는 배포의 최소 단위이며 특정 네임스페이스에 실행됨
기본 명령어 실습
kubectl run test 명령어를 입력하게 되면
image를 set 하라고 합니다.
kubectl run test --image=nginx
이렇게 입력해주면 image기반으로 pod가 생성됩니다.
kubectl get pod test
생성된 pod를 가져옵니다.
naming한 이름을 베이스로 yaml파일만 생성되는 명령어입니다.
kubectl run test --image=nginx --dry-run=client -o yaml > 1.yaml
yaml 파일을 pod으로 구동
kubectl apply -f 1.yaml
kubectl get pod로 확인
- POD 명령어
kubectl get pod -o wide
-o wide 옵션을 추가해서 명령어를 입력하면
지금 pod가 할당된 NODE도 확인할 수 있습니다.
kubectl describe pod test
현재 pod의 상태를 알 수 있는 명령어입니다.
kubectl logs test
현재 pod에 대해서 어떤 logs들이 있는지 알려줍니다.
kubectl exec -it test -- /bin/sh
하위 호완을 보장하면서 bash 셀로 접근합니다.
워크로드 오브젝트
- POD는 1개의 IP만 가짐 (CNI 플러그인이 할당)
(참고) Multus를 활용 시 POD에 2개 네트워크도 연결 가능
- 2개 인터페이스 활용 사례
- 컨테이너 네트워크 인터페이스(CNI)
네트워크로 연결될 파드는 동일 노드에, 다른 노드에 있을 수도 있음. CNI의 역할은 단순히 파드 간 연결을 용이하게 만드는 것
- 컨테이너 런타임(예: 도커)은 CNI 플러그인 실행파일(예: 칼리코)을 호출하여 컨테이너의 네트워킹 네임 스페이스에 인터페이스를 추가/ 제거
Reference
https://classlion.net/class/detail/21
https://www.docker.com/blog/networking-in-docker-enterprise-edition-2-0/
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] APIs and Access(1) (0) | 2021.10.25 |
---|---|
[Kubernetes] Kubernetes Architecture(4)[쿠버네티스 리소스 : 컨트롤러 오브젝트, 로드밸런서 오브젝트, 스토리지 오브젝트] (0) | 2021.10.23 |
[Kubernetes] Kubernetes Architecture(2)[쿠버네티스 설치 및 환경 설정] (0) | 2021.10.19 |
[Kubernetes] Kubernetes Architecture(1) (0) | 2021.10.18 |
[Kubernetes] 쿠버네티스(Kubernetes)란 무엇인가? (0) | 2021.10.18 |