- create database ns
kubectl create namespace database
- create deployment for mysql
kubectl apply -f mysql-deployment.yaml -n database
Image base https://github.com/tiangolo/uvicorn-gunicorn-fastapi-docker
- create app ns
kubectl create namespace $namespace
- apply deployment, configMap, secret
kubectl apply -f sample-app-deployment.yaml,sample-app-configmap.yaml,sample-app-secret.yaml -n $namespace
kubectl port-forward svc/sample-app 8080:80 -n $namespace
- apiVersion の確認方法
Ex.kind: deployment
kubectl api-resources | grep deployments
- imageを指定して --dry-run オプションで作成されるオブジェクトをyamlファイルに出力
kubectl careate deploy mysql --image=mysql:8 --dry-run=client -o yaml > mysql-deployment.yaml
- localでアプリへの接続を確認
kubectl port-forward svc/sample-app 8080:80 -n $namespace
- コンテナ内に入って確認する(Ex.mysql)
kubectl get po -n database | grep mysql | head -1 | awk '{print $1}' // $container
kubectl exex -it $container --mysql -uroot -ppassword