Bantu tingkatkan halaman ini
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah gateway Amazon EKS Hybrid Nodes
Halaman ini memberikan panduan untuk mendiagnosis dan menyelesaikan masalah umum dengan gateway Amazon EKS Hybrid Nodes. Setiap bagian menjelaskan gejala, kemungkinan penyebab, langkah diagnostik, dan resolusi. Untuk detail operasional, lihatOperasi gateway Amazon EKS Hybrid Nodes.
Pod pada node hybrid tidak dapat dijangkau dari VPC
Pod yang berjalan pada node hybrid tidak dapat dijangkau dari sumber daya di VPC, seperti instans EC2, load balancer, atau control plane Kubernetes.
Kemungkinan penyebabnya:
-
Entri tabel rute VPC hilang atau mengarah ke ENI yang salah.
-
Pod pemimpin gateway tidak berjalan atau belum menyelesaikan penyiapan.
-
Cilium VTEP tidak diaktifkan atau dikonfigurasi pada node hybrid.
-
Source/destination cek diaktifkan pada instance gateway EC2.
Langkah-langkah diagnostik:
-
Periksa entri tabel rute VPC. Verifikasi bahwa rute untuk CIDR pod hybrid Anda ada dan arahkan ke ENI utama instans gateway aktif:
aws ec2 describe-route-tables \ --route-table-idsROUTE_TABLE_ID\ --query "RouteTables[].Routes[?DestinationCidrBlock=='[.replaceable]`POD_CIDR`']"Jika rute tidak ada, periksa log gateway untuk kesalahan tabel rute. Jika rute menunjuk ke ENI yang salah, failover mungkin tidak berhasil diselesaikan.
-
Periksa status pod gateway dan pemilihan pemimpin. Konfirmasikan bahwa dua pod gateway sedang berjalan dan satu memegang lease pemimpin:
kubectl get pods -n eks-hybrid-nodes-gateway kubectl get lease -n eks-hybrid-nodes-gatewayJika tidak ada pod yang memegang sewa, lihatMasalah pemilihan pemimpin.
-
Periksa konfigurasi Cilium VTEP pada node hybrid. Verifikasi bahwa
CiliumVTEPConfigsumber daya ada dan berisi IP node pemimpin:kubectl get ciliumvtepconfig hybrid-gateway -o yamlspec.endpoints[0].tunnelEndpointHarus cocok dengan alamat IP node gateway pemimpin. Jika sumber daya hilang atau memiliki IP basi, gateway mungkin belum menyelesaikan pengaturan pemimpin. -
Periksa source/destination cek. Verifikasi bahwa source/destination pemeriksaan dinonaktifkan pada instance EC2 gateway:
aws ec2 describe-instance-attribute \ --instance-idGATEWAY_INSTANCE_ID\ --attribute sourceDestCheckJika
sourceDestCheckyatrue, nonaktifkan. Lihat Memulai dengan EKS Hybrid Nodes gateway.
Panggilan Webhook ke node hybrid gagal
Server API Kubernetes tidak dapat mencapai titik akhir webhook yang berjalan pada node hybrid. Penerimaan Webhook meminta waktu habis atau mengembalikan kesalahan koneksi.
Kemungkinan penyebabnya:
-
Gateway tidak merutekan lalu lintas dari bidang kontrol ke pod hybrid.
-
Sumber
CiliumVTEPConfigdaya hilang atau memiliki IP endpoint basi.
Langkah-langkah diagnostik:
-
Verifikasi bidang kontrol dapat mencapai IP node gateway. Pesawat kontrol mengirimkan lalu lintas ke tabel rute VPC, yang meneruskannya ke ENI gateway. Konfirmasikan entri tabel rute VPC sudah benar menggunakan langkah-langkah di. Pod pada node hybrid tidak dapat dijangkau dari VPC
-
Periksa sumber daya CiliumVtepConfig. Verifikasi sumber daya yang ada dan
tunnelEndpointcocok dengan IP node pemimpin saat ini:kubectl get ciliumvtepconfig hybrid-gateway -o yamlJika titik akhir terowongan sudah basi (menunjuk ke pemimpin sebelumnya), gateway mungkin belum menyelesaikan urutan penyiapan pemimpin. Periksa log gateway untuk kesalahan selama
CiliumVTEPConfigupsert.
Pembaruan tabel rute VPC gagal
Log gateway menunjukkan kesalahan yang terkait dengan operasi tabel rute VPC, dan rute untuk CIDR pod hybrid tidak dibuat atau diperbarui.
Kemungkinan penyebabnya:
-
Peran IAM gateway tidak memiliki izin EC2 yang diperlukan.
-
ID tabel rute dalam konfigurasi salah atau tabel rute tidak ada.
-
Gateway tidak dapat mencapai titik akhir API EC2.
Langkah-langkah diagnostik:
-
Verifikasi izin IAM. Gateway memerlukan tindakan IAM berikut:
-
ec2:DescribeRouteTables -
ec2:CreateRoute -
ec2:ReplaceRoute -
ec2:DescribeInstancesPeriksa peran IAM yang dilampirkan ke profil instance node gateway atau konfigurasi identitas pod.
-
-
Periksa ID tabel rute dalam konfigurasi. Verifikasi bahwa variabel
ROUTE_TABLE_IDSlingkungan berisi ID tabel rute yang valid dalam penerapan gateway:kubectl get deployment eks-hybrid-nodes-gateway -n eks-hybrid-nodes-gateway -o jsonpath='{.spec.template.spec.containers[0].env}' | jq .Konfirmasikan ID tabel rute yang ada di VPC Anda:
aws ec2 describe-route-tables --route-table-idsROUTE_TABLE_ID -
Periksa log gateway untuk kesalahan tabel rute. Cari pesan kesalahan yang terkait dengan operasi tabel rute:
kubectl logs -n eks-hybrid-nodes-gatewayLEADER_POD| grep -i "route table"Pesan kesalahan umum meliputi:
-
Failed to verify route table access— Gateway tidak dapat menggambarkan tabel rute. Periksa izin IAM dan ID tabel rute. -
Failed to update route tables— Gateway tidak dapat membuat atau mengganti rute. Periksa izin IAM. -
failed to access route table— ID tabel rute mungkin salah atau peranec2:DescribeRouteTablesIAM tidak ada.
-
Pod gateway gagal memulai atau tidak sehat
Pod gateway berada dalam CrashLoopBackOffError,, atau Pending status, atau titik akhir kesehatan mengembalikan kesalahan.
Kemungkinan penyebabnya:
-
Variabel lingkungan yang diperlukan (
VPC_CIDRPOD_CIDRS,,ROUTE_TABLE_IDS) tidak diatur. -
Penerusan IP tidak diaktifkan pada node gateway.
-
Label node atau kendala anti-afinitas mencegah penjadwalan.
Langkah-langkah diagnostik:
-
Periksa log pod. Lihat log untuk pod yang gagal untuk mengidentifikasi kesalahan:
kubectl logs -n eks-hybrid-nodes-gatewayLEADER_POD -
Periksa variabel lingkungan yang diperlukan. Gateway membutuhkan
NODE_IP,VPC_CIDR, danPOD_CIDRS. Jika ada yang hilang, gateway segera keluar. Verifikasi spesifikasi pod:kubectl get pod -n eks-hybrid-nodes-gatewayLEADER_POD-o jsonpath='{.spec.containers[0].env}' | jq .-
NODE_IPdiatur secara otomatis daristatus.hostIPdalam spesifikasi pod. Jika kosong, pod mungkin belum dijadwalkan pada node. -
VPC_CIDRdanPOD_CIDRSberasal dari nilai-nilai Helm. Pastikan mereka diatur dengan benar.
-
-
Periksa penerusan IP. Gateway memeriksa bahwa penerusan IP diaktifkan saat startup dan keluar jika tidak. Cari pesan kesalahan
IP forwarding is not enableddi log pod. Aktifkan penerusan IP pada node:# Check current setting cat /proc/sys/net/ipv4/ip_forward # Enable if not set sudo sysctl -w net.ipv4.ip_forward=1Untuk pengaturan persisten, konfigurasikan penerusan IP melalui kubelet atau tambahkan ke.
net.ipv4.ip_forward=1/etc/sysctl.d/ -
Periksa label node dan batasan penjadwalan. Pod gateway membutuhkan node dengan
hybrid-gateway-node=truelabel. Anti-afinitas Pod memastikan setiap pod berjalan pada node yang terpisah. Jika pod adaPending, periksa masalah penjadwalan:kubectl describe pod -n eks-hybrid-nodes-gatewayLEADER_PODCari peristiwa yang menunjukkan node yang tidak mencukupi, label yang hilang, atau konflik anti-afinitas.
Masalah pemilihan pemimpin
Pod gateway berjalan tetapi tidak ada pod yang memperoleh sewa pemimpin, atau transisi kepemimpinan sering terjadi.
Kemungkinan penyebabnya:
-
Izin RBAC untuk objek Sewa tidak ada.
-
Konektivitas jaringan antara pod gateway dan server API Kubernetes tidak dapat diandalkan.
-
Parameter pemilihan pemimpin salah dikonfigurasi.
Langkah-langkah diagnostik:
-
Periksa objek Sewa. Verifikasi bahwa Sewa ada dan periksa pemegangnya saat ini:
kubectl get lease -n eks-hybrid-nodes-gateway hybrid-gateway-leader -o yamlspec.holderIdentityBidang menunjukkan pemimpin saat ini.spec.renewTimePertunjukan kapan sewa terakhir diperpanjang. JikarenewTimebasi, pemimpin mungkin kehilangan konektivitas ke server API. -
Periksa izin RBAC. Akun layanan gateway memerlukan izin untuk mendapatkan, membuat, dan memperbarui objek Lease di namespace gateway. Verifikasi Peran dan RoleBinding:
kubectl get role -n eks-hybrid-nodes-gateway kubectl get rolebinding -n eks-hybrid-nodes-gatewayPeran harus menyertakan
get,create, danupdatekata kerja untukleasessumber daya dalam grupcoordination.k8s.ioAPI. -
Periksa log pod untuk kesalahan sewa. Cari kesalahan pemilihan pemimpin di log pod:
kubectl logs -n eks-hybrid-nodes-gatewayLEADER_POD| grep -i "leader\|lease"Masalah umum meliputi:
-
Failed to acquire lease— Pod tidak dapat membuat atau memperbarui objek Lease. Periksa izin RBAC. -
Sering
Leadership endeddiikuti olehLeader setup completepesan — Pemimpin kehilangan dan mendapatkan kembali sewa. Ini mungkin menunjukkan ketidakstabilan jaringan antara pod dan server API. Pertimbangkan untuk meningkatkan--leader-election-lease-duration.
-
-
Periksa parameter pemilihan pemimpin. Verifikasi nilai yang dikonfigurasi:
kubectl get deployment eks-hybrid-nodes-gateway -n eks-hybrid-nodes-gateway -o jsonpath='{.spec.template.spec.containers[0].args}'Pastikan
--leader-election-renew-deadlinekurang dari--leader-election-lease-duration. Jika batas waktu perpanjangan melebihi durasi sewa, pemimpin kehilangan sewa sebelum dapat diperpanjang. Untuk informasi selengkapnya, lihat Penyetelan pemilihan pemimpin.
Pesan kesalahan umum
Tabel berikut mencantumkan pesan kesalahan yang mungkin Anda lihat di log pod gateway dan resolusinya.
| Pesan kesalahan | Penyebab | Resolusi |
|---|---|---|
|
|
Parameter kernel |
Aktifkan penerusan IP melalui konfigurasi kubelet atau dengan menjalankan. |
|
|
Gateway tidak dapat membuat antarmuka jaringan VXLAN. Ini biasanya terjadi ketika pod tidak memiliki |
Verifikasi spesifikasi Deployment termasuk |
|
|
Gateway tidak dapat menjelaskan satu atau lebih tabel rute VPC saat startup. |
Verifikasi peran IAM memiliki |
|
|
Gateway tidak dapat membuat atau mengganti rute dalam tabel rute VPC. |
Verifikasi peran IAM |
|
|
Gateway tidak dapat menginisialisasi klien AWS EC2 atau mengambil ENI utama instans. |
Verifikasi peran IAM memiliki |
|
|
Variabel |
Verifikasi set spesifikasi pod |
|
|
Nilai yang diberikan |
Periksa nilai variabel |
|
|
Variabel |
Atur nilai |
|
|
|
Periksa nilai |
|
|
Gateway tidak dapat mengambil AWS Region dari metadata instans EC2. |
Verifikasi layanan metadata instance (IMDS) dapat diakses. Atau, atur |
|
|
Gateway tidak dapat mengambil ID instance dari metadata instans EC2. |
Verifikasi layanan metadata instance (IMDS) dapat diakses. Atau, atur |
|
|
|
Verifikasi node hybrid terdaftar dengan benar dan agen Cilium sedang berjalan. Periksa |
|
|
|
Verifikasi Cilium IPAM dikonfigurasi dengan benar pada node hybrid. Periksa |
|
|
Gateway tidak dapat membuat atau memperbarui sumber daya |
Verifikasi CRD diinstal di cluster dan akun layanan gateway memiliki izin untuk mengelola |
|
|
Manajer controller-runtime gagal menginisialisasi. |
Periksa log pod untuk konteks tambahan. Penyebab umum termasuk kubeconfig yang tidak valid atau ketidakmampuan untuk mencapai server API Kubernetes. |
|
|
Runnable yang dipilih pemimpin tidak dapat didaftarkan dengan manajer pengontrol. |
Ini biasanya kesalahan internal. Periksa log pod lengkap untuk konteks tambahan dan laporkan masalah di GitHub repositori |
|
|
CiliumNode Rekonsiler tidak dapat didaftarkan pada manajer pengontrol. |
Periksa log pod untuk konteks tambahan. Verifikasi bahwa CiliumNode CRD diinstal di cluster. |
|
|
Manajer pengontrol keluar secara tak terduga. |
Periksa log pod untuk kesalahan yang mendasarinya. Penyebab umum termasuk hilangnya konektivitas ke server API Kubernetes atau konflik port pada metrik atau alamat pengikat probe kesehatan. |
|
|
Gateway tidak dapat menjelaskan tabel rute VPC tertentu selama pemeriksaan verifikasi startup. |
Verifikasi peran IAM memiliki |
Topik terkait
-
Gerbang Node Hibrida Amazon EKS— Ikhtisar arsitektur gateway dan kasus penggunaan.
-
Memulai dengan EKS Hybrid Nodes gateway— Prasyarat dan petunjuk pemasangan.
-
Referensi konfigurasi gateway Amazon EKS Hybrid Nodes— Referensi lengkap untuk nilai Helm, bendera CLI, dan variabel lingkungan.
-
Operasi gateway Amazon EKS Hybrid Nodes— Pemantauan, perilaku failover, dan panduan penskalaan.