ขั้นตอนที่ 7 - ติดตั้งและกำหนดค่าส่วนประกอบที่จำเป็นล่วงหน้า
ตอนนี้คุณสามารถเข้าถึง Helm charts ได้แล้ว จึงสามารถนำไป deploy ได้
- ขั้นแรก ให้ติดตั้งส่วนประกอบที่จำเป็นล่วงหน้า
helm upgrade --install rabbitmq-cluster-operator oci://glasswallhub.azurecr.io/docker/bitnamicharts/rabbitmq-cluster-operator \
--atomic \
--version 4.4.34 \
--set global.imageRegistry=glasswallhub.azurecr.io \
--set global.imagePullSecrets[0]=acr-secret \
--set global.security.allowInsecureImages=true \
--set msgTopologyOperator.fullnameOverride=rabbitmq-messaging-topology-operator \
--set clusterOperator.image.repository="cgr.dev/rabbitmq-cluster-operator" \
--set clusterOperator.image.tag=2.17.0 \
--set msgTopologyOperator.image.repository="cgr.dev/rabbitmq-messaging-topology-operator" \
--set msgTopologyOperator.image.tag=1.18.3 \
--set credentialUpdaterImage.repository="cgr.dev/rabbitmq-default-user-credential-updater" \
--set credentialUpdaterImage.tag=1.0.12 \
--set rabbitmqImage.repository="cgr.dev/rabbitmq" \
--set rabbitmqImage.tag=4.2.6 \
--set clusterOperator.watchAllNamespaces=false \
--set clusterOperator.watchNamespaces={cdrplatform} \
--set msgTopologyOperator.watchAllNamespaces=false \
--set msgTopologyOperator.watchNamespaces={cdrplatform} \
--set clusterOperator.resources.requests.cpu=100m \
--set clusterOperator.resources.requests.memory=256Mi \
--set clusterOperator.resources.limits.cpu=100m \
--set clusterOperator.resources.limits.memory=256Mi \
--set msgTopologyOperator.resources.requests.cpu=100m \
--set msgTopologyOperator.resources.requests.memory=256Mi \
--set msgTopologyOperator.resources.limits.cpu=100m \
--set msgTopologyOperator.resources.limits.memory=256Mi
helm upgrade --install keda "oci://glasswallhub.azurecr.io/ghcr/home-operations/charts-mirror/keda" --atomic \
--set global.image.registry="glasswallhub.azurecr.io" \
--set imagePullSecrets[0].name=acr-secret \
--set image.keda.repository="cgr.dev/keda" \
--set image.keda.tag=2.19.0 \
--set image.metricsApiServer.repository="cgr.dev/keda-metrics-apiserver" \
--set image.metricsApiServer.tag=2.19.0 \
--set image.webhooks.repository="cgr.dev/keda-admission-webhooks" \
--set image.webhooks.tag=2.19.0 \
--version 2.19.0
helm upgrade --install nginx-ingress oci://glasswallhub.azurecr.io/k8s/ingress-nginx/charts/ingress-nginx --atomic \
--set imagePullSecrets[0].name=acr-secret \
--set global.image.registry="glasswallhub.azurecr.io" \
--set controller.image.image="cgr.dev/ingress-nginx-controller" \
--set controller.image.tag=1.14.4-nginx.1.27 \
--set controller.admissionWebhooks.patch.image.image="cgr.dev/kube-webhook-certgen" \
--set controller.admissionWebhooks.patch.image.tag=1.14.4 \
--set controller.image.digest="" \
--set controller.admissionWebhooks.patch.image.digest="" \
--set controller.service.annotations."service\.beta\.kubernetes\.io/azure-load-balancer-health-probe-request-path"=/healthz \
--version v4.15.0
helm upgrade --install external-secrets oci://glasswallhub.azurecr.io/ghcr/external-secrets/charts/external-secrets \
--atomic \
--set imagePullSecrets[0].name=acr-secret \
--set webhook.imagePullSecrets[0].name=acr-secret \
--set certController.imagePullSecrets[0].name=acr-secret \
--set image.repository="glasswallhub.azurecr.io/cgr.dev/external-secrets" \
--set image.tag=2.1.0 \
--set webhook.image.repository="glasswallhub.azurecr.io/cgr.dev/external-secrets" \
--set webhook.image.tag=2.1.0 \
--set certController.image.repository="glasswallhub.azurecr.io/cgr.dev/external-secrets" \
--set certController.image.tag=2.1.0 \
--version 2.1.0 \
--set installCRDs=true
หมายเหตุ: เมื่ออัปเกรด Helm chart
rabbitmq-cluster-operatorจะไม่มีการติดตั้ง CRDs หากมีการเพิ่ม CRDs ใหม่ในรีลีสใหม่ จำเป็นต้องติดตั้ง CRDs ด้วยตนเองเพื่อหลีกเลี่ยงปัญหากับ pod ของ RabbitMQ cluster operator ที่กำลังทำงานอยู่
helm pull oci://glasswallhub.azurecr.io/docker/bitnamicharts/rabbitmq-cluster-operator --untar
kubectl apply -f rabbitmq-cluster-operator/crds/
- จากนั้น ติดตั้งส่วนประกอบสนับสนุน
helm upgrade --install cdrplatform-storage cdrplatform-storage
helm upgrade --install cdrplatform-rabbitmq cdrplatform-rabbitmq \
--set image.registry=glasswallhub.azurecr.io \
--set image.tag="2.18.1-183506" \
--set cloud_provider=azure
สำหรับขั้นตอนถัดไป ให้เลือกวิธีเดียวกันกับที่คุณใช้กำหนดค่าการเข้าถึง Key Vault ในขั้นตอนที่ 4 (Managed identity หรือ Service principal) และทำตามขั้นตอนที่เกี่ยวข้องด้านล่างเพื่อกำหนดค่า external secrets และติดตั้งการซิงโครไนซ์ secret
7A - Managed identity
- รับ Kubelet Managed Identity Client ID ด้วยคำสั่งต่อไปนี้
az aks show -g "${rgp}" -n "${aksname}"
ค้นหาองค์ประกอบเดียวกันกับครั้งที่แล้วคือ "identityProfile/kubeletidentity" แต่ครั้งนี้คุณต้องใช้ค่า Client ID
ถัดไป ให้ติดตั้งคอมโพเนนต์สนับสนุน (โดยตรวจสอบให้แน่ใจว่าแทนที่
${kvname}ด้วยชื่อ Key Vault และแทนที่${MIclientID}ด้วยค่าที่ดึงมาข้างต้น):helm upgrade --install cdrplatform-external-secrets cdrplatform-external-secrets \
--set cloud_providers.azurekv.enabled=true \
--set cloud_providers.azurekv.vaultUrl="https://${kvname}.vault.azure.net" \
--set cloud_providers.azurekv.clientId=${MIclientID}
ผู้ใช้ US Government
ใช้คำสั่งต่อไปนี้เมื่อปรับใช้ไปยัง Azure US Government
การตั้งค่าเหล่านี้ช่วยให้มั่นใจว่าจะใช้ endpoint และค่า environment ที่ถูกต้อง:
helm upgrade --install cdrplatform-external-secrets cdrplatform-external-secrets \
--set cloud_providers.azurekv.enabled=true \
--set cloud_providers.azurekv.vaultUrl="https://${kvname}.vault.usgovcloudapi.net" \
--set cloud_providers.azurekv.clientId=${MIclientID} \
--set cloud_providers.azurekv.environmentType=USGovernmentCloud
OR
7B - Service principal
นอกเหนือจาก '
ClientID' และ 'ClientSecret' ที่คุณตั้งค่าไว้ในขั้นตอน Service principal ก่อนหน้านี้แล้ว คุณจะต้องป้อน 'tenantId' ของ Service principal ด้วย โดยสามารถพบ 'tenantID' ได้ใน Azure Active Directory
- เมื่อได้มาแล้ว ให้ป้อนคำสั่งต่อไปนี้เพื่อติดตั้ง cdrplatform external secrets ให้ใช้ Service principal ที่ต้องการ
helm upgrade --install cdrplatform-external-secrets cdrplatform-external-secrets --create-namespace \
--set cloud_providers.azurekv.enabled=true \
--set cloud_providers.azurekv.authType=ServicePrincipal \
--set cloud_providers.azurekv.tenantId=${tenantid} \
--set cloud_providers.azurekv.authSecretRef.clientId.name=keyvault-service-principal \
--set cloud_providers.azurekv.authSecretRef.clientId.key=ClientID \
--set cloud_providers.azurekv.authSecretRef.clientSecret.name=keyvault-service-principal \
--set cloud_providers.azurekv.authSecretRef.clientSecret.key=ClientSecret \
--set cloud_providers.azurekv.vaultUrl="https://"${kvname}".vault.azure.net"
ผู้ใช้ Azure US Government
ใช้คำสั่งต่อไปนี้เมื่อปรับใช้ไปยัง Azure US Gov.
การตั้งค่าเหล่านี้ช่วยให้มั่นใจว่าจะใช้ endpoint และค่า environment ที่ถูกต้อง
helm upgrade --install cdrplatform-external-secrets cdrplatform-external-secrets --create-namespace \
--set cloud_providers.azurekv.enabled=true \
--set cloud_providers.azurekv.authType=ServicePrincipal \
--set cloud_providers.azurekv.tenantId=${tenantid} \
--set cloud_providers.azurekv.authSecretRef.clientId.name=keyvault-service-principal \
--set cloud_providers.azurekv.authSecretRef.clientId.key=ClientID \
--set cloud_providers.azurekv.authSecretRef.clientSecret.name=keyvault-service-principal \
--set cloud_providers.azurekv.authSecretRef.clientSecret.key=ClientSecret \
--set cloud_providers.azurekv.vaultUrl="https://"${kvname}".vault.usgovcloudapi.net" \
--set cloud_providers.azurekv.environmentType=USGovernmentCloud