Mengonfigurasi container registry pribadi

Halaman ini menjelaskan cara mengonfigurasi server container registry 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, lihat Peran dan tugas pengguna GKE Enterprise umum. Google Cloud

Ringkasan

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

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

Buat server container registry

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

Mengonfigurasi registry

Untuk menggunakan registry container pribadi, Anda dapat menggunakan alat command line gkectl atau Terraform.

gkectl

Tambahkan bagian privateRegistry ke 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 Anda dan mengirimkan image ke server registry pribadi Anda.

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

Terraform

  1. Ikuti langkah-langkah di tab Terraform di Membuat cluster admin untuk mengisi file konfigurasi cluster admin Anda.

  2. Tambahkan kode berikut ke file konfigurasi cluster admin:

    private_registry_config {
      address = "ADDRESS"
      ca_cert = "CA_CERT"
    }
    

    Ganti kode berikut:

    • "ADDRESS": alamat IP atau FQDN (Nama Domain yang Sepenuhnya Memenuhi Syarat) mesin yang menjalankan registry pribadi Anda.

    • "CA_CERT": kunci publik sertifikat CA untuk registry pribadi.

  3. Lanjutkan dengan langkah-langkah di tab Terraform di Membuat cluster admin untuk memverifikasi file konfigurasi dan rencana Terraform, lalu buat cluster bootstrap.

  4. Saat Anda menjalankan perintah gkectl register bootstrap, gkectl akan meminta Anda untuk memasukkan nama pengguna, lalu sandi untuk registry pribadi.

Selama pembuatan cluster, image sistem ditarik dari server registry pribadi Anda.

Batasan pada cluster lanjutan dan paket lengkap

Ada dua paket Google Distributed Cloud yang tersedia: lengkap dan reguler. Untuk menentukan paket mana yang ada di workstation admin Anda, periksa kolom bundlePath di file konfigurasi cluster admin Anda. Jika nama file berakhiran -full, seluruh paket ada di workstation admin Anda. Jika nama file tidak berakhiran -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 bundle 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 bundle 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 menarik gambar dari gcr.io/gke-on-prem-release, bukan file tar. Namun, perintah ini akan mengirim image ke registry pribadi Anda sehingga image sistem ditarik dari registry pribadi Anda selama pembuatan atau upgrade cluster.

Memastikan image ditarik dari server registry Anda

Cara Anda memverifikasi bahwa image ditarik dari server registry Anda 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 menarik gambar dari registry lokal dengan memeriksa konten file bernama config.toml seperti yang ditunjukkan dalam langkah-langkah berikut:

    1. Login ke node dan periksa konten file /etc/containerd/config.toml.
    2. Periksa kolom plugins."io.containerd.grpc.v1.cri".registry.mirrors dari file config.toml untuk melihat apakah server registri 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, berarti node menarik image dari mirror registry Anda, bukan dari Artifact Registry.