Pemecahan masalah penyediaan software

Halaman ini menjelaskan cara memecahkan masalah umum penyediaan software yang mungkin Anda hadapi.

Memecahkan masalah bootstrapping bidang kontrol

Untuk memecahkan masalah proses panel kontrol bootstrap, periksa resource berikut dalam cluster KIND:

  1. Periksa Pod anthos-cluster-operator:

    kubectl logs deployment/anthos-cluster-operator -c operator -n kube-system
    
  2. Periksa resource AddOn:

    kubectl get AddOn -A
    

    Anda juga dapat melihat resource dengan perintah gpc-addons untuk mengetahui informasi selengkapnya.

  3. Periksa resource AddOnSet:

    kubectl get AddOnSet -A
    

    Jika bootstrap bidang kontrol tidak selesai diproses setelah pembuatan cluster infrastruktur org, seperti selama pivot resource, ekspor file kubeconfig secara manual:

    kubectl get secret root-admin-kubeconfig -n root -o jsonpath="{.data.value}" | base64 -d > /root/path/to/root-admin-kubeconfig.yaml
    

Memecahkan masalah pembuatan cluster

Untuk memecahkan masalah proses pembuatan cluster, ikuti langkah-langkah berikut:

  1. Periksa tahap cluster saat ini dan periksa apakah objek Harbor-operator atau Harbor ada dan periksa statusnya dari cluster KIND di resource AddOnSet dengan menjalankan perintah berikut:

    kubectl get addonset -n fleet-root root-admin -o yaml
    

    Setelah menjalankan perintah ini, temukan tahap saat ini di status.currentStage.

  2. Dari cluster infrastruktur org, periksa resource di namespace harbor-system. Jika Anda men-deploy objek HarborCluster melalui perintah kubectl get harborcluster harbor -n harbor-system, hal ini menunjukkan bahwa penginstalan telah berpindah ke tahap kedua, yaitu tahap Harbor.

  3. Periksa kolom status dalam objek HarborCluster:

    kubectl -n harbor-system get harborcluster harbor
    

    Jika status menunjukkan healthy, verifikasi fungsinya melalui portal web dengan menggunakan perintah docker push.

  4. Akses portal web di URL yang dilaporkan. Contoh: https://10.200.0.36:10443

  5. Di bootstrapper, jalankan perintah docker push.

    Jika statusnya unhealthy, tinjau detail dari kondisi status dengan menjalankan entri berikut:

    kubectl -n harbor-system get harborcluster harbor -o yaml
    

    Jika statusnya menampilkan healthy, buka bagian Periksa status istio. Jika status tidak menampilkan healthy, lanjutkan ke bagian berikutnya, Mengevaluasi resource namespace Harbor.

Mengevaluasi resource namespace Harbor

Langkah-langkah ini hanya perlu dilakukan jika resource harbor-system tidak memiliki status healthy. Untuk memeriksa status resource harbor-system Anda, lihat Memecahkan masalah pembuatan cluster.

  1. Evaluasi resource namespace harbor-system:

    kubectl get all -n harbor-system
    
  2. Periksa status resource yang terkait dengan operator Harbor, termasuk operator PostgreSQL dan Redis yang dibuat sebagai sub-chart selama tahap kedua proses pembuatan cluster infrastruktur organisasi. Validasi bahwa operator berikut berada dalam status Running:

    deployment/harbor-operator-harbor-operator
    deployment/harbor-operator-postgres-operator
    deployment/harbor-operator-redisoperator
    
  3. Pastikan semua resource untuk komponen PostgreSQL, Redis, dan Harbor memiliki status healthy. Jika beberapa Pod tidak dalam status healthy, tinjau detail dari Pod yang gagal menggunakan perintah berikut:

    kubectl get pod -o wide
    kubectl describe pod
    

    Anda juga dapat melihat log dari operator pengelola menggunakan perintah ini:

    kubectl logs -f deploy/harbor-operator-postgres-operator
    
  4. Untuk memeriksa resource PostgreSQL, lihat statefulset/postgresql-harbor-system-harbor.

  5. Untuk memeriksa resource Redis, lihat:

    1. Instance Redis:statefulset/rfr-harbor-redis
    2. Sentinel Redis:deployment/rfs-harbor-redis

    Komponen inti Harbor hanya di-deploy saat kedua komponen siap.

    Jika beberapa Pod komponen inti Harbor gagal, tinjau log dari Pod yang gagal. Dalam beberapa kasus, ada masalah komunikasi dengan instance PostgreSQL atau Redis.

    Misalnya, jika komponen inti Harbor tidak dapat terhubung ke PostgreSQL atau Redis dengan kredensial yang diberikan, ada potensi masalah pada Harbor Operator, yang bertanggung jawab untuk menyiapkan kredensial sebelum men-deploy komponen inti Harbor.

Periksa status istio

Untuk memverifikasi bahwa status Pod adalah istio, seperti istio-system dan service/istio-ingressgateway, periksa apakah port 10443 diekspos.