Menggunakan Azure Container Registry dengan Azure Red Hat OpenShift (ARO)
Azure Container Registry (ACR) adalah layanan registri kontainer terkelola yang dapat Anda gunakan untuk menyimpan citra kontainer Docker pribadi dengan kemampuan perusahaan seperti replikasi geografis. Untuk mengakses ACR dari kluster ARO, kluster dapat melakukan autentikasi dengan ACR dengan menyimpan info masuk login Docker dalam rahasia Kubernetes. Demikian juga, kluster ARO dapat menggunakan imagePullSecret dalam spesifikasi pod untuk melakukan autentikasi terhadap registri saat menarik citra. Dalam artikel ini, Anda akan mempelajari cara menyiapkan Azure Container Registry dengan kluster Azure Red Hat OpenShift untuk menyimpan dan menarik citra kontainer Docker pribadi.
Prasyarat
Panduan ini mengasumsikan bahwa Anda sudah memiliki Azure Container Registry. Jika tidak, gunakan portal Microsoft Azure atau instruksi Azure CLI untuk membuat registri kontainer.
Artikel ini juga mengasumsikan bahwa Anda memiliki kluster Azure Red Hat OpenShift yang sudah ada dan memasang CLI oc
. Jika tidak, ikuti instruksi dalam Tutorial membuat kluster ARO.
Mendapatkan rahasia tarik
Anda akan memerlukan rahasia tarik dari ACR untuk mengakses registri dari kluster ARO Anda.
Untuk mendapatkan info masuk rahasia tarik, Anda dapat menggunakan portal Microsoft Azure atau Azure CLI.
Jika menggunakan portal Microsoft Azure, buka instans ACR Anda, dan pilih Tombol Akses. docker-username
Anda adalah nama registri kontainer Anda, gunakan kata sandi atau kata sandi2 untuk docker-password
.
Sebagai gantinya, Anda bisa menggunakan Azure CLI untuk mendapatkan info masuk ini:
az acr credential show -n <your registry name>
Membuat rahasia Kubernetes
Sekarang, kita akan menggunakan info masuk ini untuk membuat rahasia Kubernetes. Jalankan perintah berikut dengan info masuk ACR Anda:
oc create secret docker-registry \
--docker-server=<your registry name>.azurecr.io \
--docker-username=<your registry name> \
--docker-password=******** \
--docker-email=unused \
acr-secret
Catatan
Rahasia ini akan disimpan dalam Proyek OpenShift (Namespace Layanan Kubernetes) saat ini dan hanya akan dapat dirujuk oleh pod yang dibuat di Proyek tersebut. Lihat dokumen ini untuk mengetahui petunjuk lebih lanjut tentang membuat rahasia tarik lebar kluster.
Menautkan rahasia ke akun layanan
Selanjutnya, tautkan rahasia ke akun layanan yang akan digunakan oleh pod, sehingga pod dapat mencapai registri kontainer. Nama akun layanan harus sesuai dengan nama akun layanan yang digunakan oleh pod. default
adalah akun layanan default:
oc secrets link default <pull_secret_name> --for=pull
Membuat pod menggunakan citra registri privat
Setelah kita menyambungkan kluster ARO ke ACR Anda, mari kita tarik citra dari ACR Anda untuk membuat pod.
Mulai dengan podSpec dan tentukan rahasia yang Anda buat sebagai imagePullSecret:
apiVersion: v1
kind: Pod
metadata:
name: hello-world
spec:
containers:
- name: hello-world
image: <your registry name>.azurecr.io/hello-world:v1
imagePullSecrets:
- name: acr-secret
Untuk menguji bahwa pod Anda sedang aktif dan berjalan, jalankan perintah ini dan tunggu sampai statusnya Berjalan:
$ oc get pods --watch
NAME READY STATUS RESTARTS AGE
hello-world 1/1 Running 0 30s