Bước 7 - Cài đặt và cấu hình các thành phần tiên quyết
Giờ đây khi bạn đã có quyền truy cập vào các biểu đồ Helm, chúng có thể được triển khai.
- Trước tiên, hãy cài đặt các thành phần tiên quyết.
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
Lưu ý: khi nâng cấp Helm chart
rabbitmq-cluster-operator, các CRD sẽ không được cài đặt. Nếu các bản phát hành mới đưa vào các CRD mới, các CRD đó cần được cài đặt thủ công để tránh sự cố với các pod RabbitMQ cluster operator đang chạy.
helm pull oci://glasswallhub.azurecr.io/docker/bitnamicharts/rabbitmq-cluster-operator --untar
kubectl apply -f rabbitmq-cluster-operator/crds/
- Sau đó, hãy cài đặt các thành phần hỗ trợ.
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
Đối với bước tiếp theo, hãy chọn cùng phương thức mà bạn đã dùng để cấu hình quyền truy cập vào Key Vault ở Bước 4 (Managed identity hoặc Service principal), rồi làm theo các bước tương ứng bên dưới để cấu hình external secrets và cài đặt đồng bộ hóa secret.
7A - Managed identity
- Lấy Kubelet Managed Identity Client ID bằng lệnh sau.
az aks show -g "${rgp}" -n "${aksname}"
Tìm cùng phần tử như lần trước là "identityProfile/kubeletidentity" nhưng lần này bạn cần giá trị Client ID.
Tiếp theo, cài đặt các thành phần hỗ trợ (đảm bảo
${kvname}được thay thế bằng tên Key Vault và${MIclientID}được thay bằng giá trị lấy ở trên):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}
Người dùng Chính phủ Hoa Kỳ
Sử dụng lệnh sau khi triển khai lên Azure US Government.
Các thiết lập này đảm bảo sử dụng đúng endpoint và giá trị môi trường:
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
Ngoài '
ClientID' và 'ClientSecret' mà bạn đã đặt ở bước Service principal trước đó, bạn cũng sẽ cần nhập 'tenantId' của Service principal. 'tenantID' có thể được tìm thấy trong Azure Active Directory.
- Sau khi lấy được, nhập lệnh sau để cài đặt cdrplatform external secrets nhằm sử dụng Service principal mong muốn.
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"
Người dùng Azure US Government
Sử dụng lệnh sau khi triển khai lên Azure US Gov.
Các thiết lập này đảm bảo sử dụng đúng endpoint và giá trị môi trường
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