Artefak sistem mendukung sistem perangkat dengan air gap Google Distributed Cloud (GDC) dan mengelola deployment GDC. Artifact Registry pribadi GDC menyimpan artefak sistem. Ada berbagai format untuk artefak sistem, termasuk, tetapi tidak terbatas pada:
- Image container untuk layanan terkelola Anthos, KubeVirt, dan GDC
- Image sistem operasi (OS)
- Format firmware
- Template mesin virtual (VM) Golden
- Diagram Helm
Artifact Registry berpartisipasi dalam berbagai operasi sistem GDC seperti penginstalan, upgrade, dan siklus proses resource secara aman, skalabel, dan anti-rusak.
Sebelum memulai
Untuk mengubah artefak sistem, Anda harus mendapatkan akses diagnostik. Akses diagnostik adalah mode akses istimewa yang diperlukan untuk mendukung pelanggan secara aman saat mereka mengalami masalah. Anda harus membuat tiket agar akses ini diberikan.
Mengupload image Docker
Untuk mengubah artefak sistem, Anda harus mengupload image Docker baru. Metode upload bergantung pada dua registry berikut yang menjadi tujuan pengiriman image container Anda:
- Upload image container ke Artifact Registry di mesin bootstrap.
- Upload image container ke Artifact Registry di cluster admin.
Bagian berikut menunjukkan petunjuk upload untuk kedua jenis registri.
Artifact Registry di mesin bootstrap
Untuk mengupload image container ke Artifact Registry di mesin bootstrap, selesaikan langkah-langkah berikut:
Pastikan Anda memiliki image Docker yang telah dimodifikasi dengan masalah yang menyebabkan gangguan telah diperbaiki.
Transfer image baru ke node bootstrap di lingkungan air-gapped Anda.
Login ke node bootstrap.
Temukan alamat Artifact Registry di mesin bootstrap pada waktu bootstrap dan tetapkan sebagai variabel lingkungan REGISTRY_IP:
REGISTRY=$(kubectl get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}') REGISTRY_IP=${REGISTRY#https://}Ambil kredensial untuk mengakses Artifact Registry. Gunakan perintah berikut untuk mengambil akun dan sandi administrator:
ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin \ -o jsonpath="{.data.secret}" | base64 -d)Login ke Artifact Registry:
docker login $REGISTRY_IP -u admin -p $ADMIN_PASSPesan
Login Succeededakan dicetak untuk memverifikasi login yang berhasil ke Artifact Registry.Beri tag pada gambar baru:
docker image tag CONTAINER_IMAGE_URL \ $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAGGanti kode berikut:
- CONTAINER_IMAGE_URL: URL image container lokal, seperti
gcr.io/repository/image:tag. - PROJECT_NAME: nama project Artifact Registry.
- IMAGE_NAME: nama image container.
- TAG: tag image container.
- CONTAINER_IMAGE_URL: URL image container lokal, seperti
Kirim image baru ke Artifact Registry:
docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
Artifact Registry di cluster admin
Untuk mengupload image container ke Artifact Registry di cluster admin, selesaikan langkah-langkah berikut.
Pastikan Anda memiliki image Docker yang telah dimodifikasi dengan masalah yang menyebabkan gangguan telah diperbaiki.
Transfer image baru ke node yang memiliki akses root dengan file root
kubeconfigke cluster admin di lingkungan terisolasi Anda.Ekspor jalur file
kubeconfigcluster admin sebagai variabel lingkungan:export ADMIN_CLUSTER_KUBECONFIG=KUBECONFIG_FILE_PATHGanti KUBECONFIG_FILE_PATH dengan jalur ke file
kubeconfig.Temukan alamat Artifact Registry dalam cluster dan tetapkan sebagai variabel lingkungan REGISTRY_IP:
REGISTRY=$(kubectl --kubeconfig $ADMIN_CLUSTER_KUBECONFIG get harborcluster harbor -n harbor-system -o=jsonpath='{.spec.externalURL}') REGISTRY_IP=${REGISTRY#https://}Pastikan REGISTRY_IP berisi URL yang valid, seperti
10.200.0.36:10443:echo ${REGISTRY_IP}Periksa apakah sertifikat certificate authority (CA) ada:
ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crtJika sertifikat tidak ada, buat dan konfigurasikan:
mkdir -p /etc/docker/certs.d/${REGISTRY_IP}/ chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ echo $(kubectl get secret harbor-cert-secret -n istio-system -o jsonpath='{.data.ca\.crt}' --kubeconfig $ADMIN_CLUSTER_KUBECONFIG) | openssl base64 -A -d > /etc/docker/certs.d/${REGISTRY_IP}/ca.crt chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ca.crtAmbil kredensial untuk mengakses Artifact Registry. Gunakan perintah berikut untuk mengambil akun dan sandi administrator:
ADMIN_PASS=$(kubectl --kubeconfig $ADMIN_CLUSTER_KUBECONFIG \ -n harbor-system get secret harbor-admin \ -o jsonpath="{.data.secret}" | base64 -d)Login ke Artifact Registry:
docker login $REGISTRY_IP -u admin -p $ADMIN_PASSPesan
Login Succeededakan dicetak untuk memverifikasi login yang berhasil ke Artifact Registry.Beri tag pada gambar baru:
docker image tag CONTAINER_IMAGE_URL \ $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAGGanti kode berikut:
- CONTAINER_IMAGE_URL: URL image container lokal, seperti
gcr.io/repository/image:tag. - PROJECT_NAME: nama project Artifact Registry.
- IMAGE_NAME: nama image container.
- TAG: tag image container.
- CONTAINER_IMAGE_URL: URL image container lokal, seperti
Kirim image baru ke Artifact Registry:
docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG