기본 인프라 구축
Ingress controller 설치


#온프로미스 환경에서의 ingress controller
kubectl apply -f <https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.0/deploy/static/provider/baremetal/deploy.yaml>
#클라우드 환경에서의 ingress controller
kubectl apply -f <https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.10.1/deploy/static/provider/cloud/deploy.yaml>
Namespace 구성 및 라벨링
### 네임 스페이스 생성
kubectl create namespace frontend-ns
kubectl create namespace backend-ns
kubectl create namespace db-ns
### 네임 스페이스 라벨링
kubectl label namespaces frontend-ns tier=frontend
kubectl label namespaces backend-ns tier=backend
kubectl label namespaces db-ns tier=database
kubectl get namespaces --show-labels
DB 및 Backend에 사용할 secret 생성
### sc-db.yaml
kubectl create secret generic sc-db \
--from-literal=MYSQL_ROOT_PASSWORD=pass123# \
--from-literal=MYSQL_DATABASE=awswiki_db \
--from-literal=MYSQL_USER=kube-user \
--from-literal=MYSQL_ROOT_HOST="%" \
--from-literal=MYSQL_PASSWORD=pass123# \
--dry-run=client -o yaml > sc-db.yaml
### sc-db.yaml
kubectl create secret generic sc-back \
--from-literal=MYSQL_HOST=mysql-svc.db-ns.svc.cluster.local \
--from-literal=MYSQL_PORT=3306 \
--from-literal=MYSQL_DB=awswiki_db \
--from-literal=MYSQL_USER=kube-user \
--from-literal=MYSQL_PASSWORD=pass123# \
--dry-run=client -o yaml > sc-back.yaml
Open EBS 설치
### openebs
kubectl apply -f <https://openebs.github.io/charts/openebs-operator-lite.yaml>
kubectl apply -f <https://openebs.github.io/charts/openebs-lite-sc.yaml>
kubectl delete -f <https://openebs.github.io/charts/openebs-operator-lite.yaml>
kubectl delete -f <https://openebs.github.io/charts/openebs-lite-sc.yaml>
Open EBS용 PVC 생성