‫Karena fleksibilitas luar biasa yang kami miliki dengan
‫Kubernetes, ada banyak gaya untuk bagaimana Anda melakukan
‫pekerjaan Anda di sistem cluster Kubernetes.
‫Anda pernah mendengar saya berbicara tentang itu sebelumnya, kan.
‫Saya sudah memberi tahu Anda bahwa ada berbagai cara agar sesuai dengan
‫alur kerja Anda, dan bahwa Anda dapat menggunakan perintah yang
‫berbeda dengan cara yang berbeda. Jadi, itu bisa jadi menantang
‫ketika Anda mencoba untuk mengajarkannya karena orang-orang benar-benar ingin tahu
‫bagaimana seharusnya mereka menggunakannya. Seperti apa cara terbaik?
‫Apa praktik terbaik? Itu sulit karena sangat
‫tergantung pada apa yang Anda inginkan darinya.
‫Ini adalah sistem tanggal yang tidak menarik.
‫Jadi, ada banyak cara berbeda untuk melakukan sesuatu.
‫Di sinilah saya mencoba memecahnya.
‫Jadi, ini yang penting.
‫Tapi, ini semua hanya pembelajaran slide.
‫Ini akan menjadi saya berbicara kepada Anda selama
‫beberapa menit untuk mencoba memecah konsep-konsep ini dan menerapkan apa
‫artinya bagi Kubernetes khusus.
‫Sebelum kita sampai pada pendekatan yang direkomendasikan, dan pada
‫dasarnya akan ada tiga strategi yang direkomendasikan
‫untuk bagaimana menggunakan Kubernetes.
‫Di sinilah saya perlu menjabarkan beberapa
‫istilah ini sehingga Anda tahu apa kuliah berikutnya.
‫Anda akan melihat ini di banyak posting
‫blog dan dokumentasi. Imperatif versus Deklaratif.
‫Cara terbaik yang menggambarkannya, sehubungan dengan Kubernetes, adalah mencadangkan
‫dan hanya mengatakan apa artinya dalam
‫hal perangkat lunak.
‫Ketika kita menulis perangkat lunak secara imperatif,
‫kita fokus pada bagaimana program itu beroperasi, setiap
‫langkah, secara berurutan, satu demi satu.
‫Ketika kita berbicara tentang pendekatan deklaratif untuk perangkat lunak,
‫kita sedang menjelaskan lebih banyak tentang apa yang harus dicapai.
‫Apa tujuan akhirnya?
‫Kami tidak begitu peduli bagaimana itu bisa sampai di sana
‫hanya sampai di sana. Mari kita coba analogi.
‫Bayangkan Anda ingin secangkir kopi.
‫Ketika saya bangun setiap pagi, saya mencari
‫cangkir pertama itu. Jika saya akan membuatnya
‫sendiri, saya harus melakukannya secara imperatif.
‫Saya harus berpikir tentang merebus air.
‫Apa langkah selanjutnya? Yah, aku butuh biji kopi.
‫Lalu aku harus menggiling kacang itu. Berapa tepatnya
‫yang saya butuhkan? Berapa banyak air yang saya tuangkan
‫di atas biji itu untuk mendapatkan secangkir kopi yang sempurna, dll, benar.
‫Saya akan melalui setiap langkah, dan saya berpikir tentang bagaimana hal itu
‫dilakukan, langkah demi langkah.
‫Itu penting. Ketika Anda melihat Kubernetes, kita
‫akan membicarakannya sebentar lagi.
‫Mode deklaratif. Anggap saja lebih dari mungkin aku
‫ada di kedai kopi dan aku berbicara dengan seorang barista.
‫Saya hanya bertanya kepada mereka.
‫Saya mau secangkir kopi.
‫Satu-satunya pekerjaan saya adalah meminta secangkir
‫kopi dan terserah mereka untuk mencari tahu, hei.
‫Apakah saya harus membuatnya dari awal? Apakah ada yang sudah dibuat
‫di panci? Atau potnya sudah terlalu tua?
‫Mereka dapat melakukan ... mereka bisa... mungkin harus mencoba
‫lagi tiga kali untuk membuat secangkir kopi karena
‫mereka mengacaukannya. Tidak apa-apa.
‫Saya tidak bertanya bagaimana mereka membuatnya.
‫Saya meminta mereka untuk membuatkan saya secangkir kopi.
‫Mari kita terapkan ini pada perintah yang akan
‫Anda gunakan di Kubernetes. Mari kita fokus pada
‫imperatif, yang sejauh ini telah Anda pelajari sebagian
‫besar karena itulah cara untuk mulai mempelajari alat apa
‫pun secara imperatif. Anda akan melakukan
‫hal-hal ini dalam urutan yang harus dilakukan, dan Anda
‫memberikan instruksi eksplisit tentang cara melakukannya.
‫Perintah-perintah ini, seperti menjalankan kubectl, dan membuat
‫penyebaran, dan memperbarui, yang belum kami bahas, atau edit.
‫Ini adalah berbagai jenis perintah
‫yang akan Anda mulai dalam keadaan yang Anda tahu.
‫Saat Anda menggunakan perintah buat
‫penyebaran, Anda tahu bahwa penyebaran belum dibuat.
‫Jadi, Anda menggunakan buat, benar.
‫Jika Anda ingin memperbarui, atau mengedit sesuatu, Anda secara eksplisit menggunakan
‫perintah itu untuk melakukan itu.
‫Yang menyenangkan di sini untuk baris perintah dan mengetik ke
‫CLI adalah bahwa perintah yang berbeda digunakan untuk berbagai jenis tindakan,
‫apakah itu membuat, atau memperbarui, atau menghapus.
‫Itu lebih mudah bagi otak kita untuk mengingat karena kita tahu
‫tindakan yang kita ambil.
‫Ingat saja bahwa keharusan lebih mudah
‫ketika Anda sudah tahu keadaan objek atau sumber daya,
‫dan Anda baru saja mulai menggunakan alat.
‫Jadi, Anda ingin berpikir secara eksplisit, OK, saya perlu membuat
‫layanan dan layanan itu harus menjadi penyeimbang beban.
‫Anda tahu hal semacam itu. Kemudian, lebih mudah bagi kita
‫dalam pikiran manusia untuk mengetikkan hal-hal ini di CLI.
‫Sayangnya tidak mudah untuk
‫diotomatisasi. Itulah salah satu kelemahan
‫terbesar dari jenis pekerjaan ini adalah sangat
‫sulit untuk mendapatkan skrip otomatis, atau alat, untuk
‫secara otomatis menangani, Oh, apakah ini pembaruan yang
‫Anda inginkan? Atau apakah ini buatan?
‫Atau ini sebuah penghapusan? Seperti yang Anda tahu,
‫apa yang harus saya lakukan di sini? Sulit bagi kami untuk mengotomatisasi jenis
‫pekerjaan itu. Mudah di kepala kita.
‫Mudah bagi kita untuk mengetik di CLI. Sulit bagi kita untuk mengotomatisasi.
‫Ingat, deklaratif berarti kita tidak benar-benar mengetahui keadaan.
‫Ingat kopinya. Saya tidak tahu apakah mereka minum
‫kopi atau tidak. Mereka mungkin sudah membuat beberapa. Mereka mungkin
‫harus membuatnya dari awal.
‫Saya tidak tahu keadaannya.
‫Saya hanya tahu hasil akhirnya yang saya inginkan.
‫Itu sangat cocok untuk model deklaratif.
‫Beberapa manfaat di sini untuk kami, dan untuk
‫otomatisasi, adalah bahwa perintah yang sama, biasanya Anda
‫akan menggunakan perintah apply, kubectl apply.
‫Perintah yang sama dapat digunakan terlepas dari apakah
‫kita sedang membuat, atau memperbarui, atau bahkan
‫mungkin menghapus, sumber daya. Jika Anda mulai melihat YAML, yang
‫akan kita bahas sebentar lagi.
‫YAML itu bisa dalam satu file.
‫Anda dapat menggabungkan berbagai jenis sumber daya
‫menjadi satu YAML. Atau, Anda dapat memecahnya menjadi
‫satu objek di setiap file YAML dalam satu direktori, dan Anda
‫dapat menggunakan satu perintah untuk menerapkan seluruh direktori.
‫Ada banyak opsi di sana.
‫Alasan kami tidak memulai menggunakan metode ini adalah
‫karena itu, kami tidak selalu membutuhkannya.
‫Itu menambahkan sedikit kompleksitas karena Anda harus membuat
‫file ini, dan semua hal di dalamnya, bahkan sebelum
‫Anda bisa melakukannya.
‫Anda mungkin tidak memilikinya dari awal, dan Anda
‫tidak perlu membuatnya hanya untuk membuat
‫pod atau sesuatu, benar. Jadi, memulai, CLI masuk akal.
‫Menggunakan perintah imperatif standar masuk akal.
‫Tetapi, ketika Anda mulai berpikir tentang produksi,
‫dan otomatisasi, dan melakukan proses pembaruan berulang-ulang ini,
‫seperti yang akan Anda lakukan, maka Anda
‫mulai berpikir, OK. Saya membutuhkan pendekatan yang lebih deklaratif.
‫Tantangan di sana adalah Anda harus mengetahui semua kunci
‫dan pengaturan YAML tersebut, dan Anda harus mulai dari awal
‫dan membangun keahlian Anda dari waktu ke waktu ke semua cara dan hal-hal yang
‫perlu Anda masukkan ke dalam YAML ini.
‫Yang hebat di sini adalah bahwa investasi
‫Anda tidak sia-sia. Saat Anda menyelesaikan
‫beberapa hal dasar di Kubernetes sekarang dengan mengetik
‫CLI seperti menjalankan atau menciptakan kubectl.
‫Selama waktu itu, Anda melihat YAML dengan perintah
‫output, ingat -o yaml.
‫Anda dapat melihat output dari YAML.
‫Ada cara lain kita bisa melihat YAML.
‫Kami mulai membangun pengetahuan kami tentang bagaimana seharusnya
‫tampilan YAML sehingga begitu Anda masuk ke dunia produksi di
‫mana Anda pada dasarnya melakukan YAML sepanjang hari, Anda
‫akan menjadi sedikit lebih akrab dengan cara
‫itu. pecah. Cara YAML
‫ini adalah cara termudah untuk mengotomatisasi orkestrasi Anda.
‫Ini juga cara termudah untuk mendapatkan
‫kebahagiaan ops. Kami tidak akan berbicara
‫banyak tentang op-op dalam kursus ini. Saya sarankan Anda
‫menggunakan Google itu karena ini adalah jenis
‫melakukan pekerjaan DevOps yang menggunakan alat get
‫sebagai sumber kebenaran Anda.
‫Pada dasarnya, setiap kali Anda ingin membuat perubahan pada
‫lingkungan Anda, Anda mengedit beberapa YAML.
‫Anda melakukan perintah yang berlaku.
‫Anda melakukan komitmen. Sekarang Anda sudah mendapatkan log
‫dari setiap hal yang telah Anda lakukan. Itulah salah satu
‫atribut dari model operasi op-ops dan melakukan ini dengan
‫deklaratif adalah bagaimana Anda sampai di sana.
‫Mari kita lihat tiga cara yang menurut tim Kubernetes
‫kita harus menggunakan baris perintah Kubernetes.