Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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 Node Hibrid Amazon EKS
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, penyeimbang beban, atau bidang kontrol Kubernetes.
Kemungkinan penyebab:
-
Entri tabel rute VPC hilang atau menunjuk 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=='POD_CIDR']"Jika rute hilang, periksa log gateway untuk kesalahan tabel rute. Jika rute mengarah 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 sewa pemimpin:
kubectl get pods -n eks-hybrid-nodes-gateway kubectl get lease -n eks-hybrid-nodes-gatewayJika tidak ada pod yang memegang sewa, lihatMasalah Pemilu Pemimpin.
-
Periksa konfigurasi Cilium VTEP pada node hibrida. Verifikasi bahwa
CiliumVTEPConfigsumber daya ada dan berisi IP node pemimpin:kubectl get ciliumvtepconfig hybrid-gateway -o yamlSe
spec.endpoints[0].tunnelEndpointharusnya cocok dengan alamat IP node gateway pemimpin. Jika sumber daya hilang atau memiliki IP basi, gateway mungkin belum menyelesaikan penyiapan pemimpin. -
Periksa source/destination cek. Verifikasi bahwa source/destination pemeriksaan dinonaktifkan pada instans 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 penyebab:
-
Gateway tidak merutekan lalu lintas dari bidang kontrol ke pod hybrid.
-
Sumber
CiliumVTEPConfigdaya hilang atau memiliki IP titik akhir 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 diPod pada node hybrid tidak dapat dijangkau dari VPC.
-
Periksa sumber daya ciliumVTEPConfig. Verifikasi sumber daya ada dan
tunnelEndpointcocok dengan IP node pemimpin saat ini:kubectl get ciliumvtepconfig hybrid-gateway -o yamlJika titik akhir terowongan basi (menunjuk ke pemimpin sebelumnya), gateway mungkin belum menyelesaikan urutan pengaturan 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 penyebab:
-
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 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 peran IAM tidakec2:DescribeRouteTablesada.
-
Pod gateway gagal memulai atau tidak sehat
Pod gateway berada diCrashLoopBackOff,Error, atau Pending status, atau titik akhir kesehatan mengembalikan kesalahan.
Kemungkinan penyebab:
-
Variabel lingkungan yang diperlukan (
VPC_CIDR,POD_CIDRS,ROUTE_TABLE_IDS) tidak disetel. -
Penerusan IP tidak diaktifkan pada node gateway.
-
Label simpul atau batasan 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
net.ipv4.ip_forward=1ke./etc/sysctl.d/ -
Periksa label simpul dan batasan penjadwalan. Pod gateway memerlukan node dengan
hybrid-gateway-node=truelabel. Anti-afinitas pod memastikan setiap pod berjalan pada node terpisah. Jika pod adaPending, periksa masalah penjadwalan:kubectl describe pod -n eks-hybrid-nodes-gatewayLEADER_PODCari peristiwa yang menunjukkan node tidak mencukupi, label yang hilang, atau konflik anti-afinitas.
Masalah Pemilu Pemimpin
Pod gateway berjalan tetapi tidak ada pod yang memperoleh sewa pemimpin, atau transisi kepemimpinan sering terjadi.
Kemungkinan penyebab:
-
Izin RBAC untuk objek Sewa tidak ada.
-
Konektivitas jaringan antara pod gateway dan server API Kubernetes tidak dapat diandalkan.
-
Parameter pemilihan pemimpin salah konfigurasi.
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. Inispec.renewTimemenunjukkan 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 menyer
gettakancreate,,updatedan kata 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. -
S
Leadership endedering diikuti olehLeader setup completepesan — Pemimpin kehilangan dan memperoleh 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 memperpanjang. 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 disertakan |
|
|
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 memiliki |
|
|
Gateway tidak dapat menginisialisasi klien AWS EC2 atau mengambil ENI utama instans. |
Verifikasi peran IAM memiliki |
|
|
Vari |
Verifikasi set spesifikasi pod |
|
|
Nilai yang disediakan |
Periksa nilai variabel |
|
|
Vari |
Atur nilai |
|
|
|
Periksa nilai |
|
|
Gateway tidak dapat mengambil Wil AWS ayah dari metadata instans EC2. |
Verifikasi layanan metadata instance (IMDS) dapat diakses. Atau, atur |
|
|
Gateway tidak dapat mengambil ID instans dari metadata instans EC2. |
Verifikasi layanan metadata instance (IMDS) dapat diakses. Atau, atur |
|
|
Objek node hybrid tidak memiliki alamat IP internal dalam spesifikasinya. |
Verifikasi simpul hibrida terdaftar dengan benar dan agen Cilium sedang berjalan. Periksa |
|
|
Objek node hybrid tidak memiliki pod CIDR yang dialokasikan oleh Cilium IPAM. |
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 |
|
|
Pengelola runtime controller gagal diinisialisasi. |
Periksa log pod untuk konteks tambahan. Penyebab umum termasuk kubeconfig 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 |
|
|
Rekon CiliumNode siliasi tidak dapat didaftarkan dengan 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 pengikatan 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 instruksi instalasi.
-
Referensi konfigurasi gateway Amazon EKS Hybrid Nodes— Referensi lengkap untuk nilai Helm, flag CLI, dan variabel lingkungan.
-
Operasi gateway Amazon EKS Hybrid Nodes— Pemantauan, perilaku failover, dan panduan penskalaan.