Kubernetes에서 서비스 배포
Kubernetes에서 서비스는 두 가지 구성 요소로 이루어져 있습니다.
- 환경 (Environments)
- 애플리케이션 (Applications)
그리고 애플리케이션에서 사용할 스토리지를 선택할 수 있으며, NFS 또는 Openstack이 제공하는 Cinder를 사용할 수 있습니다(이 경우 PaaS-TA를 사용).
사전 준비
kustomize 설치
kubectl 1.14 이상을 사용하고 있다면, kustomize가 내장되어 있으므로 이 섹션을 무시해도 됩니다. 대신 클러스터에서 최신 버전의 kubectl을 설치하는 것을 권장합니다. 그럼에도 불구하고 kustomize를 사용하고 싶다면, 공식 kustomize 문서를 참고하세요.
서비스 배포
배포 순서를 따라야 합니다.
환경 배포
$ kustomize build k8s/environments | kubectl apply -f -
혹은 kubectl만 사용하는 경우,
$ kubectl apply -k k8s/environments
애플리케이션 배포
NFS를 메인 스토리지로 사용하려면,
$ kustomize build k8s/stoage/nfs | kubectl apply -f -
혹은
$ kubectl apply -k k8s/stoage/nfs
Openstack의 스토리지(CINDER)를 메인 스토리지로 사용하는 경우,
$ kustomize build k8s/stoage/openstack | kubectl apply -f -
혹은
$ kubectl apply -k k8s/stoage/openstack
서비스 종료
단순히 배포 순서를 반대로 적용하면 됩니다.
NFS를 사용하는 경우,
$ kustomize build k8s/environments | kubectl delete -f -
$ kustomize build k8s/stoage/nfs | kubectl delete -f - --wait
혹은
$ kubectl delete -k k8s/environments
$ kubectl delete -k k8s/stoage/nfs --wait
Openstack의 경우도 비슷하므로 생략합니다.