‫Baiklah. Kuliah ini dimulai dari yang
‫terakhir berakhir. Jadi, jika Anda
‫hanya melompat ke yang ini dan Anda melewatkan yang terakhir,
‫kembali ke yang itu karena Anda akan membutuhkan Penempatan yang kami buat di yang
‫itu untuk memulai yang ini.
‫Ketika saya mendapatkan kubectl mendapatkan semua, saya akan
‫melihat di sini bahwa saya memiliki satu Deployment yang
‫memiliki set replika lima.
‫Anda akan melihat lima polong.
‫Maka Anda akan memiliki layanan default Kubernetes,
‫yang selalu ada. Kemudian
‫layanan IP httpenv cluster.
‫Anda, tentu saja, mungkin memiliki alamat IP dan nama
‫pod yang berbeda. Di situlah kita perlu berada.
‫Kami memiliki Penyebaran ini.
‫Kami telah membuat alamat IP di dalam cluster agar orang lain
‫dapat mengaksesnya dengan nama httpenv yang ramah karena
‫itulah nama layanannya.
‫Mari kita buat satu yang diekspos secara eksternal
‫pada IP host. Ini akan menjadi, jika Anda
‫mungkin berada di pusat data atau di suatu tempat yang
‫Anda tidak memiliki penyeimbang beban, Anda dapat mengontrol dengan layanan penyeimbang beban, yang
‫akan kita bicarakan sebentar.
‫Anda pada dasarnya, dalam hal ini, ingin melakukan
‫NodePort di mana Anda mendapatkan port di suatu tempat di
‫kisaran tinggi dari kluster Kubernet yang
‫dapat Anda gunakan untuk berbicara dari luar.
‫Jadi itu akan dapat mengaksesnya dari beberapa
‫layanan eksternal, kan. Ini tidak akan berada di port 80 secara default.
‫NodePorts dimaksudkan sebagai port tinggi sehingga Anda
‫biasanya meletakkan sesuatu di depannya, seperti
‫penyeimbang beban eksternal atau layanan otomatis yang akan
‫mengaturnya untuk Anda. Dalam hal ini, saya
‫bisa melakukan eksposur kubectl lagi.
‫Ini akan terlihat seperti yang terakhir kami lakukan.
‫penyebaran httpenv.
‫Itulah yang perlu kami ungkapkan.
‫Kita akan memasukkan port 8888 lagi.
‫Tapi, kita akan memberinya nama baru karena kita
‫sudah punya satu yang disebut httpenv.
‫Jadi, yang
‫ini kita akan memanggil httpenv-np tanpa port.
‫Dengan begitu, ia akan bekerja berdampingan dengan cluster IP yang
‫sudah ada di sana.
‫Lalu kita akan mengubah tipe ke NodePort.
‫Anda akan melihat jenis NodePort, karena jenis default, yang dapat
‫kami tentukan secara manual jika Anda mau.
‫Jenis default adalah IP cluster.
‫Jika saya kembali dan melakukan Kubectl mendapatkan layanan, Anda akan
‫melihat yang baru
‫di sana itu ketik NodePort.
‫Mari kita bicara tentang port di sebelah kanan.
‫Port-port itu, ketika mereka memiliki titik dua di tengah, adalah kebalikan
‫dari apa yang akan Anda lihat di Docker dan Swarm.
‫Port di sebelah kiri, dalam hal
‫ini, adalah yang di dalam cluster, di dalam wadah itu
‫sendiri yang terdaftar.
‫Maka port di sebelah kanan adalah port yang ada
‫di node Anda terkena dunia luar.
‫Anda mungkin bertanya-tanya dari mana datangnya port di sebelah kanan.
‫Port itu berasal dari kisaran default untuk NodePorts yang
‫telah diatur sebelumnya di dalam cluster
‫kontainer Anda.
‫Itu kisaran tinggi. Harapannya di sini adalah tidak ada
‫konflik, benar. Bahwa tidak ada yang
‫lain di sistem Anda, secara default, berjalan di port-port itu.
‫Karena seringkali port rendah, seperti 8888, cukup umum sehingga dapat digunakan
‫oleh yang lain. Maka setiap
‫port dalam kisaran sangat rendah biasanya hanya
‫dapat diakses oleh root. Port 1024 ke bawah.
‫Ada beberapa hal yang perlu diperhatikan di sini.
‫Yang pertama adalah Anda akan melihat IP cluster.
‫Meskipun ketika kami membuat layanan NodePort ini, kami
‫tidak mengatakan IP cluster.
‫Kami mengatakan NodePort.
‫Layanan ini bersifat tambahan.
‫Apa artinya itu dimulai dengan cluster IP, dan kemudian
‫pergi ke NodePort, dan kemudian ke layanan
‫opsional load balancer. Masing-masing dari mereka akan membuat
‫layanan di atasnya dalam daftar ini.
‫Yang berarti bahwa ketika saya membuat NodePort, itu
‫membuat titik akhir IP cluster untuk saya
‫karena itulah cara menghubungkannya. Dibutuhkan koneksi yang masuk
‫ke port itu pada port node yang tinggi
‫dan kemudian dialihkan ke IP cluster untuk layanan itu.
‫Tentu saja, seperti kebanyakan hal di Kubernetes, semua ini dapat
‫diubah dan disesuaikan.
‫Salah satu hal yang dapat Anda ubah adalah kisaran port.
‫Salah satunya adalah Anda dapat menghindari cluster IP.
‫Banyak hal yang dapat Anda lakukan, tetapi sebagian besar hanya dapat
‫Anda lakukan di YAML, yang akan kita bahas nanti.
‫Saat Anda melakukan hal-hal di baris perintah
‫seperti ini, kami terbatas pada jumlah opsi yang dapat kami gunakan.
‫Jika Anda melampaui apa yang diizinkan oleh opsi-opsi itu, Anda
‫harus mulai melakukan YAML. Kita akan membicarakannya nanti
‫dalam kursus. BAIK. Jika Anda menggunakan
‫Linux, NodePort ini dapat diakses di localhost sekarang.
‫Jadi, Anda bisa menggunakan localhost, atau IP host itu sendiri, untuk
‫menutup port ini. Port apa pun yang Anda miliki.
‫Itu mungkin tidak akan menjadi pelabuhan yang sama dengan
‫milikku sejak 32334 milikku.
‫Jika Anda menggunakan Docker Desktop, itu
‫akan memberikan lapisan kenyamanan dengan sesuatu
‫yang disebut vpnkit yang baru saja dibangun di Docker Desktop di mana
‫ia akan menghubungkan ini ke localhost pada mesin Windows atau
‫Mac Anda.
‫Saya bisa duduk di sini di Mac saya dan
‫cURL localhost 32334.
‫Saya mendapatkan kembali respons yang sama seolah-olah saya mengurung
‫cluster IP secara langsung. Alasannya ada di sini
‫di Docker Desktop adalah agar Anda tidak
‫harus melompat ke pod seperti yang kami lakukan sebelumnya
‫agar Anda dapat mengakses layanan. Ini adalah salah satu cara agar layanan
‫Kubernet Anda ditampilkan di mesin Anda sehingga Anda dapat menguji berbagai
‫hal, benar. Jadi, jika
‫Anda mengembangkan atau menguji di dalam Kubernetes, Anda dapat melakukan
‫NodePort dan pergi ke port itu, yang akan menjadi sedikit
‫acak pada host Anda.
‫Sekali lagi, Anda dapat menentukan port yang tepat di sana, tetapi Anda
‫harus melakukannya di YAML, yang akan kita lakukan nanti.
‫Opsi lain, jika Anda menggunakan Docker Desktop, adalah
‫ia hadir dengan layanan penyeimbang beban bawaan.
‫Anda ingat saya berbicara sebelumnya ketika kami
‫berbicara tentang empat jenis layanan ini, adalah bahwa penyeimbang
‫beban tidak terpasang, secara default, dan satu-satunya cara Anda
‫dapat menggunakannya adalah melalui layanan eksternal, biasanya dalam
‫layanan cloud, Baik.
‫Dengan Amazon, itu akan menjadi ELB dan ALB.
‫Dengan DigitalOcean, itu akan menjadi dengan penyeimbang beban mereka.
‫Anda perlu menambahkan plugin itu di Kubernetes Anda sehingga itu
‫akan bekerja dengan penyeimbang beban eksternal tersebut.
‫Pada dasarnya, API kubus berbicara dengan API mereka untuk mengontrol
‫penyeimbang beban itu.
‫Jika Anda menggunakan Docker Desktop, maka Anda dapat mencoba perintah ini.
‫Kami akan menyebutnya
‫httpenv-lb untuk layanan ini, dan kami akan mengubah jenisnya untuk
‫memuat penyeimbang.
‫Jika kami melakukan Kubectl mendapatkan layanan, kami akan melihat tiga
‫penyeimbang beban untuk Penyebaran ini.
‫Sekali lagi, jika Anda menggunakan Docker
‫Desktop, Anda dapat melihat ketiganya. Jika Anda menggunakan Linux, atau
‫menggunakan Minikube, atau sesuatu seperti itu, Anda hanya akan melihat dua.
‫Setiap penyeimbang beban, karena secara teknis seperti
‫plugin pihak ketiga atau layanan yang merupakan API jarak
‫jauh, penyeimbang beban semuanya akan memiliki berbagai fitur dan
‫hal-hal yang didukung. Anda dapat melihat dokumentasi mereka untuk mengetahui
‫apa yang akan mereka lakukan.
‫Dalam hal ini, dengan Docker Desktop, semua yang kami
‫lakukan adalah kami memberi tahu port 8888 yang merupakan
‫bagian dari Penyebaran, dan plugin layanan penyeimbang
‫beban dari Docker kemudian akan
‫menerbitkannya di port 8888.
‫Yang menyenangkan di sini adalah bahwa itu adalah
‫satu-satunya cara untuk membuat Kubernet Anda pada port
‫tertentu di luar set default, benar.
‫Jadi, ketika kami melakukan NodePort, kami didefinisikan,
‫atau terbatas, untuk yang ditetapkan dalam
‫kisaran 30000. Jika Anda ingin melakukan
‫sesuatu seperti yang Anda lakukan dengan Compose, atau Swarm, atau Docker
‫berjalan secara lokal di mana Anda hanya ingin menjalankannya pada port
‫seperti 80 atau apa pun, Anda sekarang dapat dengan Docker Desktop,
‫menggunakan Kubernetes bawaan, Anda dapat lakukan itu load balancer dan ketik saja port
‫itu di sana, dan itu akan responsif di sana.
‫Sekarang di Mac atau Windows, saya
‫bisa mengetik cURL localhost 8888 dan mendapatkan respons
‫itu kembali. Anda akan
‫melihat ada penyeimbang beban yang masih memiliki port lain.
‫Sekali lagi, itu karena kisaran 32 di
‫sana, setidaknya untuk saya, adalah built in NodePort
‫yang dibuatnya. Secara teknis
‫di latar belakang, ingatlah ini adalah tiga
‫lapisan yang berbeda sehingga penyeimbang beban menerima paket
‫saya, kemudian meneruskannya ke NodePort, dan kemudian NodePort
‫meneruskannya ke IP cluster. Akan selalu ada
‫bahwa NodePort ditampilkan di sebelah empat 8
‫untuk penyeimbang beban, meskipun itu bukan port
‫penyeimbang beban yang digunakan di localhost saya.
‫Sebelum pergi ke kuliah berikutnya, mari kita bersihkan semua yang
‫baru saja kita lakukan. Kami menciptakan banyak hal.
‫Perintah-perintah ini menunjukkan kepada Anda bahwa Anda dapat menggunakan perintah
‫hapus dengan beberapa objek secara bersamaan.
‫Mereka tidak harus menjadi objek terkait.
‫Bahkan, Anda bisa membuat daftar besar dari mereka
‫jika Anda menginginkan satu perintah.