Halaman ini menjelaskan proses mengupload image container ke Harbor, dan men-deploy image tersebut di instance Sandbox GDC Anda.
Persiapan
Ikuti petunjuk di Menghubungkan ke instance Anda untuk terhubung ke instance Anda dengan akses command line Linux. Anda dapat terhubung ke gateway melalui Desktop Jarak Jauh, atau menjalankan
sshuttle
di komputer Linux Anda.Tetapkan variabel lingkungan yang akan digunakan dalam petunjuk berikut:
export TENANT_PROJECT=TENANT_PROJECT # Intended deployment project for the container workflow. export HARBOR_INSTANCE_NAME=HARBOR_INSTANCE_NAME # Harbor Container Registry instance name. export HARBOR_PROJECT=HARBOR_PROJECT # Container registry project name for your images. export AO_USER=AO_USER # Your user name in the instance, e.g.: fop-my-user@example.com. export INSTANCE_URL=${HARBOR_INSTANCE_NAME}-${TENANT_PROJECT}.org-1.zone1.google.gdch.test. export DOCKER_CONFIG_PATH=DOCKER_CONFIG_PATH # Path to docker config file e.g.: /root/.docker/config.json.
Untuk membuat instance registry Harbor, ikuti Membuat instance registry Harbor, atau Anda dapat menggunakan instance Harbor Sandbox yang telah dibuat sebelumnya:
user-project
default di Sandbox GDC dilengkapi dengan Instance Harbor yang sudah di-deploy,user-haas-instance
, yang dapat digunakan untuk pengembangan.export HARBOR_INSTANCE_NAME=user-haas-instance export TENANT_PROJECT=user-project export INSTANCE_URL=${HARBOR_INSTANCE_NAME}-${TENANT_PROJECT}.org-1.zone1.google.gdch.test
Mengupload gambar ke Harbor
Buat project Harbor dengan mengikuti Membuat Project Harbor.
Contoh:
gdcloud harbor harbor-projects create HARBOR_PROJECT \ --project=TENANT_PROJECT \ --instance=HARBOR_INSTANCE_NAME
Login ke Docker. Mulai dari Login ke Docker atau Helm dengan secret CLI.
Download atau bangun image container Anda, lalu ikuti petunjuk air-gapped Google Distributed Cloud untuk Mengirim image guna mengirimkannya ke Harbor.
Misalnya, berikut adalah alur kerja untuk menarik dari Gitlab dan mengirim ke Harbor:
Login dan tarik dari registry container Gitlab Anda.
export GITLAB_ID=GITLAB_ID export GITLAB_PROJECT_NAME=GITLAB_PROJECT_NAME export GITLAB_IMAGE_PATH=registry.gitlab.com/GITLAB_ID/GITLAB_PROJECT_NAME docker login registry.gitlab.com docker pull ${GITLAB_IMAGE_PATH}
Kirim image Gitlab ke Harbor:
export TAG=demo-image docker tag ${TAG} ${GITLAB_IMAGE_PATH} docker push ${INSTANCE_URL}/${HARBOR_PROJECT}/${TAG}
Memberikan peran
Beri pengguna Anda kemampuan untuk membuat secret dan deployment.
Beri pengguna izin untuk membuat rahasia dengan menambahkan peran
secret-admin
.gdcloud projects add-iam-policy-binding PROJECT \ --member="user:${AO_USER}" \ --role=secret-admin
Beri pengguna izin untuk men-deploy workload penampung dengan menambahkan peran
namespace-admin
.gdcloud projects add-iam-policy-binding PROJECT \ --member="user:${AO_USER}" \ --role=namespace-admin
Deploy aplikasi container
Lanjutkan di Membuat secret penarikan image Kubernetes untuk membuat secret dan men-deploy aplikasi Anda.