Dapatkan Kubernetes Ingress Log untuk Penyahpepijatan

Dapatkan Kubernetes Ingress Log Untuk Penyahpepijatan



Adakah anda tahu apa itu Get Kubernetes log masuk untuk penyahpepijatan? Masalah rangkaian semakin mencabar untuk didiagnosis apabila penyebaran semakin besar dan lebih besar. Tutorial ini menunjukkan kepada anda cara menggunakan pemalam ingress-nginx kubectl untuk nyahpepijat akses kepada aplikasi anda melalui pengawal kemasukan. Mari kita lihat dulu definisi kemasukan Kubernetes yang penting untuk memahami topik utama dengan lebih baik.

Apakah Kubernetes Ingress?

Takrif kemasukan ialah 'masuk' dalam erti kata literalnya.







Dalam komuniti Kubernetes, itu juga benar. Trafik yang memasuki kluster dirujuk sebagai masuk, manakala trafik yang meninggalkan kluster dirujuk sebagai jalan keluar.




Sebagai sumber Kubernetes asli, kemasukan adalah setanding dengan pod, penempatan, dll. Anda boleh mengikuti konfigurasi penghalaan DNS menggunakan kemasukan. Pengawal kemasukan ialah yang melakukan penghalaan. Ia melakukannya dengan membaca peraturan penghalaan terus dari objek kemasukan yang disimpan dalam etcd. Tanpa kemasukan Kubernetes, anda boleh mendedahkan aplikasi kepada dunia luar dengan memasukkan Pengimbang Beban Jenis perkhidmatan dalam penempatan.



Bagaimanakah Kubernetes Ingress Berfungsi?

Terdapat dua perkara utama yang perlu anda jelaskan. Ini adalah:





Sumber Ingress Kubernetes

Sumber ini bertanggungjawab untuk mengekalkan semua peraturan penghalaan DNS dalam kelompok. Peraturan penghalaan DNS ditentukan dalam sumber Kubernetes Ingress, sumber Kubernetes asli. Dengan kata lain, anda memetakan trafik DNS luaran ke destinasi perkhidmatan Kubernetes dalaman.



Pengawal Ingress Kubernetes

Dengan mendapat akses kepada peraturan DNS yang dilaksanakan oleh sumber kemasukan, pengawal kemasukan Kubernetes (Nginx/HAProxy, dll.) bertanggungjawab ke atas penghalaan.

Pelaksanaan Pengawal Ingress bukan asli Kubernetes. Akibatnya, ia tidak boleh menjadi lalai kelompok.

Untuk peraturan kemasukan berfungsi, kita mesti mengkonfigurasi pengawal kemasukan. Terdapat banyak pengawal kemasukan sumber terbuka dan perniagaan di pasaran. Versi kluster bagi pelayan proksi web terbalik berfungsi sebagai pengawal kemasukan. Pelayan proksi terbalik berasaskan Kubernetes ini terdedah kepada perkhidmatan pengimbang beban.

Apakah Pengawal Ingress?

Program berjalan kluster yang dipanggil Pengawal Ingress mengkonfigurasi pengimbang beban HTTP mengikut sumber Ingress. Pengimbang beban mungkin perkakasan yang digunakan secara luaran atau pengimbang beban awan, atau ia mungkin berfungsi sebagai perisian dalam kelompok. Pelaksanaan Pengawal Ingress yang berbeza diperlukan untuk pelbagai pengimbang beban.

Apabila menggunakan NGINX, pengimbang beban dan pengawal kemasukan kedua-duanya digunakan dalam pod.

Sila ambil perhatian bahawa pengawal kemasukan aktif mesti ada dalam kelompok untuk sumber Ingress berfungsi.

Pengawal ingress tidak dilancarkan secara automatik dengan kluster, berbeza dengan jenis pengawal lain yang berfungsi sebagai komponen perduaan pengurus kube-controller.

Prasyarat:

Anda memerlukan kluster Kubernetes dan anda mesti mengkonfigurasi alat baris perintah kubectl untuk berhubung dengan kluster anda. Anda boleh mengeluarkan arahan kepada kelompok Kubernetes menggunakan alat baris arahan kubectl. Aplikasi boleh digunakan, sumber kluster boleh diperiksa dan diurus, dan log boleh dilihat menggunakan kubectl.

Jika anda tidak mempunyai kluster, Minikube boleh digunakan untuk membina kluster. Minikube ialah Kubernetes tempatan yang bertujuan menjadikan pembelajaran dan pembangunan Kubernetes mudah.

Kubernetes boleh diakses dengan hanya satu arahan jika anda mempunyai persekitaran mesin maya atau persekitaran kontena Docker (atau serasi yang serupa). Mari mulakan proses langkah demi langkah sekarang:

Langkah 1: Mulakan Minikube

Menggunakan alat minikube, anda boleh menjalankan Kubernetes secara tempatan. Minikube menjalankan gugusan Kubernetes tempatan semua-dalam-satu atau berbilang nod pada komputer anda untuk kerja pembangunan harian atau untuk menguji Kubernetes (termasuk Windows, PC Linux dan macOS). Berikut ialah arahan untuk memulakan minikube:

> mulakan minikube



Langkah 2: Dayakan Pengawal Ingress

Kami akan menunjukkan cara mengaktifkan pengawal NGINX Ingress dalam langkah ini. Jalankan arahan berikut:

> tambahan minikube membolehkan kemasukan



Langkah 3: Sahkan Jika Pengawal Ingress NGINX Berfungsi atau Tidak

Sekarang, adalah penting untuk mengesahkan sama ada pengawal NGINX aktif atau tidak. Perintah yang berikut boleh digunakan untuk mengesahkan bahawa:

> kubectl dapatkan pod -n masuk-nginx



Harap maklum bahawa anda mungkin tidak perasan bahawa pod ini berfungsi dengan betul sehingga seminit. Output dipaparkan dalam imej sebelumnya.

Langkah 4: Cipta Apl Hello World

Di sini, kami menggunakan arahan berikut untuk membuat penempatan:

> kubectl mencipta web penempatan --imej =gcr.io / google-samples / hello-app: 1.0



Perintah yang dilaksanakan dan hasilnya dilampirkan dalam imej sebelumnya. Dalam output, 'hello-app' boleh dilihat.

Langkah 5: Dedahkan Deployment

Sekarang, kami akan menunjukkan kepada anda arahan untuk mendedahkan penggunaan tertentu. Perintah tersebut disebut sebagai berikut:

> kubectl dedahkan penempatan Kalsoom  - -jenis =NodePort --pelabuhan = 8080



Anda boleh melihat output 'perkhidmatan/kalsoom terdedah' dalam imej sebelumnya.

Langkah 6: Lawati Perkhidmatan melalui NodePort

Ini adalah langkah penting di mana kami menunjukkan kepada anda cara anda boleh melawati perkhidmatan yang dibuat melalui NodePort. Perintah untuk mencapai tujuan ini diberikan dalam perkara berikut:

> perkhidmatan minikube Kalsoom  --url



Perintah bersama-sama dengan output dilampirkan dalam imej sebelumnya.

Kini, alamat IP Minikube dan NodePort menjadikannya mudah untuk melihat aplikasi sampel. Anda boleh menggunakan sumber Ingress untuk mengakses apl dalam langkah berikut.

Langkah 7: Buat Ingress

Di sini, kami mencipta Ingress yang menghantar trafik ke Perkhidmatan anda. Perintah tersebut disebut sebagai berikut:

> kubectl memohon -f https: // k8s.io / contoh / perkhidmatan / rangkaian / contoh-masuk.yaml



Seperti yang anda lihat, arahan itu berjaya dilaksanakan.

Langkah 8: Sahkan Alamat IP

Kami menyemak sama ada alamat IP ditetapkan atau tidak. Untuk itu, kami menggunakan arahan yang diberikan berikut:

> kubectl mendapat kemasukan



Dalam output, anda sepatutnya melihat alamat IPv4 dalam lajur ADDRESS.

Kesimpulan

Gambaran keseluruhan pengelogan NGINX Ingress Controller disediakan dalam artikel ini. Untuk meringkaskan, log akses dan ralat untuk NGINX bersama-sama dengan log daripada proses Pengawal Ingress yang mencipta konfigurasi NGINX dan memuatkan semula NGINX untuk menggunakannya, disediakan oleh Pengawal Ingress NGINX.