기본 인프라 구축

Ingress controller 설치

Untitled

Untitled

#온프로미스 환경에서의 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 생성