728x90
매니페스트 파일
- 정의 파일
- etcd에 바림작한 상태를 등록
- YAML, JSON 지원
- 이름은 자유되, 조직에 맞게 사용
- 리소스 단위로 작성 (파드, 서비스, 디플로이먼트, 레플리카세트)
매니페스트 작성 내용
- API 그룹 및 리소스 유형 (kubectl api-resources)
- 메타데이터와 스펙
- 레이블과 셀렉터 (레이블로 복잡한 액션을 지정 가능)
파드 작성
apiVersion: v1
kind: Pod
metadata:
name: apa000pod
labels:
app: apa000kube
spec:
containers:
- name: apa000ex91
images: httpd
ports:
- containerPort: 80
디플로이먼트 작성
- 앞서 작성한 파드를 이용해 디플로이먼트를 완성한다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: apa00dep
spec:
selector:
matchLabels:
app: apa000kube
replicas: 3
template:
metadata:
labels:
app: apa000kube
spec:
containers:
- name: apa000ex91
image: httpd
ports:
- containerPort: 80
서비스의 작성
- ClusterIP, NodePort, LoadBalancer, ExternalName 4개 유형
- 클러스터 내부 통신용, 워커 노드 직접 접근, 로드밸런서, 내부에서 외부 접근 용
apiVersion: v1
kind: Service
metadata:
name: apa000ser
spec:
type: NodePort
ports:
- port: 8099
targetPort: 80
protocol: TCP
nodePort: 30080
selector:
app: apa000kube
300x250