Halaman ini menunjukkan cara menyelesaikan masalah terkait Pengontrol Konfigurasi.
Memecahkan masalah penginstalan
Tidak ada jaringan bernama default
Saat membuat instance Pengontrol Konfigurasi, Anda mungkin menerima error terkait jaringan default yang tidak tersedia:
Error 400: Project \"PROJECT_ID\" has no network named \"default\"., badRequest\n\n on main.tf line 35, in resource \"google_container_cluster\" \"acp_cluster\"
Error ini terjadi jika Anda tidak menentukan jaringan yang ada dengan flag
--network
dan jaringan default Anda di Google Cloud
dihapus atau dinonaktifkan. Secara default, Pengontrol Konfigurasi membuat cluster Google Kubernetes Engine yang mendukung instance Pengontrol Konfigurasi Anda di jaringan default.
Jika ingin membuat instance di jaringan yang ada, tambahkan flag
--network=NETWORK saat Anda membuat instance
Pengontrol Konfigurasi. Ganti NETWORK dengan nama jaringan yang ada.
Jika ingin membuat instance Pengontrol Konfigurasi di jaringan default, buat ulang jaringan default Anda dengan perintah berikut:
gcloud compute networks create default --subnet-mode=auto
Agar perintah ini berfungsi, Anda harus mengaktifkan subnet otomatis dengan flag --subnet-mode=auto.
Setelah membuat ulang jaringan default, Anda dapat menghapus flag --network saat membuat instance Pengontrol Konfigurasi.
Nilai tidak valid untuk MasterIpv4CidrBlock
Pembuatan Pengontrol Konfigurasi menggunakan subnet default 172.16.0.128/28 untuk
CIDR IPv4 bidang kontrol.
Jika ada konflik di blok CIDR IPv4, pembuatan Pengontrol Konfigurasi akan gagal dengan error berikut:
Cloud SSA\n\nError: Error waiting for creating GKE cluster: Invalid value for field PrivateClusterConfig.MasterIpv4CidrBlock: 172.16.0.128/28 conflicts with an existing subnet in one of the peered VPCs.
Jika Anda melihat error ini, pilih CIDR IPv4 pribadi yang berbeda dan gunakan dengan flag --master-ipv4-cidr-block dalam perintah gcloud anthos config controller create.
Untuk menemukan blok CIDR IPv4 yang sudah digunakan, selesaikan langkah-langkah berikut:
Temukan nama peering:
gcloud compute networks peerings list --network=NETWORKGanti
NETWORKdengan nama jaringan yang ingin Anda cari.Outputnya mirip dengan hal berikut ini:
NAME NETWORK PEER_PROJECT PEER_NETWORK PEER_MTU IMPORT_CUSTOM_ROUTES EXPORT_CUSTOM_ROUTES STATE STATE_DETAILS gke-n210ce17a4dd120e16b6-7ebf-959a-peer default gke-prod-us-central1-59d2 gke-n210ce17a4dd120e16b6-7ebf-0c27-net False False ACTIVE [2021-06-08T13:22:07.596-07:00]: Connected.Tampilkan CIDR IPv4 yang digunakan oleh peering:
gcloud compute networks peerings list-routes PEERING_NAME \ --direction=INCOMING \ --network=NETWORK \ --region=REGIONGanti kode berikut:
PEERING_NAME: nama peering yang ingin Anda cariNETWORK: nama jaringan yang ingin Anda cariREGION: nama region tempat instance Pengontrol Konfigurasi Anda berada
Memecahkan masalah saat menjalankan Pengontrol Konfigurasi
Kehabisan IP node pool
Jika Anda melihat pesan error berikut, node pool Anda mungkin tidak memiliki alamat IP yang cukup:
Can't scale up because instances in managed instance groups hosting node pools ran out of IPs
Masalah ini dapat terjadi jika Anda menghapus flag --cluster-ipv4-cidr-block. Jika Anda menghapus flag ini, Pengontrol Konfigurasi akan menggunakan rentang CIDR Pod /20 secara default.
Rentang ini memberi Anda maksimum 16 node.
Jika Anda memerlukan lebih banyak node, hapus instance Pengontrol Konfigurasi karena Anda tidak dapat mengubah blok CIDR setelah pembuatan. Saat Anda membuat ulang instance Pengontrol Konfigurasi, gunakan parameter opsional
--cluster-ipv4-cidr-block dan tentukan
CIDR range or netmask size.
Cluster yang dikelola Pengontrol Konfigurasi tidak tercantum di dasbor Config Sync
Jika Anda mengklik Dasbor Config Sync dan tidak melihat instance, buat fleet kosong dan tetapkan cluster Pengontrol Konfigurasi ke fleet tersebut.
Informasi dasbor tidak ada
Jika Anda tidak melihat detail apa pun untuk Pengontrol Konfigurasi di Google Cloud dasbor konsol, akun layanan default yang digunakan oleh Pengontrol Konfigurasi mungkin tidak memiliki izin Google Cloud Observability yang diperlukan.
Untuk memberikan izin ini, gunakan perintah berikut:
# Cloud Monitoring metrics permissions
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/monitoring.metricWriter \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/stackdriver.resourceMetadata.writer \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/opsconfigmonitoring.resourceMetadata.writer \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
# Cloud Logging permissions
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/logging.logWriter \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
# Cloud Trace permissions\
gcloud projects add-iam-policy-binding PROJECT_ID \
--role=roles/cloudtrace.agent \
--condition=None \
--member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com"
Ganti kode berikut:
PROJECT_ID: ID project tempat Anda membuat instance Pengontrol KonfigurasiPROJECT_NUMBER: nomor Google Cloud project Anda
Memecahkan masalah komponen
Karena instance Pengontrol Konfigurasi Anda sudah diinstal sebelumnya dengan Pengontrol Kebijakan, Config Sync, dan Config Connector, Anda mungkin mengalami masalah dengan komponen ini. Untuk mempelajari cara memecahkan masalah komponen ini, lihat halaman berikut:
- Memecahkan masalah Pengontrol Kebijakan
- Pengantar pemecahan masalah Config Sync
- Memecahkan masalah Config Connector
Bagian berikut memberikan saran tentang beberapa masalah umum yang mungkin Anda temui saat menggunakan Pengontrol Konfigurasi dengan komponen ini.
Error sinkronisasi
Konfigurasi di sumber tepercaya Anda (misalnya, repositori Git atau image OCI) disinkronkan ke instance Pengontrol Konfigurasi Anda dengan Config Sync. Periksa error dalam proses sinkronisasi ini menggunakan perintah
nomos status:
nomos status --contexts $(kubectl config current-context)
Memecahkan masalah resource Config Connector
Kolom dan resource yang tidak dapat diubah
Beberapa kolom di resource dasar Google Cloud tidak dapat diubah, seperti ID project atau nama jaringan VPC Anda. Config Connector memblokir pengeditan kolom tersebut dan tidak dapat mengaktifkan perubahan. Jika ingin mengedit salah satu kolom yang tidak dapat diubah ini, Anda harus menghapus resource asli (melalui Git) sebelum menambahkannya kembali dengan nilai pilihan Anda.
Resource yang tidak berfungsi
Terkadang, resource mungkin gagal dihapus dengan benar (seperti yang dilaporkan oleh nomos
status). Anda dapat memperbaiki masalah ini dengan menghapus
finalizer
pada resource, lalu menghapus resource secara manual.
Misalnya, untuk menghapus IAMPolicyMember yang tidak berfungsi, jalankan perintah berikut:
kubectl patch IAMPolicyMember logging-sa-iam-permissions \
-p '{"metadata":{"finalizers":[]}}' --type=merge -n config-control
kubectl delete IAMPolicyMember logging-sa-iam-permissions -n config-control
Langkah berikutnya
- Jika Anda memerlukan bantuan tambahan, hubungi Layanan Pelanggan Cloud.