Cara menggunakan nginx pada cluster kubernetes

- 2746
- 872
- Ricardo Gottlieb
Di artikel terakhir kami, kami telah membahas cara mengatur dan menjalankan cluster Kubernetes, mari kita bahas bagaimana kami dapat menggunakan Nginx layanan di cluster kami.
Saya akan menjalankan penyebaran ini pada mesin virtual yang diselenggarakan oleh penyedia cloud publik. Seperti halnya dengan banyak layanan cloud publik, banyak yang umumnya mempertahankan skema IP publik dan pribadi untuk mesin virtual mereka.
Lingkungan pengujian
Master Node - IP Publik: 104.197.170.99 dan Private IP: 10.128.15.195 Pekerja Node 1 - IP Publik: 34.67.149.37 dan IP pribadi: 10.128.15.196 Pekerja Node 2 - IP Publik: 35.232.161.178 dan IP pribadi: 10.128.15.197
Menyebarkan nginx pada kluster kubernetes
Kami akan menjalankan penempatan ini dari master-node.
Mari kita mulai dengan memeriksa status cluster. Semua node Anda harus di a SIAP negara.
# Kubectl mendapatkan node

Kami membuat penempatan Nginx menggunakan Nginx gambar.
# Kubectl Buat penyebaran nginx --image = nginx

Anda sekarang dapat melihat keadaan penyebaran Anda.
# Kubectl mendapatkan penempatan

Jika Anda ingin melihat lebih detail tentang penyebaran Anda, Anda dapat menjalankan menggambarkan memerintah. Misalnya, dimungkinkan untuk menentukan berapa banyak replika penyebaran yang berjalan. Dalam kasus kami, kami berharap untuk melihat replika 1 berjalan (i.e 1/1 replika).
# Kubectl menjelaskan penempatan nginx

Sekarang penyebaran nginx Anda aktif, Anda mungkin ingin mengekspos Nginx Layanan ke IP publik yang dapat dijangkau di internet.
Mengekspos Layanan Nginx Anda ke Jaringan Publik
Kubernetes menawarkan beberapa opsi saat mengekspos layanan Anda berdasarkan fitur yang disebut tipe layanan Kubernetes dan mereka:
- Clusterip - Jenis layanan ini umumnya memaparkan layanan pada IP internal, hanya dapat dijangkau di dalam cluster, dan mungkin hanya di dalam cluster-node.
- Nodeport - Ini adalah opsi paling mendasar untuk mengekspos layanan Anda agar dapat diakses di luar cluster Anda, pada port tertentu (disebut Nodeport) di setiap node di cluster. Kami akan mengilustrasikan opsi ini segera.
- LoadBalancer - Opsi ini memanfaatkan layanan penyeimbangan beban eksternal yang ditawarkan oleh berbagai penyedia untuk memungkinkan akses ke layanan Anda. Ini adalah opsi yang lebih andal saat memikirkan ketersediaan tinggi untuk layanan Anda, dan memiliki lebih banyak fitur di luar akses default.
- Nama eksternal - Layanan ini tidak mengarahkan lalu lintas ke layanan di luar cluster. Dengan demikian layanan dengan demikian dipetakan ke nama DNS yang dapat di -host dari cluster Anda. Penting untuk dicatat bahwa ini tidak menggunakan proxying.
Tipe layanan default adalah Clusterip.
Dalam skenario kami, kami ingin menggunakan Tipe Layanan Nodeport Karena kami memiliki alamat IP publik dan pribadi dan kami tidak memerlukan penyeimbang beban eksternal untuk saat ini. Dengan tipe layanan ini, Kubernetes akan menetapkan layanan ini di port di 30000+ jangkauan.
# Kubectl Buat layanan nodeport nginx ---tcp = 80: 80

Jalankan Dapatkan SVC Perintah untuk melihat ringkasan layanan dan port terbuka.
# Kubectl dapatkan SVC

Sekarang Anda dapat memverifikasi bahwa Nginx Halaman dapat dijangkau pada semua node menggunakan perintah curl.
# Curl Master-Node: 30386 # Curl Node-1: 30386 # Curl Node-2: 30386

Seperti yang Anda lihat, “SELAMAT DATANG DI NGINX!"Halaman dapat dicapai.
Mencapai alamat IP publik yang fana
Seperti yang mungkin Anda perhatikan, Kubernetes Laporan bahwa saya tidak memiliki IP publik aktif yang terdaftar, atau lebih tepatnya tidak terdaftar-IP eksternal.
# Kubectl dapatkan SVC

Mari kita verifikasi jika memang benar, bahwa saya tidak memiliki IP eksternal yang terpasang pada antarmuka saya menggunakan perintah IP.
# ip a

Tidak ada IP publik seperti yang Anda lihat.
Seperti yang disebutkan sebelumnya, saya sedang menjalankan penempatan ini pada a Mesin virtual ditawarkan oleh penyedia cloud publik. Jadi, sementara tidak ada antarmuka tertentu yang ditetapkan IP publik, penyedia VM telah mengeluarkan alamat IP eksternal yang fana.
Alamat IP eksternal fana adalah alamat IP sementara yang tetap melekat pada VM sampai instance virtual dihentikan. Saat instance virtual dimulai kembali, IP eksternal baru ditetapkan. Pada dasarnya put, ini adalah cara sederhana bagi penyedia layanan untuk memanfaatkan IP publik yang menganggur.
Tantangan di sini, selain fakta bahwa IP publik Anda tidak statis, adalah bahwa IP publik fana hanyalah sebuah ekstensi (atau proxy) dari IP pribadi, dan untuk alasan itu, layanan hanya akan diakses di port 30386. Itu berarti bahwa layanan akan diakses di URL , itu adalah 104.197.170.99: 30386, Yang jika Anda memeriksa browser Anda, Anda harus dapat melihat halaman selamat datang.

Dengan itu, kami telah berhasil digunakan Nginx Di kluster 3-node Kubernetes kami.
- « Cara Menginstal dan Menggunakan Alat Pemulihan Data TestDisk di Linux
- Cara Menginstal Mate Desktop di Arch Linux »