إنشاء خادم PostgreSQL باستخدام أدوات Kubernetes
إشعار
كميزة معاينة، تخضع التقنية المقدمة في هذه المقالة إلى شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
تتوفر آخر التحديثات في ملاحظات حول الإصدار.
المتطلبات الأساسية
يجب أن تكون قد أنشأت وحدة تحكم بيانات بالفعل.
لإنشاء خادم PostgreSQL باستخدام أدوات Kubernetes، ستحتاج إلى تثبيت أدوات Kubernetes. ستستخدم kubectl
الأمثلة في هذه المقالة ، ولكن يمكن استخدام أساليب مماثلة مع أدوات Kubernetes الأخرى مثل لوحة معلومات Kubernetes، oc
أو helm
إذا كنت على دراية بهذه الأدوات وKubernetes yaml/json.
نظرة عامة
لإنشاء خادم PostgreSQL، تحتاج إلى إنشاء سر Kubernetes لتخزين تسجيل دخول مسؤول postgres وكلمة المرور بأمان ومورد مخصص لخادم PostgreSQL استنادا postgresqls
إلى تعريفات الموارد المخصصة.
إنشاء ملف yaml
يمكنك استخدام ملف yaml للقالب كنقطة بداية لإنشاء ملف yaml لخادم PostgreSQL المخصص الخاص بك. قم بتنزيل هذا الملف إلى الكمبيوتر المحلي وافتحه في محرر نصوص. من المفيد استخدام محرر نص مثل VS Code الذي يدعم تمييز بناء الجملة وlinting لملفات yaml.
مثال على ملف yaml:
apiVersion: v1
data:
username: <your base64 encoded username>
password: <your base64 encoded password>
kind: Secret
metadata:
name: pg1-login-secret
type: Opaque
---
apiVersion: arcdata.microsoft.com/v1beta3
kind: postgresql
metadata:
name: pg1
spec:
scheduling:
default:
resources:
limits:
cpu: "4"
memory: 4Gi
requests:
cpu: "1"
memory: 2Gi
services:
primary:
type: LoadBalancer # Modify service type based on your Kubernetes environment
storage:
data:
volumes:
- className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
size: 5Gi
logs:
volumes:
- className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
size: 5Gi
تخصيص تسجيل الدخول وكلمة المرور.
يتم تخزين سر Kubernetes كسلسلة مشفرة base64 - واحدة لاسم المستخدم وواحدة لكلمة المرور. ستحتاج إلى ترميز base64 لتسجيل دخول المسؤول وكلمة المرور ووضعهما في موقع العنصر النائب في data.password
و data.username
. لا تقم بتضمين <
الرموز و >
المتوفرة في القالب.
يمكنك استخدام أداة عبر الإنترنت لترميز اسم المستخدم وكلمة المرور المطلوبين base64 أو يمكنك استخدام أدوات CLI المضمنة اعتمادا على النظام الأساسي الخاص بك.
PowerShell
[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('<your string to encode here>'))
#Example
#[Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes('example'))
Linux/macOS
echo -n '<your string to encode here>' | base64
#Example
# echo -n 'example' | base64
تخصيص الاسم
يحتوي القالب على قيمة pg1
لسمة الاسم. يمكنك تغيير هذه القيمة ولكن يجب أن تكون أحرفا تتبع معايير تسمية DNS. إذا قمت بتغيير الاسم، فقم بتغيير اسم السر لمطابقته. على سبيل المثال، إذا قمت بتغيير اسم خادم PostgreSQL إلى pg2
، يجب تغيير اسم السر من pg1-login-secret
إلى pg2-login-secret
تخصيص متطلبات الموارد
يمكنك تغيير متطلبات الموارد - ذاكرة الوصول العشوائي والحدود والطلبات الأساسية - حسب الحاجة.
إشعار
يمكنك معرفة المزيد حول إدارة موارد Kubernetes.
متطلبات حدود الموارد والطلبات:
- قيمة حد الذاكرات الأساسية مطلوبة لأغراض الفوترة.
- بقية طلبات الموارد وحدودها اختيارية.
- يجب أن يكون حد الذاكرات الأساسية والطلب قيمة عدد صحيح موجب، إذا تم تحديده.
- مطلوب حد أدنى من ذاكرة أساسية واحدة لطلب الذاكرات الأساسية، إذا تم تحديده.
- يتبع تنسيق قيمة الذاكرة تدوين Kubernetes.
تخصيص نوع الخدمة
يمكن تغيير نوع الخدمة إلى NodePort إذا رغبت في ذلك. سيتم تعيين رقم منفذ عشوائي.
تخصيص التخزين
يمكنك تخصيص فئات التخزين للتخزين لمطابقة بيئتك. إذا لم تكن متأكدا من فئات التخزين المتوفرة، فقم بتشغيل الأمر kubectl get storageclass
لعرضها. يحتوي القالب على قيمة افتراضية ل default
. تعني هذه القيمة أن هناك فئة تخزين تسمى default
ليس أن هناك فئة تخزين هي الافتراضية. يمكنك أيضا تغيير حجم التخزين اختياريا. يمكنك قراءة المزيد حول تكوين التخزين.
إنشاء خادم PostgreSQL
الآن بعد أن قمت بتخصيص ملف yaml لخادم PostgreSQL، يمكنك إنشاء خادم PostgreSQL عن طريق تشغيل الأمر التالي:
kubectl create -n <your target namespace> -f <path to your yaml file>
#Example
#kubectl create -n arc -f C:\arc-data-services\postgres.yaml
مراقبة حالة الإنشاء
سيستغرق إنشاء خادم PostgreSQL بضع دقائق حتى يكتمل. يمكنك مراقبة التقدم المحرز في نافذة طرفية أخرى باستخدام الأوامر التالية:
إشعار
تفترض أوامر المثال أدناه أنك قمت بإنشاء خادم PostgreSQL باسم pg1
ومساحة اسم Kubernetes بالاسم arc
. إذا استخدمت اسما مختلفا لمساحة الاسم/اسم خادم PostgreSQL، يمكنك استبدال arc
و pg1
بأسماء.
kubectl get postgresqls/pg1 --namespace arc
kubectl get pods --namespace arc
يمكنك أيضا التحقق من حالة إنشاء أي جراب معين عن طريق تشغيل kubectl describe
الأمر. describe
الأمر مفيد بشكل خاص لاستكشاف أي مشكلات وإصلاحها. على سبيل المثال:
kubectl describe pod/<pod name> --namespace arc
#Example:
#kubectl describe pod/pg1-0 --namespace arc
استكشاف مشكلات الإنشاء وإصلاحها
إذا واجهت أي مشكلات في الإنشاء، فراجع دليل استكشاف الأخطاء وإصلاحها.
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ