개발 이야기/쿠버네티스

쿠버네티스 - YAML - 12

석구석구 2021. 7. 28. 00:43

쿠버네티스 리소스(파드를 포함하는)는 쿠버네티스 Rest Api 엔드포인트에 JSON 혹은 YAML 파일을 전송해 생성한다. Dockerfile이 가져다주는 이점들과 비슷한 맥락에서 설정은 파일로 나와 있는게 여러면에서 유리하다.

kubectl get pods
kubectl get po suk9-gnrzs -o yaml

현재 파드 목록을 출력한 뒤, 한 녀석을 골라 yaml 정의를 구경해보자.

 

이렇게 긴걸 언제 작성하지?

보다보면 이런 생각이 들텐데 걱정하지 않아도 된다. 실제로 우리가 작성하는 영역은 간소하다.

suk9.yaml

apiVersion: v1
kind: Pod
metadata:
  name: suk9
spec:
  containers:
  - image: seokkyulee/suk9
    name: suk9
    ports:
    - containerPort: 8080
      protocol: TCP

들여쓰기에 유의해서 작성하자. 이제 yaml 파일로부터 pods를 간단하게 생성할 수 있다.

kubectl create -f
kubectl get pods
kubectl get pods suk9 -o yaml
kubectl get pods suk9 -o json
kubectl logs suk9

만들어진 pod의 상태를 yaml, json로 확인해보고 로그도 가져와보자.

이렇게 소중히 만든 pod에 연결해 보고 싶을 것이다.

kubectl port-forward suk9 8888:8080
curl http://127.0.0.1:8888

로컬의 8888 포트를 suk9 파드의 8080 포트에 포워딩했다.