Artefak sistem ada di Artifact Registry cluster admin. Kirim artefak sistem baru saat sistem menunjukkan bug atau gangguan yang dapat Anda perbaiki dengan menambal artefak baru.
Dokumen ini menjelaskan cara mengirimkan artefak individual dari satu cluster ke cluster lain.
Sebelum memulai
Untuk mendapatkan izin yang Anda perlukan untuk mengakses resource di project Artifact Registry sistem sebagai administrator, minta Admin Keamanan Anda untuk memberi Anda peran berikut, bergantung pada cluster yang ingin Anda tuju untuk mengirim image container:
- Cluster admin org: Untuk mengirim image container ke Artifact Registry sistem cluster admin org, Anda memerlukan peran Admin Pengelolaan Artefak Sistem Organisasi (
organization-system-artifact-management-admin). - Cluster admin root: Untuk mengirim image container ke Artifact Registry sistem cluster admin root, Anda memerlukan peran Admin Pengelolaan Artefak Sistem (
system-artifact-management-admin).
Setelah mendapatkan izin yang diperlukan, lakukan langkah-langkah berikut sebelum mengirimkan image ke Artifact Registry sistem dari cluster admin root atau cluster admin org:
Download dan instal Distributed Cloud CLI dengan mengikuti petunjuk antarmuka command line (CLI) gdcloud.
Instal komponen
docker-credential-gdclouddengan mengikuti petunjuk Instal komponen.gdcloud components install docker-credential-gdcloudLogin dengan penyedia identitas yang dikonfigurasi.
gdcloud auth loginEkspor file kubeconfig.
gdcloud clusters get-credentials CLUSTER_NAMEGanti CLUSTER_NAME dengan nama cluster.
Konfigurasi Docker.
gdcloud auth configure-docker
Mendownload image container dari bucket S3
Untuk mendapatkan izin yang diperlukan untuk mendownload image container dari bucket S3, minta Admin Keamanan Anda untuk memberi Anda peran Project Bucket Object Viewer (project-bucket-object-viewer) di namespace project.
Admin Keamanan memberi Anda akses dengan membuat binding peran:
kubectl create rolebinding IO_USER-bor-rb \
--role=project-bucket-object-viewer \
--user=USER \
-n PROJECT_NAMESPACE
Ganti kode berikut:
- USER: Nama akun pengguna yang memerlukan binding peran.
- PROJECT_NAMESPACE: Namespace project dengan bucket S3.
Anda mendapatkan akses hanya baca ke bucket dalam project dan objek di bucket tersebut.
Setelah mendapatkan izin yang diperlukan, ikuti langkah-langkah berikut untuk mendownload image container dari bucket S3 namespace project:
Dapatkan nama rahasia bucket. Nama secret akan terlihat seperti contoh berikut:
object-storage-key-std-user-IDNama rahasia mencakup nilai
IDunik untuk mengakses bucket.Salin nama rahasia bucket.
Dapatkan kredensial akses bucket dan konfigurasi alat CLI s3cmd.
SECRET_NAME=SECRET_NAME ACCESS_KEY=$(kubectl get secret ${SECRET_NAME} -n object-storage-access-keys -o=jsonpath='{.data.access-key-id}' | base64 -d) SECRET_KEY=$(kubectl get secret ${SECRET_NAME} -n object-storage-access-keys -o=jsonpath='{.data.secret-access-key}' | base64 -d) S3_ENDPOINT=objectstorage.$(kubectl get configmap dnssuffix -n gpc-system -o jsonpath='{.data.dnsSuffix}') echo "Access Key: ${ACCESS_KEY}" \ && echo "Secret Key: ${SECRET_KEY}" \ && echo "S3 Endpoint: ${S3_ENDPOINT}" s3cmd --configureGanti
SECRET_NAMEdengan nilai yang Anda salin pada langkah sebelumnya.Download image container dari bucket S3 ke workstation Anda.
s3cmd get s3://BUCKET_NAME /g/CONTAINER_IMAGE_NAMEGanti kode berikut:
- BUCKET_NAME: Nama bucket S3 yang memiliki image container.
- CONTAINER_IMAGE_NAME: Nama file image container yang ingin Anda download dari bucket S3.
Kirim image ke Artifact Registry sistem
Ikuti langkah-langkah berikut untuk mengirim file image container yang ada di workstation Anda ke Artifact Registry sistem di cluster admin:
Buka konsol.
Dapatkan jalur ke endpoint Artifact Registry sistem dari cluster tempat Anda ingin mengirim image container.
export REGISTRY_ENDPOINT=harbor.$(kubectl get configmap dnssuffix -n gpc-system -o jsonpath='{.data.dnsSuffix}')Muat, beri tag, dan kirim image container ke endpoint Artifact Registry sistem cluster.
docker load --input CONTAINER_IMAGE_PATH docker tag CONTAINER_IMAGE_PATH ${REGISTRY_ENDPOINT}/CONTAINER_IMAGE_PATH docker push ${REGISTRY_ENDPOINT}/CONTAINER_IMAGE_PATHGanti CONTAINER_IMAGE_PATH dengan jalur file image container di sistem file lokal Anda. Nilai yang valid untuk jalur ini, misalnya, adalah
oracle_db.tar.