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 pesan error tentang jaringan {i>default<i} 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
--network
flag dan jaringan default Anda di Google Cloud
apakah dihapus atau dinonaktifkan. Secara default, Config Controller membuat
Cluster edisi Google Kubernetes Engine (GKE) Enterprise yang mendukung instance Pengontrol Konfigurasi Anda di
jaringan default.
Jika Anda ingin membuat instance di jaringan yang sudah ada, tambahkan
--network=NETWORK
saat Anda membuat
instance Pengontrol Konfigurasi. Ganti NETWORK
dengan nama
dari jaringan yang ada.
Jika Anda 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, mengaktifkan subnet otomatis dengan
Tanda --subnet-mode=auto
wajib diisi.
Setelah membuat ulang jaringan default, Anda dapat menghilangkan flag --network
saat Anda membuat instance Pengontrol Konfigurasi.
Nilai untuk MasterIpv4CidrBlock tidak valid
Pembuatan Pengontrol Konfigurasi menggunakan subnet default 172.16.0.128/28
untuk
CIDR IPv4 bidang kontrol.
Jika ada konflik dalam blok CIDR IPv4, pembuatan Pengontrol Konfigurasi
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 pesan error ini, pilih CIDR IPv4 pribadi yang lain dan gunakan dengan menggunakan
Flag --master-ipv4-cidr-block
di gcloud anthos config controller create
perintah.
Untuk menemukan blok CIDR IPv4 yang sudah digunakan, selesaikan langkah-langkah berikut:
Temukan nama peering:
gcloud compute networks peerings list --network=NETWORK
Ganti
NETWORK
dengan nama jaringan yang 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=REGION
Ganti kode berikut:
PEERING_NAME
: nama peering yang ingin Anda cariNETWORK
: nama jaringan yang ingin Anda cariREGION
: nama wilayah tempat Anda Instance Pengontrol Konfigurasi sedang
Memecahkan masalah saat menjalankan Pengontrol Konfigurasi
Kehabisan IP kumpulan node
Jika Anda melihat pesan error berikut, berarti kumpulan node Anda mungkin tidak memiliki cukup alamat IP:
Can't scale up because instances in managed instance groups hosting node pools ran out of IPs
Masalah ini dapat terjadi jika Anda menghapus tanda --cluster-ipv4-cidr-block
. Jika Anda
hapus flag ini. Pengontrol Konfigurasi ditetapkan secara default ke rentang CIDR Pod /20
.
Rentang ini memberi Anda maksimum 16 node.
Jika Anda membutuhkan lebih banyak node, hapus instance Pengontrol Konfigurasi saat Anda
tidak dapat mengubah blok CIDR
setelah dibuat. Saat Anda membuat ulang
instance Pengontrol Konfigurasi, gunakan parameter opsional
--cluster-ipv4-cidr-block
dan menentukan
CIDR range or netmask size
Informasi dasbor tidak ada
Jika Anda tidak melihat detail apa pun untuk Pengontrol Konfigurasi di Konsol Google Cloud maka akun layanan default yang digunakan oleh pengontrol Konfigurasi mungkin tidak memiliki izin Kemampuan Observasi Google Cloud 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 yang Anda buat instance Pengontrol Konfigurasi diPROJECT_NUMBER
: nomor project Google Cloud Anda
Memecahkan masalah komponen
Karena instance Pengontrol Konfigurasi sudah diinstal sebelumnya dengan Pengontrol Kebijakan, Sinkronisasi Konfigurasi, dan Config Connector, Anda mungkin menghadapi masalah dengan komponen-komponen ini. Untuk mempelajari cara memecahkan masalah ini, lihat halaman berikut:
- Memecahkan Masalah Pengontrol Kebijakan
- Pengantar cara memecahkan masalah Config Sync
- Memecahkan masalah Config Connector
Bagian berikut memberikan saran tentang beberapa masalah umum yang 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
Sinkronisasi Konfigurasi. 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 pada resource Google Cloud yang mendasarinya tidak dapat diubah, seperti project ID atau nama jaringan VPC Anda. Pemblokiran Config Connector mengedit kolom tersebut dan tidak dapat menindaklanjuti perubahan. Jika Anda ingin mengeditnya kolom yang tidak dapat diubah ini, Anda harus menghapus resource asli (melalui Git) sebelum menambahkannya kembali dengan nilai pilihan Anda.
Resource yang macet
Terkadang, resource dapat gagal dihapus dengan benar (seperti yang dilaporkan oleh nomos
status
). Anda dapat memperbaiki masalah ini dengan menghapus
finalizer
pada sumber daya dan kemudian
menghapus sumber daya secara manual.
Misalnya, untuk menghapus IAMPolicyMember yang macet, jalankan perintah berikut 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 selanjutnya
- Jika Anda memerlukan bantuan tambahan, hubungi Cloud Customer Care.