‫Sekarang kita telah berbicara tentang empat jenis
‫layanan Kubernetes, mari kita buat beberapa dari baris perintah.
‫Pertama, kita perlu membuat Penyebaran yang bisa kita arahkan
‫ke layanan ini. Kemudian kami akan membuat
‫berbagai jenis layanan untuk ditunjukkan pada Penerapan ini.
‫Dalam demo ini, kami akan membuat
‫dua shell yang berbeda, atau windows yang berbeda, ke
‫dalam lingkungan Kubernet Anda sehingga kami dapat melihat apa yang terjadi
‫dengan perintah arloji sementara kami melakukannya dengan perintah lain.
‫Baiklah. Dalam kasus saya, saya memiliki dua jendela,
‫satu di atas yang lain. Tidak masalah bagaimana Anda melakukannya.
‫Ini hanya untuk memudahkan Anda melihat apa yang saya lakukan.
‫Kita akan menggunakan kubectl get pods.
‫Kami akan menambahkan -w.
‫Ini seperti perintah arloji di mana ia akan terus berjalan dan menunjukkan
‫kepada kita dari waktu ke waktu ketika segalanya berubah.
‫Anda akan melihat bahwa ini adalah opsi untuk banyak perintah
‫kubectl yang berbeda. Kami akan melakukannya di sini hanya untuk melihat
‫apa yang terjadi di latar belakang.
‫dapatkan polong dengan -w.
‫Lalu di jendela saya yang lain, kita
‫akan membuat Deployment.
‫buat penyebaran. Kita akan memanggil httpenv ini.
‫Apa yang digunakan adalah server Web HTTP yang sangat
‫sederhana yang pada dasarnya ketika Anda menekannya dengan CURL,
‫itu hanya meludah kembali semua variabel lingkungan yang
‫didapat di baris perintah.
‫Ini adalah cara yang sangat sederhana dan belum sempurna bagi kami
‫untuk hanya memvalidasi bahwa itu berfungsi, tetapi juga untuk mendapatkan kembali nilai
‫menarik seperti nama pod.
‫Hal-hal seperti itu.
‫Sekarang kami telah membuatnya, Anda akan melihat di
‫bagian atas bahwa itu menciptakan wadah.
‫Pikirkan itu lebih seperti log di mana setiap kali ada perubahan
‫status, atau status berubah, atau sesuatu seperti itu, Anda
‫akan melihatnya sebagai baris baru yang mencetak halaman
‫seperti file log.
‫Anda akan melihat di baris terakhir itu, sekarang menunjukkan bahwa kita
‫memiliki pod itu berjalan dalam keadaan berjalan di sana.
‫Mari kita putar lebih banyak pod ini sehingga kita
‫dapat memiliki lebih dari satu kontainer yang berjalan
‫di belakang layanan kita sehingga kita akan membuat yang kedua.
‫Perintah scale berguna dengan Penempatan karena memungkinkan kita
‫untuk mengubah jumlah replika dalam satu perintah
‫yang ramah. Tentu saja, dengan semua yang
‫ada di Kubernetes, ada beberapa cara untuk melakukan ini, tetapi ini
‫adalah cara termudah dalam situasi kita di sini.
‫Baiklah. Sekarang Anda akan melihat bahwa
‫itu membuat empat pod lagi dan itu menunjukkan ada yang berjalan.
‫Sekarang, kita akan membuat layanan itu.
‫Untuk itu, kami menggunakan perintah expose.
‫Dalam hal ini, kami memberitahukan Deployment mana yang
‫akan diekspos dan port tempat Deployment mendengarkan.
‫Anda akan melihat bahwa ini tidak mengubah pod apa pun karena
‫ini membuat fitur tambahan yang tidak terkait dengan
‫pod itu sendiri.
‫Ini sebenarnya akan membuat IP cluster secara default.
‫Itu jenis layanan IP cluster.
‫Ini akan membuatnya di depan
‫Penempatan. Mari kita periksa layanan yang baru saja kita buat.
‫Anda akan melihat dua di sini.
‫Yang pertama adalah titik akhir Kubernetes.
‫Itu untuk API.
‫Maka Anda akan melihat layanan kami yang baru saja kami buat
‫dan tipenya adalah cluster IP. Ingat, IP cluster hanya dapat
‫digunakan di dalam cluster untuk node dan pod lain untuk
‫dapat mengaksesnya.
‫Alamat IP ini dapat kita jangkau, tetapi tergantung di mana kita berada dan
‫apakah kita dapat mencapainya atau tidak.
‫Karena alamat IP hanya dapat diakses
‫dari node itu sendiri atau pod lain di
‫dalam cluster.
‫Saat Anda berada di Docker Desktop, jika Anda ingat bahwa
‫ini tidak berjalan pada OS host Mac dan Windows.
‫Ini secara teknis berjalan di Linux VM kecil.
‫Kita perlu menjalankan, dalam hal ini, pod lain
‫yang berjalan di kluster itu sehingga kita
‫dapat memutar itu. Kami tidak ingin menjalankan Penempatan dengan set replika.
‫Dalam hal ini, kami benar-benar hanya ingin menjalankan satu pod tunggal.
‫Cara termudah untuk melakukannya adalah dengan menjalankan kubectl.
‫Kita akan menggunakan generator alternatif.
‫Anda mungkin ingat itu dari kesalahan sebelumnya.
‫Kami akan berbicara tentang apa generator dalam sedikit.
‫Ada banyak hal yang terjadi dalam perintah ini, jadi
‫mari kita jabarkan. Lari kubectl yang pernah Anda lihat sebelumnya.
‫Generator adalah tipe templat yang ingin kita gunakan
‫perintah jalankan.
‫Kami akan berbicara sedikit tentang hal itu di kuliah mendatang.
‫Kami memilih templat pod karena kami hanya
‫ingin menjalankan pod. Kami tidak ingin Penempatan penuh dengan set replika
‫atau apa pun. Kita akan menyebutnya tmp-shell.
‫Anda akan melihat bahwa beberapa opsi ini
‫mirip dengan buruh pelabuhan. Itu sengaja.
‫Salah satu tujuan masa depan
‫perintah run kubectl adalah untuk bertindak lebih seperti perintah
‫run docker. Bahkan, kita akan membicarakan
‫nanti bagaimana nantinya, secara default, buat pod untuk
‫Anda dan Anda tidak perlu menggunakan opsi generator ini.
‫Kita akan menggunakan --rm di sini yang berarti setelah pod
‫berhenti, silakan dan hapus.
‫-Itu memberi kita shell ke pod itu setelah
‫kita menekan perintah enter. Lalu --image memberi tahu kita gambar
‫apa yang kita sukai.
‫Dalam hal ini, kami menggunakan gambar netshoot saya, yang merupakan kumpulan dari
‫berbagai jaringan dan utilitas Linux
‫di dalamnya. Salah satunya adalah CURL.
‫Kemudian dengan perintah run, kita dapat mengubah
‫cmd, atau hal yang akan dijalankan di
‫dalam wadah.
‫Kami melakukannya dengan ruang - ruang.
‫Itu memberitahu perintah jalankan untuk berhenti melihat opsi dan bahwa
‫apa pun setelah itu tanda hubung ganda adalah perintah untuk
‫dijalankan ketika saya menjalankan wadah ini.
‫Anda akan melihat di bagian atas bahwa temp shell pod
‫muncul dan sekarang status sedang berjalan, dan kami berada
‫di pod dengan bash prompt kami.
‫Sesuatu yang akan kita bicarakan
‫sedikit adalah bahwa nama layanan yang kita buat menjadi
‫bagian dari nama DNS untuk layanan ini.
‫Kita bisa menggunakan... sangat mirip dengan apa yang baru
‫saja kita lakukan di Docker dan Swarm, kita dapat menggunakan nama layanan untuk mendapatkannya dengan DNS.
‫Ingat, ini berjalan di Port 8888.
‫Ketika kita melakukan itu, kita mendapatkan kembali
‫respons yang saya harapkan. Utilitas httpenv
‫ini hanya membuang semua variabel lingkungan pada
‫mesin yang ada di dalam
‫pod unik itu, benar. Anda akan melihat nama pod adalah
‫nama host dan Kubernetes lainnya default out-of-the-box.
‫Metode itu akan bekerja untuk Anda,
‫di cluster mana pun, selama baris perintah kubectl Anda
‫dapat berbicara dengan API, perintah itu akan membawa Anda
‫ke pod baru yang menjalankan gambar itu di dalam
‫shell. Itu keren.
‫Tapi, jika Anda menggunakan Linux, ada cara yang lebih mudah.
‫Karena cara Kubernetes bekerja adalah bahwa semua node
‫dan kontainer, secara default, dapat saling berbicara
‫di luar kotak. Node tempat Anda berada,
‫dengan anggapan bahwa Anda menjalankan Kubernet pada mesin lokal itu, memiliki
‫akses ke semua alamat IP pribadi ini.
‫Anda seharusnya hanya bisa mengurung IP layanan.
‫Biarkan saya keluar dari shell saya dan melakukan kubectl
‫mendapatkan layanan lagi.
‫Alamat IP untuk IP kluster harus dapat diatasi
‫dari host Anda. Host Anda tidak akan tahu
‫nama DNS seperti yang kami lakukan dengan di dalam
‫pod karena itu eksklusif berada di dalam cluster.
‫Tetapi, ia akan mengetahui alamat IP dan dapat mengaksesnya.
‫Anda dapat mengurung alamat IP:
‫8888 seperti yang Anda lakukan untuk mesin lain di
‫jaringan Anda. Alasan yang tidak
‫berfungsi dari Docker Desktop adalah karena Anda duduk di Mac
‫atau Windows ketika Anda mengetik perintah-perintah itu,
‫dan perintah itu tidak berada pada kelompok Kubernet yang
‫sama dengan Linux VM yang menjalankan Kubernet Anda untuk Anda.
‫Baiklah. Mari kita lanjutkan dan biarkan hal-hal
‫berjalan untuk kuliah berikutnya di mana kita akan menciptakan lebih
‫banyak layanan.