Mengubah artefak sistem

Halaman ini menjelaskan cara mengubah artefak sistem di perlengkapan air-gapped Google Distributed Cloud (GDC).

Ubah artefak sistem di GDC untuk mengelola dan menyempurnakan deployment Anda,

Sebelum memulai

Untuk mengubah artefak sistem, Anda harus mendapatkan akses diagnostik dan memiliki akses ke peran identitas dan akses yang diperlukan:

  • 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.
  • Debugger Artifact Registry Sistem: memiliki akses baca dan tulis ke semua resource Harbor. Minta Admin Keamanan Anda untuk memberi Anda peran cluster System Artifact Registry Debugger (sar-debugger).
  • Debugger rahasia harbor-system Artifact Registry Sistem: memiliki akses debugger di namespace harbor-system. Minta Admin Keamanan Anda untuk memberi Anda peran System Artifact Registry harbor-system secret Debugger (sar-harbor-system-secret-debugger).

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:

Bagian berikut menunjukkan petunjuk upload untuk kedua jenis registri.

Mengupload image container di mesin bootstrap

Untuk mengupload image container ke Artifact Registry di mesin bootstrap, selesaikan langkah-langkah berikut:

  1. Pastikan Anda memiliki image Docker yang telah dimodifikasi dengan masalah yang menyebabkan gangguan telah diperbaiki.

  2. Transfer image baru ke node bootstrap di lingkungan GDC Anda.

  3. Login ke node bootstrap.

  4. 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://}
    
  5. Ambil kredensial untuk mengakses Artifact Registry. Mendapatkan akun dan sandi administrator:

    ADMIN_PASS=$(kubectl -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  6. Login ke Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Pesan Login Succeeded akan dicetak untuk memverifikasi login yang berhasil ke Artifact Registry.

  7. Beri tag pada gambar baru:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Ganti 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.
  8. Kirim image baru ke Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Mengupload image container ke cluster infrastruktur org

Untuk mengupload image container ke Artifact Registry di cluster infrastruktur org, selesaikan langkah-langkah berikut:

  1. Pastikan Anda memiliki image Docker yang telah dimodifikasi dengan masalah yang menyebabkan gangguan telah diperbaiki.

  2. Transfer image baru ke node yang memiliki akses root dengan file kubeconfig root ke cluster infrastruktur org di lingkungan air-gapped Anda.

  3. Ekspor jalur cluster infrastruktur org kubeconfig sebagai variabel lingkungan:

    export ORG_INFRA_KUBECONFIG=KUBECONFIG_FILE_PATH
    

    Ganti KUBECONFIG_FILE_PATH dengan jalur ke file kubeconfig.

  4. Temukan alamat Artifact Registry dalam cluster dan tetapkan sebagai variabel lingkungan REGISTRY_IP:

    REGISTRY=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG get harborcluster /
    harbor -n harbor-system -o=jsonpath='{.spec.externalURL}')
    
    REGISTRY_IP=${REGISTRY#https://}
    
  5. Pastikan REGISTRY_IP berisi URL yang valid, seperti 10.200.0.36:10443:

    echo ${REGISTRY_IP}
    
  6. Periksa apakah sertifikat certificate authority (CA) ada:

    ls -al /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    

    Jika 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 $ORG_INFRA_KUBECONFIG) | openssl base64 -A -d >  /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
    chmod 755 /etc/docker/certs.d/${REGISTRY_IP}/ca.crt
    
  7. Ambil kredensial untuk mengakses Artifact Registry. Gunakan perintah berikut untuk mengambil akun dan sandi administrator:

    ADMIN_PASS=$(kubectl --kubeconfig $ORG_INFRA_KUBECONFIG \
        -n harbor-system get secret harbor-admin \
        -o jsonpath="{.data.secret}" | base64 -d)
    
  8. Login ke Artifact Registry:

    docker login $REGISTRY_IP -u admin -p $ADMIN_PASS
    

    Pesan Login Succeeded akan dicetak untuk memverifikasi login yang berhasil ke Artifact Registry.

  9. Beri tag pada gambar baru:

    docker image tag CONTAINER_IMAGE_URL \
        $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

    Ganti 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.
  10. Kirim image baru ke Artifact Registry:

    docker image push $REGISTRY_IP/PROJECT_NAME/IMAGE_NAME:TAG
    

Mengubah artefak sistem

Gunakan perintah gdcloud artifacts untuk mengubah artefak sistem di GDC. Perbarui, sesuaikan, dan amankan deployment Anda dengan melakukan tindakan seperti mengganti paket software, menyesuaikan konfigurasi, dan menerapkan patch.

Melakukan tindakan berikut:

  • Mengelola paket apt.
  • Bangun dan ekstrak image dari paket OCI.
  • Mencantumkan versi image OCI root yang tersedia.
  • Membuat patch paket yang ada.
  • Tarik dan kirim paket OCI ke dan dari registry.
  • Menampilkan struktur paket OCI.
  • Ekstrak paket OCI.

Untuk informasi selengkapnya, lihat gdcloud artifacts.