إنشاء مجموعة خاصة Azure Red Hat OpenShift 4

في هذه المقالة، ستقوم بإعداد بيئتك لإنشاء مجموعات Azure Red Hat OpenShift الخاصة التي تقوم بتشغيل OpenShift 4. ستتعلم كيفية:

  • إعداد المتطلبات الأساسية وإنشاء الشبكة الظاهرية والشبكات الفرعية المطلوبة
  • نشر نظام مجموعة مع نقطة نهاية خادم API خاصة ووحدة تحكم دخول خاصة

إذا اخترت تثبيت CLI واستخدامه محليا، يتطلب هذا البرنامج التعليمي تشغيل الإصدار 2.30.0 من Azure CLI أو إصدار أحدث. قم بتشغيل az --version للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.

قبل البدء

سجل مزودي الموارد

  1. إذا كان لديك العديد من اشتراكات Azure، فحدد معرف الاشتراك ذا الصلة:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. سجل مزود الموارد Microsoft.RedHatOpenShift:

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Microsoft.Compute تسجيل موفر الموارد (إذا لم تكن قد قمت بالفعل):

    az provider register -n Microsoft.Compute --wait
    
  4. Microsoft.Network تسجيل موفر الموارد (إذا لم تكن قد قمت بالفعل):

    az provider register -n Microsoft.Network --wait
    
  5. Microsoft.Storage تسجيل موفر الموارد (إذا لم تكن قد قمت بالفعل):

    az provider register -n Microsoft.Storage --wait
    

الحصول على سر السحب لـ Red Hat (اختياري)

يمكن سر سحب Red Hat مجموعتك من الوصول إلى سجلات حاويات Red Hat إلى جانب محتوى آخر. هذه الخطوة اختيارية ولكن يوصى بها.

  1. انتقل إلى مدخل مدير نظام مجموعة Red Hat OpenShift وسجل الدخول.

    سجل الدخول إلى حساب Red Hat أو أنشئ حساب Red Hat جديدا باستخدام بريدك الإلكتروني الخاص بالعمل واقبل الشروط والأحكام.

  2. انقر فوق تنزيل سر السحب.

احتفظ بالملف المحفوظ pull-secret.txt في مكان آمن - يتم استخدامه في كل إنشاء نظام مجموعة.

عند تشغيل الأمر az aro create، يمكنك الرجوع إلى سر السحب باستخدام المعلمة --pull-secret @pull-secret.txt. تنفيذ az aro create من الدليل حيث قمت بتخزين الملف pull-secret.txt. وإلا، استبدل @pull-secret.txt بـ @<path-to-my-pull-secret-file.

إذا كنت تنسخ سر السحب الخاص بك أو تشير إليه في برامج نصية أخرى، يجب تنسيق سر السحب الخاص بك كسلسلة JSON صالحة.

إنشاء شبكة ظاهرية تحتوي على شبكتين فرعيتين فارغتين

بعد ذلك، قم بإنشاء شبكة ظاهرية تحتوي على شبكتين فرعيتين فارغتين.

  1. تعيين المتغيرات التالية.

    LOCATION=eastus                 # the location of your cluster
    RESOURCEGROUP="v4-$LOCATION"    # the name of the resource group where you want to create your cluster
    CLUSTER=aro-cluster             # the name of your cluster
    
  2. إنشاء مجموعة موارد

    مجموعة الموارد عبارة عن حاوية منطقية يتم فيها توزيع موارد Azure وإدارتها. عند إنشاء مجموعة موارد، يمكنك تحديد موقع. هذا الموقع هو المكان الذي يتم فيه تخزين بيانات تعريف مجموعة الموارد، كما أنه المكان الذي يتم فيه تشغيل مواردك في Azure إذا لم تحدد منطقة أخرى أثناء إنشاء الموارد. إنشاء مجموعة موارد باستخدام الأمر [az group create][az-group-create].

    az group create --name $RESOURCEGROUP --location $LOCATION
    

    يظهر إخراج المثال التالي مجموعة الموارد التي تم إنشاؤها بنجاح:

    {
    "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
    "location": "eastus",
    "managedBy": null,
    "name": "aro-rg",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null
    }
    
  3. إنشاء شبكة ظاهرية.

    تتطلب مجموعات Azure Red Hat OpenShift التي تشغل OpenShift 4 شبكة ظاهرية مع شبكتين فرعيتين فارغتين، لعقد التحكم والعامل.

    إنشاء شبكة ظاهرية جديدة في نفس مجموعة الموارد التي قمت بإنشائها سابقا.

    az network vnet create \
    --resource-group $RESOURCEGROUP \
    --name aro-vnet \
    --address-prefixes 10.0.0.0/22
    

    يظهر إخراج المثال التالي الشبكة الظاهرية التي تم إنشاؤها بنجاح:

    {
    "newVNet": {
        "addressSpace": {
        "addressPrefixes": [
            "10.0.0.0/22"
        ]
        },
        "id": "/subscriptions/<guid>/resourceGroups/aro-rg/providers/Microsoft.Network/virtualNetworks/aro-vnet",
        "location": "eastus",
        "name": "aro-vnet",
        "provisioningState": "Succeeded",
        "resourceGroup": "aro-rg",
        "type": "Microsoft.Network/virtualNetworks"
    }
    }
    
  4. إضافة شبكة فرعية فارغة للعقد الرئيسية.

    az network vnet subnet create \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --name master-subnet \
    --address-prefixes 10.0.0.0/23 \
    --service-endpoints Microsoft.ContainerRegistry
    
  5. إضافة شبكة فرعية فارغة للعقد العاملة.

    az network vnet subnet create \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --name worker-subnet \
    --address-prefixes 10.0.2.0/23 \
    --service-endpoints Microsoft.ContainerRegistry
    
  6. تعطيل نهج نقطة النهاية الخاصة بالشبكة الفرعية على الشبكة الفرعية الرئيسية. هذا مطلوب لتكون قادرا على الاتصال وإدارة نظام المجموعة.

    az network vnet subnet update \
    --name master-subnet \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --disable-private-link-service-network-policies true
    

إنشاء المجموعة

قم بتشغيل الأمر التالي لإنشاء نظام المجموعة. اختياريا، يمكنك تمرير سر سحب Red Hat الذي يمكن مجموعتك من الوصول إلى سجلات حاوية Red Hat جنبا إلى جنب مع محتوى آخر.

إشعار

إذا كنت تقوم بنسخ/لصق الأوامر واستخدام إحدى المعلمات الاختيارية، فتأكد من حذف علامات التجزئة الأولية ونص التعليق اللاحق. أيضا، أغلق الوسيطة على السطر السابق من الأمر مع شرطة مائلة عكسية لاحقة.

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet \
  --apiserver-visibility Private \
  --ingress-visibility Private
  # --domain foo.example.com # [OPTIONAL] custom domain
  # --pull-secret @pull-secret.txt # [OPTIONAL]

az aro create يستغرق الأمر عادة حوالي 35 دقيقة لإنشاء نظام مجموعة.

إشعار

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

هام

إذا اخترت تحديد مجال مخصص، على سبيل المثال foo.example.com، فستتوفر وحدة تحكم OpenShift في عنوان URL مثل https://console-openshift-console.apps.foo.example.com، بدلا من المجال https://console-openshift-console.apps.<random>.<location>.aroapp.ioالمضمن .

بشكل افتراضي، يستخدم OpenShift شهادات موقعة ذاتيا لجميع المسارات التي تم إنشاؤها على *.apps.<random>.<location>.aroapp.io. إذا اخترت DNS مخصص، بعد الاتصال بالمجموعة، فستحتاج إلى اتباع وثائق OpenShift لتكوين شهادة مخصصة لوحدة تحكم الدخول والشهادة المخصصة لخادم API الخاص بك.

إنشاء مجموعة خاصة بدون عنوان IP عام

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

لإنشاء نظام مجموعة خاص بدون عنوان IP عام، اتبع الإجراء أعلاه، مع إضافة المعلمة --outbound-type UserDefinedRouting aro create إلى الأمر، كما في المثال التالي:

az aro create \
  --resource-group $RESOURCEGROUP \
  --name $CLUSTER \
  --vnet aro-vnet \
  --master-subnet master-subnet \
  --worker-subnet worker-subnet \
  --apiserver-visibility Private \
  --ingress-visibility Private \
  --outbound-type UserDefinedRouting

إشعار

يمكن استخدام علامة UserDefinedRouting فقط عند إنشاء مجموعات باستخدام --apiserver-visibility Private المعلمات و --ingress-visibility Private . تأكد من استخدام أحدث إصدار من Azure CLI. سيتم نشر المجموعات التي تم نشرها باستخدام Azure CLI 2.52.0 والإصدارات الأقدم مع عناوين IP العامة.

يمنع خيار التوجيه المعرف من قبل المستخدم هذا توفير عنوان IP عام. يسمح لك التوجيه المعرف من قبل المستخدم (UDR) بإنشاء مسارات مخصصة في Azure لتجاوز مسارات النظام الافتراضية أو إضافة المزيد من التوجيهات إلى جدول توجيه الشبكة الفرعية. راجع توجيه نسبة استخدام الشبكة الظاهرية لمعرفة المزيد.

هام

تأكد من تحديد الشبكة الفرعية الصحيحة مع جدول التوجيه الذي تم تكوينه بشكل صحيح عند إنشاء نظام المجموعة الخاص بك.

بالنسبة للخروج، يضمن خيار التوجيه المعرف من قبل المستخدم تمكين ميزة تأمين الخروج للمجموعة التي تم إنشاؤها حديثا للسماح لك بتأمين نسبة استخدام الشبكة الصادرة من نظام المجموعة الخاص الجديد. راجع التحكم في حركة الخروج لمجموعة Azure Red Hat OpenShift (ARO) لمعرفة المزيد.

إشعار

إذا اخترت نوع شبكة التوجيه المعرفة من قبل المستخدم، فأنت مسؤول تماما عن إدارة خروج توجيه نظام المجموعة خارج شبكتك الظاهرية (على سبيل المثال، الوصول إلى الإنترنت العام). لا يمكن ل Azure Red Hat OpenShift إدارة هذا نيابة عنك.

يمكنك تكوين عنوان IP خروج واحد أو أكثر إلى مساحة اسم أو إلى pods معينة في مساحة اسم نظام مجموعة خاصة بدون عنوان IP عام. للقيام بذلك، اتبع الإجراء أعلاه لإنشاء مجموعة خاصة دون عنوان IP عام، ثم قم بتكوين عنوان IP للخروج وفقا لمستند Red Hat OpenShift هذا. يجب أن تكون عناوين IP للخروج هذه من الشبكات الفرعية المقترنة بمجموعة ARO.

يتم دعم تكوين عنوان IP للخروج لمجموعة ARO الخاصة فقط للمجموعات مع المعلمة --outbound-type UserDefinedRouting . وهو غير مدعوم لمجموعات ARO العامة التي تحتوي على المعلمة --outbound-type LoadBalancer .

الاتصال بالمجموعة الخاصة

يمكنك تسجيل الدخول إلى المجموعة باستخدام مستخدم kubeadmin. شغّل الأمر التالي للعثور على كلمة المرور للمستخدم kubeadmin.

az aro list-credentials \
  --name $CLUSTER \
  --resource-group $RESOURCEGROUP

يظهر إخراج المثال التالي كلمة المرور في kubeadminPassword.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

يمكنك العثور على عنوان URL لوحدة تحكم نظام المجموعة عن طريق تشغيل الأمر التالي، والذي يبدو مثل https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name $CLUSTER \
    --resource-group $RESOURCEGROUP \
    --query "consoleProfile.url" -o tsv

هام

للاتصال بمجموعة Azure Red Hat OpenShift الخاصة، ستحتاج إلى تنفيذ الخطوة التالية من مضيف موجود إما في الشبكة الظاهرية التي أنشأتها أو في شبكة ظاهرية نظيرة مع الشبكة الظاهرية التي تم نشر نظام المجموعة إليها.

قم بتشغيل عنوان URL لوحدة التحكم في مستعرض وسجل الدخول باستخدام kubeadmin بيانات الاعتماد.

لقطة شاشة تعرض شاشة تسجيل الدخول إلى Azure Red Hat OpenShift.

تثبيت "OpenShift CLI"

بمجرد تسجيل الدخول إلى OpenShift Web Console، حدد ؟ في أعلى اليمين ثم في Command Line Tools. قم بتنزيل الإصدار المناسب لجهازك.

صورة تعرض شاشة تسجيل الدخول إلى Azure Red Hat OpenShift

يمكنك أيضا تنزيل أحدث إصدار من CLI المناسب لجهازك.

اتصل بالاستعانة بـ"OpenShift CLI"

استخرج عنوان خادم واجهة برمجة التطبيقات.

apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)

هام

للاتصال بمجموعة Azure Red Hat OpenShift الخاصة، ستحتاج إلى تنفيذ الخطوة التالية من مضيف موجود إما في الشبكة الظاهرية التي أنشأتها أو في شبكة ظاهرية نظيرة مع الشبكة الظاهرية التي تم نشر نظام المجموعة إليها.

سجل الدخول إلى خادم API الخاص بمجموعة OpenShift باستخدام الأمر التالي. استبدل <كلمة مرور> kubeadmin بكلمة المرور التي قمت باستردادها.

oc login $apiServer -u kubeadmin -p <kubeadmin password>

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

في هذه المقالة، تم نشر مجموعة Azure Red Hat OpenShift التي تعمل على OpenShift 4. لقد تعرفت على كيفية:

  • إعداد المتطلبات الأساسية وإنشاء الشبكة الظاهرية والشبكات الفرعية المطلوبة
  • نشر نظام مجموعة
  • الاتصال بالمجموعة باستخدام kubeadmin المستخدم

تقدم إلى المقالة التالية لمعرفة كيفية تكوين نظام المجموعة للمصادقة باستخدام معرف Microsoft Entra.