إنشاء خادم PostgreSQL ممكن ل Azure Arc من CLI
يصف هذا المستند خطوات إنشاء خادم PostgreSQL على Azure Arc والاتصال به.
المتطلبات الأساسية
قبل أن تتمكن من متابعة المهام في هذه المقالة، تحتاج إلى الأدوات اللازمة. تتطلب جميع عمليات التوزيع الأدوات التالية:
Azure Data Studio
ملحق Azure Arc ل Azure Data Studio
Azure CLI (
az
)arcdata
ملحق Azure CLIkubectl
أدوات العميل الإضافية اعتمادا على البيئة الخاصة بك. للحصول على قائمة أكثر شمولا، راجع أدوات العميل.
بالإضافة إلى الأدوات المطلوبة، لإكمال المهام، تحتاج إلى وحدة تحكم بيانات Azure Arc.
إشعار
كميزة معاينة، تخضع التقنية المقدمة في هذه المقالة إلى شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
تتوفر آخر التحديثات في ملاحظات حول الإصدار.
الشروع في العمل
إذا كنت على دراية بالمواضيع أدناه، يمكنك تخطي هذه الفقرة. هناك مواضيع هامة قد ترغب في قراءتها قبل المتابعة في الإنشاء:
- نظرة عامة على خدمات البيانات التي تدعم Azure Arc
- أوضاع ومتطلبات الاتصال
- تكوين التخزين ومفاهيم تخزين Kubernetes
- نموذج مورد Kubernetes
إذا كنت تفضل تجربة الأشياء دون توفير بيئة كاملة بنفسك، فابدأ بسرعة مع Azure Arc Jumpstart على Azure Kubernetes Service (AKS) أو AWS Elastic Kubernetes Service (EKS) أو Google Cloud Kubernetes Engine (GKE) أو في Azure VM.
الخطوة الأولية والمؤقتة لمستخدمي OpenShift فقط
تنفيذ هذه الخطوة قبل الانتقال إلى الخطوة التالية. لنشر خادم PostgreSQL على Red Hat OpenShift في مشروع آخر غير المشروع الافتراضي، تحتاج إلى تنفيذ الأوامر التالية مقابل نظام المجموعة لتحديث قيود الأمان. يمنح هذا الأمر الامتيازات الضرورية لحسابات الخدمة التي ستقوم بتشغيل خادم PostgreSQL. قيد سياق الأمان (SCC) arc-data-scc هو الذي أضفته عند نشر وحدة تحكم بيانات Azure Arc.
oc adm policy add-scc-to-user arc-data-scc -z <server-name> -n <namespace-name>
اسم الخادم هو اسم الخادم الذي ستقوم بإنشائه أثناء الخطوة التالية.
لمزيد من التفاصيل حول SCCs في OpenShift، راجع وثائق OpenShift. تابع إلى الخطوة التالية.
إنشاء خادم PostgreSQL ممكن بواسطة Azure Arc
لإنشاء خادم PostgreSQL ممكن بواسطة Azure Arc على وحدة تحكم بيانات Arc، ستستخدم الأمر az postgres server-arc create
الذي ستمرر إليه العديد من المعلمات.
للحصول على تفاصيل حول جميع المعلمات التي يمكنك تعيينها في وقت الإنشاء، راجع إخراج الأمر:
az postgres server-arc create --help
المعلمات الرئيسية التي يجب مراعاتها هي:
اسم الخادم الذي تريد نشره. الإشارة إما
--name
أو-n
متبوعة باسم يجب ألا يتجاوز طوله 11 حرفا.فئات التخزين التي تريد أن يستخدمها الخادم الخاص بك. من المهم تعيين فئة التخزين مباشرة في الوقت الذي تقوم فيه بنشر خادم حيث لا يمكن تغيير هذا الإعداد بعد النشر. يمكنك تحديد فئات التخزين لاستخدامها للبيانات والسجلات والنسخ الاحتياطية. بشكل افتراضي، إذا لم تشير إلى فئات التخزين، فسيتم استخدام فئات التخزين لوحدة تحكم البيانات.
- لتعيين فئة التخزين للنسخ الاحتياطية، قم بالإشارة إلى المعلمة
--storage-class-backups
متبوعة باسم فئة التخزين. يؤدي استبعاد هذه المعلمة إلى تعطيل النسخ الاحتياطية التلقائية - لتعيين فئة التخزين للبيانات، قم بالإشارة إلى المعلمة
--storage-class-data
متبوعة باسم فئة التخزين. - لتعيين فئة التخزين للسجلات، قم بالإشارة إلى المعلمة
--storage-class-logs
متبوعة باسم فئة التخزين.
هام
إذا كنت بحاجة إلى تغيير فئة التخزين بعد النشر، واستخراج البيانات، وحذف الخادم، وإنشاء خادم جديد، واستيراد البيانات.
- لتعيين فئة التخزين للنسخ الاحتياطية، قم بالإشارة إلى المعلمة
عند تنفيذ أمر الإنشاء، ستتم مطالبتك بإدخال اسم المستخدم وكلمة المرور للمستخدم الإداري. يمكنك تخطي المطالبة التفاعلية عن طريق تعيين AZDATA_USERNAME
متغيري بيئة جلسة العمل و AZDATA_PASSWORD
قبل تشغيل أمر الإنشاء.
الأمثلة
لنشر خادم PostgreSQL يسمى postgres01 يستخدم نفس فئات التخزين مثل وحدة تحكم البيانات، قم بتشغيل الأمر التالي:
az postgres server-arc create -n postgres01 --k8s-namespace <namespace> --use-k8s
إشعار
- إذا قمت بنشر وحدة تحكم البيانات باستخدام
AZDATA_USERNAME
متغيرات بيئة جلسة العمل فيAZDATA_PASSWORD
نفس جلسة العمل الطرفية، فسيتم استخدام قيمAZDATA_PASSWORD
لنشر خادم PostgreSQL أيضا. إذا كنت تفضل استخدام كلمة مرور أخرى، فقم إما (1) بتحديث قيمAZDATA_USERNAME
متغيرات البيئة وAZDATA_PASSWORD
AZDATA_PASSWORD
أو (2)AZDATA_USERNAME
حذفهما أو (3) حذف قيمهما لمطالبتك بإدخال اسم مستخدم وكلمة مرور بشكل تفاعلي عند إنشاء خادم. - لن يؤدي إنشاء خادم PostgreSQL إلى تسجيل الموارد على الفور في Azure. كجزء من عملية تحميل مخزون الموارد أو بيانات الاستخدام إلى Azure، سيتم إنشاء الموارد في Azure وستتمكن من رؤية مواردك في مدخل Microsoft Azure.
سرد خوادم PostgreSQL المنشورة في وحدة تحكم بيانات Arc
لسرد خوادم PostgreSQL المنشورة في وحدة تحكم بيانات Arc، قم بتشغيل الأمر التالي:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
{
"name": "postgres01",
"state": "Ready"
}
الحصول على نقاط النهاية للاتصال بخوادم PostgreSQL الممكنة في Azure Arc
لعرض نقاط النهاية لخادم PostgreSQL، قم بتشغيل الأمر التالي:
az postgres server-arc endpoint list -n <server name> --k8s-namespace <namespace> --use-k8s
على سبيل المثال:
{
"instances": [
{
"endpoints": [
{
"description": "PostgreSQL Instance",
"endpoint": "postgresql://postgres:<replace with password>@123.456.78.912:5432"
},
{
"description": "Log Search Dashboard",
},
{
"description": "Metrics Dashboard",
"endpoint": "https://98.765.432.11:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01"
}
],
"engine": "PostgreSql",
"name": "postgres01"
}
],
"namespace": "arc"
}
يمكنك استخدام نقطة نهاية مثيل PostgreSQL للاتصال بخادم PostgreSQL من الأداة المفضلة لديك: Azure Data Studio وpgcli psql وpg مسؤول وما إلى ذلك.
في هذا الوقت، استخدِم الإصدارات الخاصة بـ Azure Data Studio.
ملاحظة خاصة حول عمليات نشر الجهاز الظاهري Azure
عند استخدام جهاز Azure ظاهري، لن يعرض عنوان IP لنقطة النهاية عنوان IP العام . لتحديد موقع عنوان IP العام، استخدم الأمر التالي:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
يمكنك بعد ذلك دمج عنوان IP العام مع المنفذ لإجراء اتصالك.
قد تحتاج أيضا إلى كشف منفذ خادم PostgreSQL من خلال بوابة أمان الشبكة (NSG). للسماح بحركة المرور من خلال (NSG)، قم بتعيين قاعدة. لتعيين قاعدة، ستحتاج إلى معرفة اسم NSG الخاص بك. يمكنك تحديد NSG باستخدام الأمر أدناه:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
بمجرد أن يكون لديك اسم NSG، يمكنك إضافة قاعدة جدار حماية باستخدام الأمر التالي. تنشئ قيم المثال هنا قاعدة NSG للمنفذ 30655 وتسمح بالاتصال من أي عنوان IP مصدر.
تحذير
لا نوصي بتعيين قاعدة للسماح بالاتصال من أي عنوان IP مصدر. يمكنك تأمين الأشياء بشكل أفضل عن طريق تحديد -source-address-prefixes
قيمة خاصة بعنوان IP للعميل أو نطاق عناوين IP يغطي عناوين IP لفريقك أو مؤسستك.
استبدل قيمة المعلمة --destination-port-ranges
أدناه برقم المنفذ الذي حصلت عليه من az postgres server-arc list
الأمر أعلاه.
az network nsg rule create -n db_port --destination-port-ranges 30655 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'
الاتصال مع Azure ستوديو البيانات
افتح Azure Data Studio واتصل بالمثيل الخاص بك باستخدام عنوان IP لنقطة النهاية الخارجية ورقم المنفذ أعلاه، وكلمة المرور التي حددتها في وقت إنشاء المثيل. إذا لم يكن PostgreSQL متوفرا في القائمة المنسدلة لنوع الاتصال، يمكنك تثبيت ملحق PostgreSQL عن طريق البحث عن PostgreSQL في علامة تبويب الملحقات.
إشعار
ستحتاج إلى النقر فوق الزر [خيارات متقدمة] في لوحة الاتصال لإدخال رقم المنفذ.
تذكر، إذا كنت تستخدم Azure VM، فستحتاج إلى عنوان IP العام ، والذي يمكن الوصول إليه عبر الأمر التالي:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
الاتصال مع psql
للوصول إلى خادم PostgreSQL، مرر نقطة النهاية الخارجية لخادم PostgreSQL الذي قمت باسترداده من أعلى:
يمكنك الآن توصيل أي من psql:
psql postgresql://postgres:<EnterYourPassword>@10.0.0.4:30655
المحتوى ذو الصلة
الاتصال إلى خادم PostgreSQL الذي يدعم Azure Arc: اقرأ الحصول على نقاط نهاية الاتصال وسلاسل الاتصال
* في المستندات أعلاه، تخطي الأقسام تسجيل الدخول إلى مدخل Microsoft Azure، وإنشاء قاعدة بيانات Azure ل PostgreSQL. تنفيذ الخطوات المتبقية في نشر Azure Arc. هذه الأقسام خاصة بقاعدة بيانات Azure لخادم PostgreSQL المقدم كخدمة PaaS في سحابة Azure ولكن الأجزاء الأخرى من المستندات قابلة للتطبيق مباشرة على خادم PostgreSQL الذي يدعم Azure Arc.