GKE дээр Helm, Күбернетес ашиглан жишээ апплкейшн суулгаж тохируулах
- Google Kubernetes Engine дээр кластер үүсгэх
- Helm, Tiller суулгах
- TLS Key үүсгэх
- Odoo-г суулгах
Google Kubernetes Engine дээр кластер үүсгэх
Google Cloud Platform дээр Google Kubernetes Engine дээр кластер үүсгэх Helm Chart суулгаж TLS, Cert-Manager суулган тохируулж сүүлд нь Odoo-г суулгаж үзнэ.
gcloud
дамжуулан GCP - тэй холбогдоно. Google Cloud Platform - бүртгэл байхгүй бол эхлээд бүртгүүлээрэй.
kubectl
gcloud суулгасан бол дээр байгаа гарын авлага ашиглахгүй kubectl суулгая гэвэл:
gcloud components install kubectl
Кластер үүсгэхээсээ ѳмнѳ нэвтрэн орно:
gcloud auth application-default login
Нэвтрэн орсон бол доорк коммандараар шинэ прожект үүсгэнэ:
gcloud projects create ${PROJECT}
Эсхүл заавал CLI-ээр үүсгэхгүй гэвэл GCP дээрээс browser дээрээс орон шинэ прожект үүсгэж болно. Терминал дээрээ ѳѳрийн тѳслийг default болгож zone тохиргоо хийх бол:
gcloud config set project ${PROJECT}
gcloud config set compute/zone ${ZONE}
Zone жигсаалт авах бол: gcloud compute zones list
Одоо шинээр үүсгэсэн тѳсѳл дотроо кластер үүсгэе. Google Kubernetes Engine -г идэвхжүүлээгүй бол эхлээд brwoser-ѳѳсѳѳ GCP -г ороод GKE-г enable хийх хийнэ. Kubernetes Engine -г ороод browser дээрээс анх удаа кластер үүсгэж байгаа хичээл болон жишиг кластер тохироог санал болгоно. Тэр аргаар нь үүсгэж болно. Эсхүл доор байгаа командаар үүсгэж болно.
gcloud beta container --project ${PROJECT} clusters create "my-first-cluster-1" \
--zone "us-central1-c" \
--no-enable-basic-auth \
--cluster-version "1.16.15-gke.4901" \
--machine-type "e2-medium" \
--image-type "COS" \
--disk-type "pd-standard" \
--disk-size "100" \
--scopes "https://www.googleapis.com/auth/devstorage.read_only","https://www.googleapis.com/auth/logging.write","https://www.googleapis.com/auth/monitoring","https://www.googleapis.com/auth/servicecontrol","https://www.googleapis.com/auth/service.management.readonly","https://www.googleapis.com/auth/trace.append" \
--no-enable-cloud-logging \
--no-enable-cloud-monitoring \
--no-enable-ip-alias \
--network "projects/${PROJECT}/global/networks/default" \
--subnetwork "projects/${PROJECT}/regions/us-central1/subnetworks/default" \
--addons HorizontalPodAutoscaling \
--enable-autoupgrade \
--enable-autorepair \
--enable-autoscaling \
--num-nodes "2" \
--min-nodes "2" \
--max-nodes "5"
zones
: Кластер үүсгэж байгаа сервверийн байршил.
machine-type
: Кластерын үүсгэж байгаа тѳхѳѳрѳмжийн сонголт. Ямар тѳрлийн тѳхѳѳрѳмж сонгхож байгаагаас үнэ болон хэдэн node үүсгэх лимит зэрэгг тодорохйлогдоно. Дэлгэрэнгүй судлах бол: Machine Types.
addons
: Автоматаар буюу ачаалал их болох үед node ѳргѳтгѳл хийх тохиргоо оруулав: HorizontalPodAutoscaling.
min-node
: Автомат ѳргѳтгѳл хийж байх үед кластерт хамгийн бага байх node.
max-node
: Автомат ѳргѳтгѳл хийж байх үед кластерт хамгийн их байх node.
Шинээр үүсгэсэн кластерт role binding тохируулна:
gcloud container clusters get-credentials ${Кластер нэр}
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
Helm суулгах
Helm суулгах:
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get | bash
kubectl create serviceaccount -n kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule \
--clusterrole=cluster-admin --serviceaccount=kube-system:tiller
to be continued…