Langkah 7 - Instal dan konfigurasikan komponen prasyarat
Sekarang setelah Anda memiliki akses ke chart Helm, chart tersebut dapat di-deploy.
- Pertama, instal komponen prasyarat.
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
Catatan: saat melakukan upgrade chart Helm
rabbitmq-cluster-operator, CRD tidak akan diinstal. Jika CRD baru diperkenalkan dalam rilis baru, CRD tersebut perlu diinstal secara manual untuk menghindari masalah pada pod operator cluster RabbitMQ yang sedang berjalan.
helm pull oci://glasswallhub.azurecr.io/docker/bitnamicharts/rabbitmq-cluster-operator --untar
kubectl apply -f rabbitmq-cluster-operator/crds/
- Kemudian, instal komponen pendukung.
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
Untuk langkah berikutnya, pilih metode yang sama yang Anda gunakan untuk mengonfigurasi akses Anda ke Key Vault pada Langkah 4 (Managed identity atau Service principal), lalu ikuti langkah yang sesuai di bawah ini untuk mengonfigurasi external secrets dan menginstal sinkronisasi secret.
7A - Managed identity
- Dapatkan Kubelet Managed Identity Client ID melalui perintah berikut.
az aks show -g "${rgp}" -n "${aksname}"
Temukan elemen yang sama seperti sebelumnya, yaitu "identityProfile/kubeletidentity", tetapi kali ini Anda memerlukan nilai Client ID.
Selanjutnya, instal komponen pendukung (pastikan
${kvname}diganti dengan nama Key Vault dan${MIclientID}diganti dengan nilai yang diperoleh di atas):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}
Pengguna Pemerintah AS
Gunakan perintah berikut saat melakukan deployment ke Azure US Government.
Pengaturan ini memastikan endpoint dan nilai environment yang benar digunakan:
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
Selain '
ClientID' dan 'ClientSecret' yang Anda tetapkan pada langkah Service principal sebelumnya, Anda juga perlu memasukkan 'tenantId' dari Service principal. 'tenantID' dapat ditemukan di Azure Active Directory.
- Setelah diperoleh, masukkan perintah berikut untuk menginstal cdrplatform external secrets agar menggunakan Service principal yang diinginkan.
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"
Pengguna Azure US Government
Gunakan perintah berikut saat melakukan deployment ke Azure US Gov.
Pengaturan ini memastikan endpoint dan nilai environment yang benar digunakan
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