Halaman ini menjelaskan cara mengonfigurasi Google Distributed Cloud (khusus software) untuk cluster admin VMware agar menggunakan Artifact Registry Google sebagai registry Docker pribadi tempat Anda dapat menyimpan image workload. Saat Anda mengonfigurasi registry pribadi untuk menyimpan image beban kerja, image sistem Google Distributed Cloud juga disimpan di registry pribadi saat Anda membuat atau mengupgrade cluster.
Meskipun Artifact Registry mendukung beberapa metode autentikasi yang berbeda, Anda harus menggunakan kunci akun layanan untuk autentikasi agar dapat menggunakan Artifact Registry sebagai registry pribadi. Langkah-langkah di halaman ini menjelaskan cara mendapatkan alamat, kredensial, dan sertifikat CA yang diperlukan oleh bagian privateRegistry
dalam file konfigurasi cluster admin.
Mengonfigurasi file kredensial
Jika Anda belum mengonfigurasi autentikasi untuk registry, ikuti langkah-langkah di Mengonfigurasi autentikasi ke Artifact Registry untuk Docker guna mengonfigurasi autentikasi menggunakan akun layanan. Anda harus menggunakan akun layanan dengan file kunci JSON untuk autentikasi.
Buat file konfigurasi kredensial,
admin-creds.yaml
, seperti yang ditunjukkan dalam contoh berikut.username
harus"_json_key"
. Anda dapat menggunakan nilai apa pun untuk kolomname
, asalkan cocok dengan nilai yang akan Anda tambahkan ke kolomprivateRegistry.entry
.apiVersion: v1 kind: "CredentialFile" items: - name: "private-registry-creds" username: "_json_key" password:
Di direktori tempat file kunci JSON untuk akun layanan registri berada, jalankan
cat
pada file kunci untuk menampilkan konten.Salin seluruh konten kunci JSON dan tempelkan di kolom
password
. Pastikan untuk mengapit konten kunci JSON dengan tanda kutip tunggal karena kontennya berisi tanda kutip ganda. Contoh:apiVersion: v1 kind: "CredentialFile" items: - name: "private-registry-creds" username: "_json_key" password: '{ "type": "service_account", "project_id": "example-project-12345", "private_key_id": "d2661ccb21e686658c6552cf1e0166b857091b2e", "private_key": "-----BEGIN PRIVATE ... -----END PRIVATE KEY-----\n", "client_email": "test-537@example-project-12345.iam.gserviceaccount.com", "client_id": "111772984510027821291", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test-537%40example-project-12345.iam.gserviceaccount.com", "universe_domain": "googleapis.com" } '
Mengonfigurasi privateRegistry
di file konfigurasi cluster admin
Untuk menggunakan registry pribadi, Anda harus mengonfigurasi bagian privateRegistry
saat membuat cluster admin. Setelah cluster dibuat, Anda tidak dapat mengubah privateRegistry.address
, tetapi setelan lainnya dapat diubah dan Anda dapat memperbaruinya jika diperlukan.
Jalankan perintah berikut untuk mendapatkan alamat registry:
gcloud artifacts repositories describe REGISTRY_NAME \ --project=PROJECT_ID --location=REGION
Ganti kode berikut:
REGISTRY_NAME
: nama registri.PROJECT_ID
: ID project tempat registry dibuat.LOCATION
: region tempat registry dibuat, sepertius-west2
.
Outputnya mirip dengan hal berikut ini:
Encryption: Google-managed key Repository Size: 0.000MB cleanupPolicyDryRun: true createTime: '2025-01-28T03:27:57.701672Z' dockerConfig: {} format: DOCKER mode: STANDARD_REPOSITORY name: projects/example-project-12345/locations/us-west2/repositories/test registryUri: us-west2-docker.pkg.dev/example-project-12345/test satisfiesPzi: true updateTime: '2025-01-28T03:27:57.701672Z' vulnerabilityScanningConfig: enablementConfig: INHERITED enablementState: SCANNING_ACTIVE lastEnableTime: '2025-01-28T03:27:49.385246079Z'
Gunakan nilai
registryUri
dalam output untukprivateRegistry.address
.Jalankan perintah berikut untuk mengekstrak sertifikat CA endpoint Artifact Registry dan menyimpannya ke file bernama
ar-ca.pem
:true | openssl s_client -connect REGION-docker.pkg.dev:443 -showcerts 2>/dev/null| sed -ne '/-BEGIN/,/-END/p' > ar-ca.pem
Isi bagian
privateRegistry
sebagai berikut:privateRegistry: address: "REGISTRY_ADDRESS" credentials: fileRef: path: "CREDENTIAL_FILE_PATH" entry: "private-registry-creds" caCertPath: "CA_CERT_PATH" componentAccessServiceAccountKeyPath: "COMPONENT_ACCESS_KEY_PATH"
Ganti kode berikut:
REGISTRY_ADDRESS
: nilairegistryUri
.CREDENTIAL_FILE_PATH
: jalur lengkap atau relatif dari fileadmin-creds.yaml
.CA_CERT_PATH
: jalur lengkap atau relatif dari filear-ca.pem
.COMPONENT_ACCESS_KEY_PATH
: jalur lengkap atau relatif file kunci akun layanan akses komponen.