반응형
728x170
apiVersion: apps/v1 #반드시 선언되어야함 kubernetes 버전 참고
kind: Deployment #반드시 선언되어야함 쿠버네티스 오브젝트의 종류
metadata: #반드시 선언되어야함
name: #오브젝트의 unique한 이름
namespace: #일반적으로 namespace를 지정해줌
resourceVersion:
generation: 30
creationTimestamp:
labels: #쿠버네티스 오브젝트를 선택하기 위한 것임 , 일반적으로 Selector에서 이용하기 위해 선언
app: random
annotations: #어노테이션은 오브젝트를 식별하거나 선택할 때 쓰지 못한다. 하지만 레이블에서 허용되지 않는 문자를 포함할 수 있다.(https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/annotations/)
selfLink: #아직 어디다 쓰는지 모름
status: #오브젝트의 상태라고 한다. 쿠버네티스 컨트롤 플레인은 모든 오브젝트의 실제 상태를 사용자가 의도한 상태와 일치시키기 위해 끊임없이 그리고 능동적으로 관리한다. (status 를 spec에 일치시키려고함)
#이 status를 직접 작성하지는 않으며 실행 중에 status로 오브젝트의 상태를 알 수 있다.
observedGeneration: 30
replicas: 11
updatedReplicas: 11
readyReplicas: 11
availableReplicas: 11
conditions:
- type: Progressing
status: 'True'
spec: #반드시 선언되어야함 오브젝트의 명세라고 한다.
replicas: 11
selector: # Selector 역할: app : abc 레이블이 있는 노드에 스케줄링됨
matchLabels:
app: abc
template: #Replica 생성 시 어떻게 만들어야 하는지 쓰여진 명세
metadata:
creationTimestamp: null
labels:
app: random
spec:
volumes: #저장 공간을 뜻함
- name: a1
configMap:
name: a2
initContainers: #가장 먼저 시동되는 컨테이너(특수함)(https://kubernetes.io/ko/docs/concepts/workloads/pods/init-containers/)
containers: #실제 파드가 가지고 있는 컨테이너
- name: c1
image: #링크가 될 수 있고 디렉토리가 될 수 있음
ports: #파드 안에서 사용되는 포트(컨테이너)
- containerPort: 8080
resources: #해당 컨테이너의 자원 명세
limits:
cpu: 1.0 #1코어
memory: 2Gi
requests:
cpu: 1500m #1.5코어
memory: 2Gi
volumeMounts:
- name: v1
mountPath: /v1/v2
readinessProbe: #컨테이너의 probe 명세
httpGet: #handler 중 하나
path: /healthz
port: 8080
initialDelaySeconds: 30 # readiness probe에 대한 field들
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 6
lifecycle: #컨테이너의 셍명주기(https://kubernetes.io/ko/docs/concepts/containers/container-lifecycle-hooks/)
preStop:
exec:
command:
- /bin/sh
- '-c'
- sleep 10
terminationMessagePolicy: File
imagePullPolicy: Always
restartPolicy: Always #재시작 정책
terminationGracePeriodSeconds: 60 #컨테이너 강제 종료 제한시간
nodeSelector: #특정 노드를 고를 때 씀(노드에 GPU가 있어야만 한다던가 등)
l1: r1
strategy: #어떤 식으로 파드를 관리할 것인지
type: RollingUpdate #롤링 업데이트 : 서비스를 중단하지 않으면서 업데이트 가능(https://kubernetes.io/ko/docs/tutorials/kubernetes-basics/update/update-intro/)
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
728x90
반응형
그리드형
'클라우드 > Docker & K8s' 카테고리의 다른 글
구글 스터디잼 (0) | 2022.10.21 |
---|---|
K8s, Kubernetes - 기본 개념 (추가 중) (0) | 2022.10.06 |
쿠버네티스 - Probe (1) | 2022.07.30 |
쿠버네티스 기본 개념 (3) | 2022.07.09 |
Docker, 도커의 개념 (0) | 2022.07.09 |