디플로이먼트의 오브젝트 스펙을 처음부터 만들기는 어려우니 ~/_Book_k8sInfra/ch3/3.2.4 디렉터리의 예제 파일(echo-hname.yaml)을 사용합니다. 파일 내용은 다음과 같습니다.
echo-hname.yaml
-
apiVersion: apps/v1 # API 버전
-
kind: Deployment # 오브젝트 종류
-
metadata:
-
name: echo-hname
-
labels:
-
app: nginx
-
spec:
-
replicas: 3 # 몇 개의 파드를 생성할지 결정
-
selector:
-
matchLabels:
-
app: nginx
-
template:
-
metadata:
-
labels:
-
app: nginx
-
spec:
-
containers:
-
- name: echo-hname
-
image: sysnet4admin/echo-hname # 사용되는 이미지
apiVersion은 오브젝트를 포함하는 API의 버전을 의미합니다. 일반적으로 알파(alpha)와 베타(beta) 버전은 안정적이지 않다고 보지만, 그만큼 풍부한 기능을 갖고 있기도 합니다. 여기서 사용하는 apps/v1은 여러 종류의 kind(오브젝트)를 가지고 있는데, 그중에서 Deployment를 선택해 레플리카셋을 생성합니다. 레플리카셋은 몇 개의 파드를 생성할지 replicas로 결정합니다. 이미지는 sysnet4admin/echo-hname을 사용합니다.