Men-deploy workload container

Halaman ini menjelaskan proses mengupload image container ke Harbor, dan men-deploy image tersebut di instance Sandbox GDC Anda.

Persiapan

  1. 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.

  2. 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.
    
  3. 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

  1. Buat project Harbor dengan mengikuti Membuat Project Harbor.

    Contoh:

    gdcloud harbor harbor-projects create HARBOR_PROJECT  \
    --project=TENANT_PROJECT \
    --instance=HARBOR_INSTANCE_NAME 
    
  2. Login ke Docker. Mulai dari Login ke Docker atau Helm dengan secret CLI.

  3. 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:

    1. 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}
      
    2. 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.

  1. 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
    
  2. 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.