Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Docker
- Cluster
- SpringBoot
- 레디스
- 예제
- 자바
- 간단
- Zeppelin
- hive
- 클러스터
- redash
- EMR
- login
- 자동
- 로그인
- Kafka
- Redis
- spring
- Mac
- aws
- config
- vue
- ec2
- 설정
- fastcampus
- Jenkins
- gradle
- 머신러닝
- java
- 젠킨스
Archives
- Today
- Total
코알못
[CKA] yaml 및 APIVersion 본문
728x90
우리는 쿠버네티스에서 클러스터 관리 할때 yaml 파일, 또한 yaml 파일에서 Object 정의시 apiVersion 을 정의한다.
하지만 저자의 경우 왜 이렇게 쓰는지에 대해 알아본적이 없으며 알고 사용하는것과 모르고 사용하는것은 다르기에 간단하게 알아 보도록 하자!
우선 yaml은 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식이다.
아래와 같은 구조를 가지고 있으며
$ vi nginx.yaml
apiVersion: v1
kind: Pod
metadata:
labels:
run: my-nginx
name: my-nginx
spec:
containers:
- image: nginx
name: my-nginx
:wq!
작성하는 방법은 아래와 같다.
구분 | 내용 | 상세 |
들여쓰기 | 스페이스바 | Tab X |
문법 | Scalar 문법 | : 를 기준으로 key, value를 설정 예) key: value |
배열 문법 | '-' 문자로 나열 하며 예시는 아래와 같다. key: - a : name : - b : name : |
이제 API Version에 대해 알아보자!
쿠버네티스 Object 사용시에는 apiVersion에 대한 정의가 필요하며 Pod 오브젝트를 사용하기 위해 v1 버전을 사용하였다.
$ vi nginx.yaml
apiVersion: v1
kind: Pod
...
API Object 버전의 경우 alpha > beta > stable 버전으로 변경 되며 해당 버전은 Object 마다 다르며 맞게 사용해야하며 계속적으로 버전은 변경 될 수 있으니 확인하여 사용해야 하며 기본 Base 버전은 아래와 같다.
API Object | version |
Deployment | apps/v1 |
Pod | v1 |
ReplicaSet | apps/v1 |
ReplicationController | v1 |
Service | v1 |
PersistentVolume | v1 |
그럼 우리는 외워서 사용해야 할까? 정답은 아니다!
아래와 같이 explain 이라는 커멘드를 통해 버전을 확인해볼 수 있다.
[node1 ~]$ kubectl explain pod
KIND: Pod
VERSION: v1
끝!
728x90
'ETC' 카테고리의 다른 글
[CKA] Kubernetes init & infra & static container (0) | 2023.08.24 |
---|---|
[CKA] Kubernetes Self-healing LivenessProbe (0) | 2023.08.15 |
[CKA] Kubernetes 동작 원리 및 namespace (0) | 2023.08.12 |
[CKA] Pod 생성 하기 (0) | 2023.08.11 |
[CKA] K8S 직접 설치 (Cloud X) - 03 (1) | 2023.08.10 |
Comments