مشاركة عبر


إنشاء بنية أساسية لنشر قاعدة بيانات PostgreSQL عالية التوفر على خدمة Azure Kubernetes (AKS)

في هذه المقالة، يمكنك إنشاء موارد البنية الأساسية اللازمة لنشر قاعدة بيانات PostgreSQL عالية التوفر على AKS باستخدام عامل تشغيل CloudNativePG (CNPG ).

هام

يتم ذكر البرامج مفتوحة المصدر في جميع وثائق وعينات AKS. يتم استبعاد البرامج التي تنشرها من اتفاقيات مستوى خدمة AKS والضمان المحدود ودعم Azure. أثناء استخدامك للتكنولوجيا مفتوحة المصدر جنبا إلى جنب مع AKS، راجع خيارات الدعم المتوفرة من المجتمعات المحلية المعنية ومشرفي المشاريع لوضع خطة.

تتحمل Microsoft مسؤولية بناء الحزم مفتوحة المصدر التي ننشرها على AKS. تتضمن هذه المسؤولية امتلاك ملكية كاملة لعملية البناء والمسح الضوئي والتوقيع والتحقق من الصحة وإصلاحها، بالإضافة إلى التحكم في الثنائيات في صور الحاوية. لمزيد من المعلومات، راجع إدارة الثغرات الأمنية لتغطية دعم AKS وAKS.

قبل البدء

تعيين متغيرات البيئة

تعيين متغيرات البيئة التالية للاستخدام في هذا الدليل:

export SUFFIX=$(cat /dev/urandom | LC_ALL=C tr -dc 'a-z0-9' | fold -w 8 | head -n 1)
export LOCAL_NAME="cnpg"
export TAGS="owner=user"
export RESOURCE_GROUP_NAME="rg-${LOCAL_NAME}-${SUFFIX}"
export PRIMARY_CLUSTER_REGION="canadacentral"
export AKS_PRIMARY_CLUSTER_NAME="aks-primary-${LOCAL_NAME}-${SUFFIX}"
export AKS_PRIMARY_MANAGED_RG_NAME="rg-${LOCAL_NAME}-primary-aksmanaged-${SUFFIX}"
export AKS_PRIMARY_CLUSTER_FED_CREDENTIAL_NAME="pg-primary-fedcred1-${LOCAL_NAME}-${SUFFIX}"
export AKS_PRIMARY_CLUSTER_PG_DNSPREFIX=$(echo $(echo "a$(openssl rand -hex 5 | cut -c1-11)"))
export AKS_UAMI_CLUSTER_IDENTITY_NAME="mi-aks-${LOCAL_NAME}-${SUFFIX}"
export AKS_CLUSTER_VERSION="1.32"
export PG_NAMESPACE="cnpg-database"
export PG_SYSTEM_NAMESPACE="cnpg-system"
export PG_PRIMARY_CLUSTER_NAME="pg-primary-${LOCAL_NAME}-${SUFFIX}"
export PG_PRIMARY_STORAGE_ACCOUNT_NAME="hacnpgpsa${SUFFIX}"
export PG_STORAGE_BACKUP_CONTAINER_NAME="backups"
export MY_PUBLIC_CLIENT_IP=$(dig +short myip.opendns.com @resolver3.opendns.com)

تثبيت الملحقات المطلوبة

قم بتثبيت الملحقات اللازمة لتكامل Kubernetes ومراقبته:

az extension add --upgrade --name k8s-extension --yes
az extension add --upgrade --name amg --yes

كشرط أساسي لاستخدام kubectl، تحتاج أولا إلى تثبيت Krew، متبوعا بتثبيت المكون الإضافي CNPG. تمكن هذه التثبيتات إدارة عامل تشغيل PostgreSQL باستخدام الأوامر اللاحقة.

(
    set -x; cd "$(mktemp -d)" &&
    OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
    ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
    KREW="krew-${OS}_${ARCH}" &&
    curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
    tar zxvf "${KREW}.tar.gz" &&
    ./"${KREW}" install krew
)

export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH"

kubectl krew install cnpg

إنشاء مجموعة موارد

إنشاء مجموعة موارد للاحتفاظ بالموارد التي تقوم بإنشائها في هذا الدليل باستخدام az group create الأمر .

az group create \
    --name $RESOURCE_GROUP_NAME \
    --location $PRIMARY_CLUSTER_REGION \
    --tags $TAGS \
    --query 'properties.provisioningState' \
    --output tsv

إنشاء هوية مُدارة يعينها المستخدم

في هذا القسم، يمكنك إنشاء هوية مدارة معينة من قبل المستخدم (UAMI) للسماح ل CNPG PostgreSQL باستخدام هوية حمل عمل AKS للوصول إلى Azure Blob Storage. يسمح هذا التكوين لنظام مجموعة PostgreSQL على AKS بالاتصال ب Azure Blob Storage دون سر.

  1. إنشاء هوية مدارة يعينها المستخدم باستخدام az identity create الأمر .

    AKS_UAMI_WI_IDENTITY=$(az identity create \
        --name $AKS_UAMI_CLUSTER_IDENTITY_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $PRIMARY_CLUSTER_REGION \
        --output json)
    
  2. تمكين هوية حمل عمل AKS وإنشاء حساب خدمة لاستخدامه لاحقا في هذا الدليل باستخدام الأوامر التالية:

    export AKS_UAMI_WORKLOAD_OBJECTID=$( \
        echo "${AKS_UAMI_WI_IDENTITY}" | jq -r '.principalId')
    export AKS_UAMI_WORKLOAD_RESOURCEID=$( \
        echo "${AKS_UAMI_WI_IDENTITY}" | jq -r '.id')
    export AKS_UAMI_WORKLOAD_CLIENTID=$( \
        echo "${AKS_UAMI_WI_IDENTITY}" | jq -r '.clientId')
    
    echo "ObjectId: $AKS_UAMI_WORKLOAD_OBJECTID"
    echo "ResourceId: $AKS_UAMI_WORKLOAD_RESOURCEID"
    echo "ClientId: $AKS_UAMI_WORKLOAD_CLIENTID"
    

معرف الكائن هو معرف فريد لمعرف العميل (المعروف أيضا باسم معرف التطبيق) الذي يعرف بشكل فريد أساس أمان من نوع التطبيق داخل مستأجر معرف Microsoft Entra. معرف المورد هو معرف فريد لإدارة مورد وتحديد موقعه في Azure. هذه القيم مطلوبة لتمكين هوية حمل عمل AKS.

يقوم عامل تشغيل CNPG تلقائيا بإنشاء حساب خدمة يسمى postgres الذي تستخدمه لاحقا في الدليل لإنشاء بيانات اعتماد موحدة تمكن وصول OAuth من PostgreSQL إلى Azure Storage.

إنشاء حساب تخزين في المنطقة الأساسية

  1. إنشاء حساب تخزين كائن لتخزين النسخ الاحتياطية PostgreSQL في المنطقة الأساسية باستخدام az storage account create الأمر .

    az storage account create \
        --name $PG_PRIMARY_STORAGE_ACCOUNT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $PRIMARY_CLUSTER_REGION \
        --sku Standard_ZRS \
        --kind StorageV2 \
        --query 'provisioningState' \
        --output tsv
    
  2. قم بإنشاء حاوية التخزين لتخزين Write Ahead Logs (WAL) وPostgreSQL العادية عند الطلب والنسخ الاحتياطية المجدولة az storage container create باستخدام الأمر .

    az storage container create \
        --name $PG_STORAGE_BACKUP_CONTAINER_NAME \
        --account-name $PG_PRIMARY_STORAGE_ACCOUNT_NAME \
        --auth-mode login
    

    مثال على الإخراج:

    {
        "created": true
    }
    

    إشعار

    إذا واجهت رسالة الخطأ: The request may be blocked by network rules of storage account. Please check network rule set using 'az storage account show -n accountname --query networkRuleSet'. If you want to change the default action to apply when no rule matches, please use 'az storage account update'. تأكد من التحقق من أذونات المستخدم ل Azure Blob Storage، وإذا لزم الأمر، قم برفع دورك إلى Storage Blob Data Owner استخدام الأوامر المتوفرة وبعد إعادة محاولة az storage container create الأمر.

    export USER_ID=$(az ad signed-in-user show --query id --output tsv)
    
    export STORAGE_ACCOUNT_PRIMARY_RESOURCE_ID=$(az storage account show \
        --name $PG_PRIMARY_STORAGE_ACCOUNT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --query "id" \
        --output tsv)
    
    az role assignment list --scope $STORAGE_ACCOUNT_PRIMARY_RESOURCE_ID --output table
    
    az role assignment create \
        --assignee-object-id $USER_ID \
        --assignee-principal-type User \
        --scope $STORAGE_ACCOUNT_PRIMARY_RESOURCE_ID \
        --role "Storage Blob Data Owner" \
        --output tsv
    

تعيين RBAC لحسابات التخزين

لتمكين النسخ الاحتياطية، يحتاج نظام مجموعة PostgreSQL إلى القراءة والكتابة إلى مخزن عناصر. تستخدم مجموعة PostgreSQL التي تعمل على AKS هوية حمل العمل للوصول إلى حساب التخزين عبر معلمة inheritFromAzureADتكوين عامل تشغيل CNPG .

  1. احصل على معرف المورد الأساسي لحساب التخزين باستخدام az storage account show الأمر .

    export STORAGE_ACCOUNT_PRIMARY_RESOURCE_ID=$(az storage account show \
        --name $PG_PRIMARY_STORAGE_ACCOUNT_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --query "id" \
        --output tsv)
    
    echo $STORAGE_ACCOUNT_PRIMARY_RESOURCE_ID
    
  2. قم بتعيين دور Azure المضمن "Storage Blob Data Contributor" إلى معرف الكائن بنطاق معرف مورد حساب التخزين ل UAMI المقترن بالهوية المدارة لكل نظام مجموعة AKS باستخدام az role assignment create الأمر .

    az role assignment create \
        --role "Storage Blob Data Contributor" \
        --assignee-object-id $AKS_UAMI_WORKLOAD_OBJECTID \
        --assignee-principal-type ServicePrincipal \
        --scope $STORAGE_ACCOUNT_PRIMARY_RESOURCE_ID \
        --query "id" \
        --output tsv
    

إعداد البنية الأساسية للمراقبة

في هذا القسم، يمكنك نشر مثيل Azure Managed Grafana ومساحة عمل Azure Monitor ومساحة عمل Azure Monitor Log Analytics لتمكين مراقبة نظام مجموعة PostgreSQL. يمكنك أيضا تخزين المراجع إلى البنية الأساسية للمراقبة التي تم إنشاؤها لاستخدامها كمدخل أثناء عملية إنشاء نظام مجموعة AKS لاحقا في الدليل. قد يستغرق هذا القسم بعض الوقت لإكماله.

إشعار

تتم فوترة مثيلات Azure Managed Grafana ومجموعات AKS بشكل مستقل. لمزيد من معلومات التسعير، راجع تسعير Azure Managed Grafana.

  1. إنشاء مثيل Azure Managed Grafana باستخدام az grafana create الأمر .

    export GRAFANA_PRIMARY="grafana-${LOCAL_NAME}-${SUFFIX}"
    
    export GRAFANA_RESOURCE_ID=$(az grafana create \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $GRAFANA_PRIMARY \
        --location $PRIMARY_CLUSTER_REGION \
        --zone-redundancy Enabled \
        --tags $TAGS \
        --query "id" \
        --output tsv)
    
    echo $GRAFANA_RESOURCE_ID
    
  2. إنشاء مساحة عمل Azure Monitor باستخدام az monitor account create الأمر .

    export AMW_PRIMARY="amw-${LOCAL_NAME}-${SUFFIX}"
    
    export AMW_RESOURCE_ID=$(az monitor account create \
        --name $AMW_PRIMARY \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $PRIMARY_CLUSTER_REGION \
        --tags $TAGS \
        --query "id" \
        --output tsv)
    
    echo $AMW_RESOURCE_ID
    
  3. إنشاء مساحة عمل Azure Monitor Log Analytics باستخدام az monitor log-analytics workspace create الأمر .

    export ALA_PRIMARY="ala-${LOCAL_NAME}-${SUFFIX}"
    
    export ALA_RESOURCE_ID=$(az monitor log-analytics workspace create \
        --resource-group $RESOURCE_GROUP_NAME \
        --workspace-name $ALA_PRIMARY \
        --location $PRIMARY_CLUSTER_REGION \
        --query "id" \
        --output tsv)
    
    echo $ALA_RESOURCE_ID
    

إنشاء نظام مجموعة AKS لاستضافة نظام مجموعة PostgreSQL

في هذا القسم، يمكنك إنشاء مجموعة AKS متعددة الأجزاء مع تجمع عقدة النظام. يستضيف عنقود AKS نسخة العنقود الأساسية ل PostgreSQL ونسختين احتياطيتين لكل منهما لمنطقة توفر مختلفة لتمكين تكرار المنطقة.

يمكنك أيضا إضافة تجمع عقدة مستخدم إلى نظام مجموعة AKS لاستضافة نظام مجموعة PostgreSQL. يسمح استخدام تجمع عقدة منفصل بالتحكم في وحدات SKU الخاصة ب Azure VM المستخدمة ل PostgreSQL ويمكن تجمع نظام AKS من تحسين الأداء والتكاليف. يمكنك تطبيق تسمية على تجمع عقدة المستخدم الذي يمكنك الرجوع إليه لتحديد العقدة عند نشر عامل تشغيل CNPG لاحقا في هذا الدليل. قد يستغرق هذا القسم بعض الوقت لإكماله.

هام

إذا اخترت استخدام NVMe المحلي كتخزين PostgreSQL في الأجزاء اللاحقة من هذا الدليل، فستحتاج إلى اختيار وحدة SKU للجهاز الظاهري تدعم محركات أقراص NVMe المحلية، على سبيل المثال، وحدات SKU المحسنة للجهاز الظاهري للتخزين أو وحدات SKU للأجهزة الظاهرية المسرعة لوحدة معالجة الرسومات. تحديث $USER_NODE_POOL_VMSKU وفقا لذلك.

  1. إنشاء نظام مجموعة AKS باستخدام az aks create الأمر .

    export SYSTEM_NODE_POOL_VMSKU="standard_d2s_v3"
    export USER_NODE_POOL_NAME="postgres"
    export USER_NODE_POOL_VMSKU="standard_d4s_v3"
    
    az aks create \
        --name $AKS_PRIMARY_CLUSTER_NAME \
        --tags $TAGS \
        --resource-group $RESOURCE_GROUP_NAME \
        --location $PRIMARY_CLUSTER_REGION \
        --generate-ssh-keys \
        --node-resource-group $AKS_PRIMARY_MANAGED_RG_NAME \
        --enable-managed-identity \
        --assign-identity $AKS_UAMI_WORKLOAD_RESOURCEID \
        --network-plugin azure \
        --network-plugin-mode overlay \
        --network-dataplane cilium \
        --nodepool-name systempool \
        --enable-oidc-issuer \
        --enable-workload-identity \
        --enable-cluster-autoscaler \
        --min-count 2 \
        --max-count 3 \
        --node-vm-size $SYSTEM_NODE_POOL_VMSKU \
        --enable-azure-monitor-metrics \
        --azure-monitor-workspace-resource-id $AMW_RESOURCE_ID \
        --grafana-resource-id $GRAFANA_RESOURCE_ID \
        --api-server-authorized-ip-ranges $MY_PUBLIC_CLIENT_IP \
        --tier standard \
        --kubernetes-version $AKS_CLUSTER_VERSION \
        --zones 1 2 3 \
        --output table
    
  2. انتظر حتى تكتمل عملية نظام المجموعة الأولية باستخدام الأمر az aks wait حتى لا تصطدم التحديثات الإضافية، مثل إضافة تجمع عقدة المستخدم، بتحديث نظام المجموعة المدار قيد التقدم:

    az aks wait \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $AKS_PRIMARY_CLUSTER_NAME \
        --created
    
  3. أضف تجمع عقدة مستخدم إلى نظام مجموعة AKS باستخدام az aks nodepool add الأمر .

    az aks nodepool add \
        --resource-group $RESOURCE_GROUP_NAME \
        --cluster-name $AKS_PRIMARY_CLUSTER_NAME \
        --name $USER_NODE_POOL_NAME \
        --enable-cluster-autoscaler \
        --min-count 3 \
        --max-count 6 \
        --node-vm-size $USER_NODE_POOL_VMSKU \
        --zones 1 2 3 \
        --labels workload=postgres \
        --output table
    

الاتصال بمجموعة AKS وإنشاء مساحات الأسماء

في هذا القسم، تحصل على بيانات اعتماد نظام مجموعة AKS، والتي تعمل كمفاتيح تسمح لك بالمصادقة والتفاعل مع نظام المجموعة. بمجرد الاتصال، يمكنك إنشاء مساحة اسمين: واحدة لخدمات مدير وحدة تحكم CNPG وواحدة لمجموعة PostgreSQL والخدمات ذات الصلة.

  1. احصل على بيانات اعتماد نظام مجموعة AKS باستخدام az aks get-credentials الأمر .

    az aks get-credentials \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $AKS_PRIMARY_CLUSTER_NAME \
        --output none
    
  2. قم بإنشاء مساحة الاسم لخدمات مدير وحدة تحكم CNPG، كتلة PostgreSQL، والخدمات ذات الصلة باستخدام kubectl create namespace الأمر .

    kubectl create namespace $PG_NAMESPACE --context $AKS_PRIMARY_CLUSTER_NAME
    kubectl create namespace $PG_SYSTEM_NAMESPACE --context $AKS_PRIMARY_CLUSTER_NAME
    

يمكنك الآن تعريف متغير بيئة آخر استنادا إلى خيار التخزين المطلوب، والذي تشير إليه لاحقا في الدليل عند نشر PostgreSQL.

يمكنك الرجوع إلى فئة تخزين برنامج تشغيل Premium SSD Azure Disks CSI الافتراضية المثبتة مسبقا:

export POSTGRES_STORAGE_CLASS="managed-csi-premium"

تحديث البنية الأساسية للمراقبة

ترتبط مساحة عمل Azure Monitor ل Prometheus المدارة وAzure Managed Grafana تلقائيا بمجموعة AKS للمقاييس والتصور أثناء عملية إنشاء نظام المجموعة. في هذا القسم، يمكنك تمكين مجموعة السجلات باستخدام نتيجة تحليلات حاوية AKS والتحقق من أن Managed Prometheus يتخلص من المقاييس وأن نتائج تحليلات الحاوية استيعاب السجلات.

  1. تمكين مراقبة نتائج تحليلات الحاوية على نظام مجموعة AKS باستخدام az aks enable-addons الأمر .

    az aks enable-addons \
        --addon monitoring \
        --name $AKS_PRIMARY_CLUSTER_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --workspace-resource-id $ALA_RESOURCE_ID \
        --output table
    
  2. تحقق من أن Managed Prometheus ينخر المقاييس وأن نتائج تحليلات الحاوية استيعاب السجلات من نظام مجموعة AKS عن طريق فحص DaemonSet باستخدام kubectl get الأمر والأمر az aks show .

    kubectl get ds ama-metrics-node \
        --context $AKS_PRIMARY_CLUSTER_NAME \
        --namespace=kube-system
    
    kubectl get ds ama-logs \
        --context $AKS_PRIMARY_CLUSTER_NAME \
        --namespace=kube-system
    
    az aks show \
        --resource-group $RESOURCE_GROUP_NAME \
        --name $AKS_PRIMARY_CLUSTER_NAME \
        --query addonProfiles
    

    يجب أن يشبه الإخراج الخاص بك إخراج المثال التالي، مع إجمالي ست عقد (ثلاثة لتجمع عقدة النظام وثلاثة لتجمع عقدة PostgreSQL) ونتائج تحليلات الحاوية التي تعرض "enabled": true:

    NAME               DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR
    ama-metrics-node   6         6         6       6            6           <none>       
    
    NAME               DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR
    ama-logs           6         6         6       6            6           <none>       
    
    {
      "omsagent": {
        "config": {
          "logAnalyticsWorkspaceResourceID": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-cnpg-9vbin3p8/providers/Microsoft.OperationalInsights/workspaces/ala-cnpg-9vbin3p8",
          "useAADAuth": "true"
        },
        "enabled": true,
        "identity": null
      }
    }
    

إنشاء IP ثابت عام للدخول إلى نظام مجموعة PostgreSQL

للتحقق من صحة نشر نظام مجموعة PostgreSQL واستخدام أدوات PostgreSQL للعميل، مثل psql وPgAdmin، تحتاج إلى عرض النسخ المتماثلة الأساسية والقراءة فقط للدخول. في هذا القسم، يمكنك إنشاء مورد IP عام ل Azure تقوم بتوفيره لاحقا إلى موازن تحميل Azure لعرض نقاط نهاية PostgreSQL للاستعلام.

  1. احصل على اسم مجموعة موارد عقدة نظام مجموعة AKS باستخدام az aks show الأمر .

    export AKS_PRIMARY_CLUSTER_NODERG_NAME=$(az aks show \
        --name $AKS_PRIMARY_CLUSTER_NAME \
        --resource-group $RESOURCE_GROUP_NAME \
        --query nodeResourceGroup \
        --output tsv)
    
    echo $AKS_PRIMARY_CLUSTER_NODERG_NAME
    
  2. إنشاء عنوان IP العام باستخدام az network public-ip create الأمر .

    export AKS_PRIMARY_CLUSTER_PUBLICIP_NAME="$AKS_PRIMARY_CLUSTER_NAME-pip"
    
    az network public-ip create \
        --resource-group $AKS_PRIMARY_CLUSTER_NODERG_NAME \
        --name $AKS_PRIMARY_CLUSTER_PUBLICIP_NAME \
        --location $PRIMARY_CLUSTER_REGION \
        --sku Standard \
        --zone 1 2 3 \
        --allocation-method static \
        --output table
    
  3. احصل على عنوان IP العام الذي تم إنشاؤه حديثا باستخدام az network public-ip show الأمر .

    export AKS_PRIMARY_CLUSTER_PUBLICIP_ADDRESS=$(az network public-ip show \
        --resource-group $AKS_PRIMARY_CLUSTER_NODERG_NAME \
        --name $AKS_PRIMARY_CLUSTER_PUBLICIP_NAME \
        --query ipAddress \
        --output tsv)
    
    echo $AKS_PRIMARY_CLUSTER_PUBLICIP_ADDRESS
    
  4. احصل على معرف المورد لمجموعة موارد العقدة az group show باستخدام الأمر .

    export AKS_PRIMARY_CLUSTER_NODERG_NAME_SCOPE=$(az group show --name \
        $AKS_PRIMARY_CLUSTER_NODERG_NAME \
        --query id \
        --output tsv)
    
    echo $AKS_PRIMARY_CLUSTER_NODERG_NAME_SCOPE
    
  5. تعيين دور "مساهم الشبكة" إلى معرف كائن UAMI باستخدام نطاق مجموعة موارد العقدة az role assignment create باستخدام الأمر .

    az role assignment create \
        --assignee-object-id ${AKS_UAMI_WORKLOAD_OBJECTID} \
        --assignee-principal-type ServicePrincipal \
        --role "Network Contributor" \
        --scope ${AKS_PRIMARY_CLUSTER_NODERG_NAME_SCOPE}
    

تثبيت عامل تشغيل CNPG في نظام مجموعة AKS

في هذا القسم، يمكنك تثبيت عامل تشغيل CNPG في نظام مجموعة AKS باستخدام Helm أو بيان YAML.

  1. أضف CNPG Helm repo باستخدام helm repo add الأمر .

    helm repo add cnpg https://cloudnative-pg.github.io/charts
    
  2. قم بترقية CNPG Helm repo وتثبيته على نظام مجموعة AKS باستخدام helm upgrade الأمر مع العلامة --install .

    helm upgrade --install cnpg \
        --namespace $PG_SYSTEM_NAMESPACE \
        --create-namespace \
        --kube-context=$AKS_PRIMARY_CLUSTER_NAME \
        cnpg/cloudnative-pg
    
  3. تحقق من تثبيت عامل التشغيل على نظام مجموعة AKS باستخدام kubectl get الأمر .

    kubectl get deployment \
        --context $AKS_PRIMARY_CLUSTER_NAME \
        --namespace $PG_SYSTEM_NAMESPACE cnpg-cloudnative-pg
    

الخطوات التالية

المساهمون

تحتفظ Microsoft بهذه المقالة. كتبه المساهمون التاليون في الأصل:

  • كين كيلتي | الوحدة النمطية للنظام الأساسي الموثوق به
  • راسل دي بينا | الوحدة النمطية للنظام الأساسي الموثوق به
  • أدريان جويان | مهندس عملاء أول
  • جيني هايز | مطور محتوى أول
  • كارول سميث | مطور محتوى أول
  • إيرين شيفر | مطور المحتوى 2

اعتراف

تم تطوير هذه الوثائق بالاشتراك مع EnterpriseDB، المشرفين على مشغل CloudNativePG. نشكر غابرييل بارتوليني على مراجعة المسودات السابقة لهذه الوثيقة وتقديم التحسينات التقنية.