명령을 외워야 한다.
항상 반복한다.
config 파일을 사용해서 원하는 목표 상태를 정의한다.
.yml or .yaml 파일 생성, 이름은 마음대로
apiVersion은 홈페이지에서 확인
kind : Deployment 등 타입? 적기
metadata : 이름 적기
spec : 사양 적기
replicas : pod 인스턴스의 수, 적지 않으면 1이 기본, pod가 실행되는 것을 원하지 않는다면 0
template : pod를 정의
labels : 이름 지정하기를 원한다면
spec : 개별 pod 사양 지정
matchExpressions:
- {key: app, operator: In, values: [second-app, first-app]}
kubectl apply -f 파일이름
-> 연결된 클러스테어 구성 파일을 적용
apiVersion: apps/v1
kind: Deployment
metadata:
name: second-app-deployment
spec:
replicas: 1
selector:
matchLabels:
app: second-app
tier: backend
template:
metadata:
labels:
app: second-app
tier: backend
spec:
containers:
- name: second-node
image: y7y1h13/kub-first-app:2
kubectl apply -f service.yaml
-> service 적용
apiVersion: v1
kind: Service
metadata:
name: backend
spec:
selector:
app: second-app
tier: backend
ports:
- protocol: 'TCP'
port: 80
targetPort: 8080
# - protocol: 'TCP'
# port: 443
# targetPort: 443
type: LoadBalancer
변경 후 전의 적용 명령어 실행
kubectl delete deployment 이름
kubectl delete -f 파일이름
kubectl delete deployments,services -l group=그룹이름
-> 콤마뒤에 띄어쓰기 x
---
를 이용하면 파일 안에서 나누기 가능
가능하면 service를 먼저 배치하는 것이 좋다.
리소스는 위에서 아래로 생성된다.
livenessProbe:
httpGet:
path: /
port: 8080
periodSeconds: 10
initialDelaySeconds: 5