반응형
쿠버네티스의 거의 모든 명령어에서 (아마 전부일 가능할 듯 합니다.) yaml 형식으로 볼 수 있는데, 이를 리다이렉션 기호(>)를 사용해 파일로 만들 수 있습니다. 그 중 생성 및 실행을 한번에 하는 kubectl run을 이용해 알아보도록 하겠습니다.
먼저 yaml 형식으로 보는 옵션은 -o yaml 입니다. 이를 명령어에 끼워주면 해당 내용을 볼 수 있습니다.
이 yaml 디스크립터에서 사용한 API 버전
- apiVersion: v1 (API 버전)
쿠버네티스 오브젝트/리소스 유형
- kind: Pod (파드 오브젝트를 정의)
파드 메타데이터
- metadata (해당 파드의 메타데이터를 정의)
- creationTimestamp (파드가 생성된 시간)
- labels (해당 파드에 적용된 라벨을 정의)
- name (파드의 이름을 나타냅니다.)
- namespace (파드가 생성될 네임스페이스를 나타냅니다.)
- resourceVersion (해당 오브젝트의 버전을 나타냅니다.)
- uid (해당 오브젝트의 고유 식별자를 나타냅니다.)
파드 정의와 내용
- spec (파드의 구성을 정의합니다.)
- containers (파드에 포함될 컨테이너를 정의합니다.)
- image (사용될 이미지를 정의합니다.)
- imagePullPolicy (이미지를 가져올 방법을 정의합니다.)
- name (컨테이너의 이름을 나타냅니다.)
- resources (컨테이너에 할당할 리소스를 정의합니다.)
- terminationMessagePath (컨테이너 종료 시 출력할 메시지를 저장할 경로를 나타냅니다.)
- terminationMessagePolicy (종료 시 출력할 메시지의 저장 방법을 나타냅니다.)
- volumeMounts (컨테이너에 마운트할 볼륨을 정의합니다.)
- mountPath (볼륨을 마운트할 경로를 정의합니다.)
- readOnly (볼륨을 읽기 전용으로 마운트할지 여부를 정의합니다.)
- dnsPolicy (DNS 정책을 나타냅니다.)
- enableServiceLinks (서비스 링크 사용 여부를 정의합니다.)
- preemptionPolicy (선점 정책을 나타냅니다.)
- priority (우선순위를 정의합니다.)
- restartPolicy (컨테이너 재시작 정책을 나타냅니다.)
- schedulerName (사용할 스케줄러의 이름을 정의합니다.)
- securityContext (보안 컨텍스트를 정의합니다.)
- serviceAccount (파드에서 사용할 서비스 계정의 이름을 나타냅니다.)
- serviceAccountName (파드에서 사용할 서비스 계정의 이름을 나타냅니다.)
- terminationGracePeriodSeconds (컨테이너를 종료하기 위해 기다리는 시간을 정의합니다.)
- tolerations (허용 정책을 나타냅니다)
- effect (정책의 영향을 정의합니다.)
- key (정책에서 사용될 키를 나타냅니다.)
- operator (정책에서 사용될 연산자를 나타냅니다.)
- tolerationSeconds (정책을 허용하는 시간을 정의합니다.)
- volumes (파드에서 사용될 볼륨을 정의합니다.)
- projected (여러 볼륨 소스를 하나의 볼륨으로 집합하는 프로젝션을 정의합니다.)
- defaultMode (볼륨에서 파일 권한을 설정하는 데 사용됩니다.)
- sources (프로젝션에서 사용할 볼륨 소스를 정의합니다.)
- serviceAccountToken (서비스 계정 토큰을 사용할 수 있도록 합니다.)
- expirationSeconds (토큰의 만료 시간을 정의합니다.)
- path (토큰을 사용할 경로를 나타냅니다.)
- configMap (구성 맵에서 데이터를 사용합니다.)
- items (구성 맵에서 사용할 데이터를 정의합니다.)
- downwardAPI (다운워드 API를 사용합니다.)
- fieldRef (다운워드 API에서 사용할 필드의 참조를 정의합니다.)
- apiVersion (API 버전을 나타냅니다.)
- fieldPath (필드의 경로를 나타냅니다.)
- metadata (메타데이터를 사용합니다.)
- namespace (네임스페이스를 사용합니다.)
파드와 그 안의 여러 컨테이너의 상세한 상태
- status (파드의 상태를 정의합니다.)
- phase (파드의 현재 상태를 나타냅니다.)
- qosClass (파드의 QoS 클래스를 나타냅니다.)
각 줄마다의 내용을 정리하였고, 이 내용들을 암기하는 것 보다는 어떤 내용이 필요하고 어떤 내용은 필요 없는지 살펴볼 수 있는 눈을 기르는 것이 중요합니다. 이후에 이 구성이 어떻게 사용되는지 어떤 것이 필요한지 포스팅해보도록 하겠습니다. 혹시 궁금한 것이 있다면 댓글을 남겨주세요. 그 내용에 대해 먼저 조사해보도록 하겠습니다. :)
반응형
'Container > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 레이블(Label)과 유사한 정보 분리 방법(Annotation, Namespace) (0) | 2023.04.05 |
---|---|
[Kubernetes] 쿠버네티스에서 레이블(Label)이란? (0) | 2023.04.05 |
[Kubernetes] kubeadm 명령어 모음 (0) | 2023.04.02 |
[Kubernetes] Kubernetes 명령어 모음 [6] 접속, 보안 (0) | 2023.04.02 |
[Kubernetes] Kubectl 명령어 모음 [5] 배포 (0) | 2023.04.02 |