파드를 생성할 수 있는 방법은 2가지가 존재한다.
명령어는 다음과 같이 구성되어 있다.
$ kubectl run webserver --image=nginx:1.14
yaml 파일은 다음과 같이 구성되어 있다.
apiVersion: v1
kind: Pod
metadata:
name: webserver
spec:
containers:
- name: nginx-container
image: nginx:1.14
imagePullPolicy: Always
ports:
- containerPort: 80
protocol: TCP
위와같이 생성하고 실행 kubectl 명령어를 입력한다.
$ kubectl create -f pod.yaml
$ kubectl get pods
위와 같이 입력하면 실행중인 pod들을 확인할 수 있다.
여러가지 옵션을 추가하여 실행정보를 다양한 내용으로 볼 수 있다.
yaml로 생성하는게 편하다. yaml 로 만들어보자.
apiVersion: v1
kind: Pod
metadata:
name: multipod
spec:
containers:
- name: nginx-container
image: nginx:1.14
ports:
- containerPort: 80
- name: centos-container
image: centos:7
command:
- sleep
- "10000"
yaml 실행
$ kubectl create -f pod-multi.yaml
$ kubectl exec multipod -c nginx-container -it -- /bin/bash
위와 같이 입력하면 pod 내부의 container로 진입할 수 있다.
$ kubectl run webserver --image=nginx:1.14
쿠버네티스의 API가 문법이 맞는지 확인한다.
node에 대한 정보를 etcd에서 꺼내온다.
scheduler를 이용하여 적당한 node를 찾는다.
스케쥴링 중에는 pending 상태라고 한다.
스케쥴링이 완료되면 running 상태가 된다.