작성한 YAML 파일을 통해 쿠버네티스에 새로운 포드를 생성합니다.
$ kubectl apply -f nginx-pod.yaml
describe 명령어를 통해서 생성된 리소스의 자세한 정보를 얻어올 수 있습니다.
이 명령어로 Pod의 IP를 확인해 보겠습니다.
이 IP는 외부에서 접근할수 없으며, 클러스터 내부에서만 접근 할 수 있습니다.
쿠버네티스 외부 또는 내부에서 포드에 접근하려면 서비스(service)라고 하는 쿠버네티스 오브젝트를 따로 생성해야
하지만, 클러스터의 노드 중 하나에 접속하여 HTTP 요청을 전송할 경우, 정상적으로 실행 됩니다.
[nginx-pod-with-ubuntu.yaml]
apiVersion: v1
kind: Pod
metadata:
name: my-nginx-pod
spec:
containers:
- name: my-nginx-container
image: nginx:latest
ports:
- containerPort: 80
protocol: TCP
- name: ubuntu-sidecar-container
image: alicek106/rr-test:curl
command: ["tail"]
args: ["-f", "/dev/null"]
포드는 여러개의 컨테이너로 구성될 수 있습니다.
-리눅스 네임스페이스를 공유
-여러 컨테이너들을 추상화된 집합으로 사용
-네트워크 네임스페이스를 공유함으로 동일한 네트워크 환경을 가지게 됨
하나의 Pod에는 하나의 컨테이너만 존재하는것이 바람직한데, 보통 여러개의 컨테이너가 존재하는것을 보면,
그 이유는 설정 파일의 변경사항을 갱신해주는 설정 리로더(reloader) 프로세스나 로그를 수집해주는 프로세스 같은
부가적인 기능을 사용할 경우 같은 워커 노드에서 함께 실행된다.
'컨테이너 > Kubernetes' 카테고리의 다른 글
[쿠버네티스] (5) 서비스 만들기 (0) | 2020.12.23 |
---|---|
[쿠버네티스] (6) 서비스 & microservice (0) | 2020.12.20 |
[쿠버네티스] (4) 레플리카 셋 사용하기 (0) | 2020.12.12 |
[쿠버네티스] (2) Pod 생성해보기 (0) | 2020.12.08 |
[쿠버네티스] (1) kube-mini 설치하기 (0) | 2020.12.08 |