kubernetes yaml file
yaml 파일에서의 key 값들에 대한 설명을 알아봅시다. kubernetes에 관한 내용을 꾸준히 추가하면서 관련 된 내용들도 추가될 예정입니다.
기본 스펙 설명
yaml// my-yaml-test1.yaml
apiVersion: v1
kind: Pod
metadata:
name: my-yaml-test1
spec:
containers:
- name: nginx
image: nginx:1.24
apiVersion
- 만들고자 하는 객체의 버전을 적어주는 곳입니다. 위의 예시에서는 Pod를 만드는 경우로 v1을 적어주면 됩니다. 객체에 따른 버전은 정해져 있고, 이는 공식 문서를 참고해서 적어주면 됩니다.
kind
- 만들고자 하는 객체의 종류를 적어주는 곳입니다. 위의 예를 참고하면 Pod 객체를 만들기 때문에 Pod를 적어줍니다.
metadata
- 여러개를 key/value 형태로 추가하는 것이 가능합니다. 위에서는 name만 적은 것인고, name은 객체를 식별하는 id와 같은 역할을 합니다.
spec
- 여러가지 스펙을 정할 수 있습니다. 위의 예에서는 컨테이너의 스펙을 정의해 주었습니다.
spec > containers
- docker image를 통해서 컨테이너를 만들 수 있습니다. name과 image를 추가하여 복수갸의 컨테이너도 추가하는 것이 가능합니다. 만약 위와 같이 주소 없이 이름만 적게 되면 docker hub에서 image를 가져오게 됩니다.
심화 명령어 설명
spec > restartPolicy
- OnFailure : 작동 실패 시 재시작합니다. 만약 정상 종료 된다면 재시작 하지 않습니다.
- Never : 에러가 발생해도 재시작하지 않습니다.
-
클릭
CrashLoopBackOff
- 재시작 후에 바로 시작하지 말고 잠시 대기 후에 시작하도록 셋팅하는 부분을 나타냅니다.
kubernetes command
Pod
yaml로 pod 생성$ kubectl apply -f yaml파일
$ kubectl apply -f my-yaml-test1.yaml
생성된 pod 확인$ kubectl get po
$ kubectl get pod
$ kubectl get pods
- Pod의 상태 변화를 확인하는 것이 가능합니다. Running, Completed와 같은 상태 변화를 확인합니다.
생성된 pod 상세정보 확인$ kubectl describe pod 파드이름
$ kubectl describe pod my-yaml-test1
- 정상 종료된 것을 describe를 통해 확인이 가능합니다.
- 재시작 정책이 잘 작동하는지 확인하는 것이 가능합니다.
생성된 pod 삭제$ kubectl delete pod 파드이름
$ kubectl delete pod my-yaml-test1
kubectl explain
kubectl explain pod
kubectl explain pod.spec
-
특정 객체의 세부스펙 조회가 가능합니다.
-
명령어를 확인할 때 사용합니다.