Mengonfigurasi registri kontainer bawaan untuk Azure Red Hat OpenShift 4

Azure Red Hat OpenShift menyediakan registri gambar kontainer terintegrasi yang menambahkan kemampuan untuk secara otomatis menyediakan repositori gambar baru sesuai permintaan. Ini memberi pengguna lokasi bawaan untuk membuat aplikasi mereka untuk mendorong gambar yang dihasilkan.

Dalam artikel ini, Anda akan mengonfigurasi registri gambar kontainer bawaan untuk kluster Azure Red Hat OpenShift (ARO) 4. Anda akan mempelajari cara:

  • Mengotorisasi identitas untuk mengakses registri
  • Mengakses registri gambar kontainer bawaan dari dalam kluster
  • Mengakses registri gambar kontainer bawaan dari luar kluster

Sebelum Anda mulai

Artikel ini mengasumsikan Anda memiliki kluster ARO yang sudah ada (lihat Membuat kluster Azure Red Hat OpenShift 4). Jika Anda ingin mengonfigurasi integrasi Microsoft Entra, pastikan untuk membuat kluster dengan --pull-secret argumen ke az aro create.

Catatan

Mengonfigurasi autentikasi Microsoft Entra untuk kluster Anda adalah cara term mudah untuk berinteraksi dengan registri internal dari luar kluster.

Setelah Anda memiliki kluster, sambungkan ke kluster dengan mengautentikasi sebagai kubeadmin pengguna.

Mengonfigurasi autentikasi ke registri

Untuk identitas apa pun (pengguna kluster, pengguna Microsoft Entra, atau ServiceAccount) untuk mengakses registri internal, itu harus diberikan izin di dalam kluster:

Sebagai kubeadmin, jalankan perintah berikut:

# 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>

Catatan

Untuk pengguna kluster dan pengguna Microsoft Entra - ini akan menjadi nama yang sama dengan yang Anda gunakan untuk mengautentikasi ke dalam kluster. Untuk OpenShift ServiceAccounts, format nama sebagai system:serviceaccount:<project>:<name>

Mengakses registri

Setelah mengonfigurasi autentikasi untuk registri, Anda dapat berinteraksi dengannya:

Dari dalam kluster

Jika Anda perlu mengakses registri dari dalam kluster (misalnya, Anda menjalankan platform CI/CD sebagai Pod yang akan mendorong/menarik gambar ke registri), Anda dapat mengakses registri melalui Layanan ClusterIP-nya pada nama image-registry.openshift-image-registry.svc.cluster.local:5000domain yang sepenuhnya memenuhi syarat , yang dapat diakses oleh semua Pod dalam kluster.

Dari luar kluster

Jika alur kerja mengharuskan Anda mengakses registri internal dari luar kluster (misalnya, Anda ingin mendorong/menarik gambar dari laptop pengembang, platform CI/CD eksternal, dan/atau kluster ARO yang berbeda), Anda harus melakukan beberapa langkah tambahan:

Sebagai kubeadmin, jalankan perintah berikut untuk mengekspos registri bawaan di luar kluster melalui Rute:

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

Anda kemudian dapat menemukan nama domain yang sepenuhnya memenuhi syarat yang dapat dirutekan secara eksternal registri:

Sebagai kubeadmin, jalankan:

oc get route -n openshift-image-registry default-route --template='{{ .spec.host }}'

Langkah berikutnya

Setelah menyiapkan registri gambar kontainer bawaan, Anda dapat memulai dengan menyebarkan aplikasi di OpenShift. Untuk aplikasi Java, lihat Menyebarkan aplikasi Java dengan Open Liberty/WebSphere Liberty pada kluster Azure Red Hat OpenShift 4.