Cara menggunakan nginx pada cluster kubernetes
- 2705
- 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 nodePeriksa status kluster Kubernetes
Kami membuat penempatan Nginx menggunakan Nginx gambar.
# Kubectl Buat penyebaran nginx --image = nginxMenyebarkan nginx pada kubernetes
Anda sekarang dapat melihat keadaan penyebaran Anda.
# Kubectl mendapatkan penempatanPeriksa penyebaran Nginx di Kubernetes
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 nginxPeriksa detail 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: 80Buat Layanan Nodeport untuk mengekspos Nginx
Jalankan Dapatkan SVC Perintah untuk melihat ringkasan layanan dan port terbuka.
# Kubectl dapatkan SVCPeriksa Layanan dan Port Nginx
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: 30386Periksa halaman Nginx di kluster Kubernetes
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 SVCPeriksa Layanan dan Port Nginx
Mari kita verifikasi jika memang benar, bahwa saya tidak memiliki IP eksternal yang terpasang pada antarmuka saya menggunakan perintah IP.
# ip aPeriksa alamat IP
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 »