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