Mengonfigurasi container registry pribadi

Halaman ini menjelaskan cara mengonfigurasi server registry container yang ada untuk Google Distributed Cloud (khusus software) untuk VMware.

Halaman ini ditujukan untuk Admin, Arsitek, dan Operator yang menyiapkan, memantau, dan mengelola infrastruktur teknologi. Untuk mempelajari lebih lanjut peran umum dan contoh tugas yang kami referensikan dalam konten Google Cloud , lihat Tugas dan peran pengguna GKE Enterprise umum.

Ringkasan

Secara default selama pembuatan atau upgrade cluster, Google Distributed Cloud mengambil image sistem dari gcr.io/gke-on-prem-release menggunakan akun layanan akses komponen. Secara opsional, Anda dapat menyediakan server registry container Anda sendiri sehingga image sistem diambil dari server registry pribadi Anda.

Google Distributed Cloud tidak mendukung registry penampung yang tidak aman. Saat memulai server registry penampung, Anda harus memberikan sertifikat dan kunci. Sertifikat dapat ditandatangani oleh certificate authority (CA) publik, atau dapat ditandatangani sendiri.

Membuat server registry penampung

Untuk mempelajari cara membuat server registry container, lihat Menjalankan registry yang dapat diakses secara eksternal dalam dokumentasi Docker.

Mengonfigurasi registry

Untuk menggunakan registry penampung pribadi, isi bagian privateRegistry di file konfigurasi cluster admin sebelum membuat cluster. Jika bagian ini diisi:

  • Saat Anda menjalankan perintah gkectl prepare sebelum pembuatan atau upgrade cluster, perintah ini akan mengekstrak image dari file tar yang ditentukan di kolom bundlePath dalam file konfigurasi cluster admin dan mendorong image ke server registry pribadi Anda.

  • Selama pembuatan atau upgrade cluster, image sistem diambil dari server registry pribadi Anda.

Batasan dengan cluster lanjutan dan paket lengkap

Ada dua paket Google Distributed Cloud yang tersedia: paket lengkap dan paket reguler. Untuk menentukan paket mana yang ada di workstation admin, periksa kolom bundlePath di file konfigurasi cluster admin. Jika nama file berakhiran -full, paket lengkap ada di workstation admin Anda. Jika nama file tidak diakhiri dengan -full, paket reguler ada di workstation admin Anda.

Jika Anda membuat workstation admin menggunakan perintah gkeadm, perintah tersebut akan membuat VM workstation admin dengan paket lengkap di dalamnya, dan mengonfigurasi kolom bundlePath dalam file konfigurasi cluster admin.

Jika cluster lanjutan diaktifkan, ada batasan dalam menggunakan paket lengkap dengan registry pribadi, sebagai berikut:

  • Versi 1.31: paket lengkap tidak didukung dengan registry pribadi. Untuk menggunakan registry pribadi di cluster lanjutan:

    1. Download paket ukuran reguler ke workstation admin Anda.
    2. Perbarui nama file di kolom bundlePath dalam file konfigurasi cluster admin.
  • Versi 1.32: penggunaan paket lengkap didukung, tetapi perintah gkectl prepare akan mengambil gambar dari gcr.io/gke-on-prem-release, bukan file tar. Namun, perintah ini akan mengirim image ke registry pribadi Anda sehingga image sistem diambil dari registry pribadi Anda selama pembuatan atau upgrade cluster.

Memverifikasi bahwa image diambil dari server registry Anda

Cara Anda memverifikasi bahwa image diambil dari server registry bergantung pada apakah cluster lanjutan diaktifkan.

  • Jika cluster lanjutan tidak diaktifkan, jalankan perintah berikut:

    kubectl --kubeconfig ADMIN_CLUSTER_KUBECONFIG get pods \
        --all-namespaces -o jsonpath="{.items[*].spec['initContainers', 'containers'][*].image}"
    

    Ganti ADMIN_CLUSTER_KUBECONFIG dengan jalur file kubeconfig untuk cluster admin Anda.

    Output perintah ini menampilkan semua gambar di cluster Anda. Anda dapat memverifikasi bahwa semua image Google Distributed Cloud berasal dari server registry Anda sendiri.

  • Jika cluster lanjutan diaktifkan, lakukan langkah-langkah berikut:

    Anda dapat menentukan apakah containerd mengambil gambar dari registry lokal Anda dengan memeriksa konten file yang disebut config.toml seperti yang ditunjukkan dalam langkah-langkah berikut:

    1. Login ke node dan periksa konten file /etc/containerd/config.toml.
    2. Periksa kolom pluginsio.containerd.grpc.v1.cri".registry.mirrors dari file config.toml untuk melihat apakah server registry Anda tercantum di kolom endpoint.

      Berikut adalah kutipan dari contoh file config.toml.

      version = 2
      root = "/var/lib/containerd"
      state = "/run/containerd"
      ...
      [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".registry.configs]
      [plugins."io.containerd.grpc.v1.cri".registry.configs."gcr.io"]
      [plugins."io.containerd.grpc.v1.cri".registry.configs."privateregistry2.io".tls]
      ca_file = '/etc/containerd/certs.d/privateregistry2.io/ca.crt'
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."gcr.io"]
      endpoint = ["http://privateregistry.io", "http://privateregistry2.io"]
      ...
      
    3. Jika mirror registry Anda muncul di kolom endpoint, node akan mengambil image dari mirror registry, bukan dari Artifact Registry.