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 akan disimpan di registry pribadi saat Anda membuat atau mengupgrade cluster.
Meskipun Artifact Registry mendukung beberapa
metode autentikasi,
Anda harus menggunakan kunci akun layanan untuk autentikasi guna menggunakan Artifact Registry sebagai
registry pribadi. Langkah-langkah di halaman ini menjelaskan cara mendapatkan alamat, kredensial, dan sertifikat CA yang diperlukan 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 untuk 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
, selama cocok dengan nilai yang akan ditambahkan 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 registry 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 konten tersebut 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 perlu 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 registry.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 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.