تكوين سجل الحاوية المضمنة ل Azure Red Hat OpenShift 4
يوفر Azure Red Hat OpenShift سجلا مدمجا لصور الحاويات يضيف القدرة على توفير مستودعات صور جديدة تلقائيا عند الطلب. يوفر هذا للمستخدمين موقعا مضمنا لإصدارات تطبيقاتهم لدفع الصور الناتجة.
في هذه المقالة، ستقوم بتكوين سجل صور الحاوية المضمنة لمجموعة Azure Red Hat OpenShift (ARO) 4. ستتعلم كيفية:
- تفويض هوية بالوصول إلى السجل
- الوصول إلى سجل صور الحاوية المضمنة من داخل المجموعة
- الوصول إلى سجل صور الحاوية المضمنة من خارج المجموعة
قبل أن تبدأ
تفترض هذه المقالة أن لديك مجموعة ARO موجودة (راجع إنشاء مجموعة Azure Red Hat OpenShift 4). إذا كنت ترغب في تكوين تكامل Azure AD، فتأكد من إنشاء الكتلة باستخدام الوسيطة --pull-secret إلى az aro create.
ملاحظة
يعد تكوين مصادقة Azure AD لمجموعتك أسهل طريقة للتفاعل مع السجل الداخلي من خارج المجموعة.
بمجرد حصولك على مجموعتك، اتصل بالمجموعة عن طريق المصادقة كمستخدم kubeadmin .
تكوين المصادقة إلى السجل
لأي هوية (مستخدم نظام مجموعة أو مستخدم Azure AD أو ServiceAccount) للوصول إلى السجل الداخلي، يجب منحها أذونات داخل المجموعة:
كما kubeadmin، قم بتنفيذ الأوامر التالية:
# Note: replace "<user>" with the identity you need to access the registry
oc policy add-role-to-user -n openshift-image-registry registry-viewer <user>
oc policy add-role-to-user -n openshift-image-registry registry-editor <user>
ملاحظة
بالنسبة لمستخدمي نظام المجموعة ومستخدمي Azure AD - سيكون هذا هو نفس الاسم الذي تستخدمه للمصادقة في المجموعة. بالنسبة إلى حسابات خدمة OpenShift، قم بتنسيق الاسم ك system:serviceaccount:<project>:<name>
الوصول إلى السجل
الآن بعد أن قمت بتكوين المصادقة للسجل، يمكنك التفاعل معه:
من داخل المجموعة
إذا كنت بحاجة إلى الوصول إلى السجل من داخل المجموعة (على سبيل المثال ، تقوم بتشغيل نظام أساسي CI / CD كبودات من شأنها دفع / سحب الصور إلى السجل) ، يمكنك الوصول إلى السجل عبر خدمة ClusterIP الخاصة به على اسم image-registry.openshift-image-registry.svc.cluster.local:5000المجال المؤهل بالكامل ، والذي يمكن الوصول إليه من قبل جميع Pods داخل المجموعة.
من خارج المجموعة
إذا كانت مهام سير العمل تتطلب منك الوصول إلى السجل الداخلي من خارج المجموعة (على سبيل المثال، تريد دفع/سحب الصور من كمبيوتر محمول تابع للمطور و/أو نظام أساسي خارجي ل CI/CD و/أو مجموعة ARO مختلفة)، فستحتاج إلى تنفيذ بعض الخطوات الإضافية:
كما kubeadmin، قم بتنفيذ الأوامر التالية لفضح السجل المضمن خارج الكتلة عبر مسار:
oc patch config.imageregistry.operator.openshift.io/cluster --patch='{"spec":{"defaultRoute":true}}' --type=merge
oc patch config.imageregistry.operator.openshift.io/cluster --patch='[{"op": "add", "path": "/spec/disableRedirect", "value": true}]' --type=json
يمكنك بعد ذلك العثور على اسم نطاق السجل المؤهل بالكامل القابل للتوجيه خارجيا:
كما kubeadmin، تنفيذ:
oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'
الخطوات التالية
الآن بعد أن قمت بإعداد سجل صور الحاوية المضمن، يمكنك البدء بنشر تطبيق على OpenShift. بالنسبة لتطبيقات Java ، تحقق من نشر تطبيق Java باستخدام Open Liberty / WebSphere Liberty على مجموعة Azure Red Hat OpenShift 4.