Tutorial Kubernetes - Panduan Lengkap Untuk Kubernetes



Blog tentang Kubernetes Tutorial ini akan memandu Anda memahami semua konsep sistem orkestrasi container dengan Hands-on.

Kubernetes adalah platform yang menghilangkan proses manual yang terlibat dalam penerapan aplikasi dalam container. Di blog Tutorial Kubernetes ini, Anda akan membahas semua konsep yang terkait dengan solusi pengelolaan multi-container ini.

Topik-topik berikut akan dibahas dalam tutorial ini:





pertanyaan wawancara pemuat kelas java

Sekarang, sebelum melanjutkan ke blog ini, izinkan saya menjelaskan secara singkat tentang containerization.

Jadi, sebelum container muncul, developer dan penguji selalu memiliki masalah di antara mereka. Ini biasanya, terjadi karena apa yang berhasil di sisi pengembang, tidak akan berfungsi di sisi pengujian. Keduanya ada di lingkungan yang berbeda. Sekarang, untuk menghindari skenario seperti itu, wadah diperkenalkan sehingga baik Pengembang dan Penguji berada di halaman yang sama.



Menangani sejumlah besar kontainer secara bersamaan juga menjadi masalah. Terkadang saat menjalankan container, di sisi produk, hanya sedikit masalah yang diangkat, yang tidak ada dalam tahap pengembangan. Jenis skenario ini memperkenalkan Sistem Orkestrasi Kontainer.

Sebelum saya mendalami sistem orkestrasi, izinkan saya dengan cepat membuat daftar tantangan yang dihadapi tanpa sistem ini.



Tutorial Kubernetes: Tantangan Tanpa Orkestrasi Kontainer

Tantangan Tanpa Orkestrasi Kontainer - Tutorial Kubernetes - Edureka

Seperti yang Anda lihat pada diagram di atas saat beberapa layanan berjalan di dalam container, Anda mungkin ingin menskalakan container ini. Dalam industri skala besar, hal ini sangat sulit dilakukan. Itu karena akan meningkatkan biaya untuk memelihara layanan, dan kerumitan untuk menjalankannya secara berdampingan.

Sekarang, untuk menghindari pengaturan layanan secara manual & mengatasi tantangan, diperlukan sesuatu yang besar. Di sinilah Container Orchestration Engine berperan.

Mesin ini, memungkinkan kita mengatur beberapa kontainer, sedemikian rupa sehingga semua mesin yang mendasarinya diluncurkan, kontainer sehat dan didistribusikan dalam lingkungan berkerumun. Di dunia saat ini, hanya ada dua mesin seperti itu: Gubernur & Docker Swarm .

Tutorial Kubernetes: Kubernetes vs Docker Swarm

Gubernur dan Docker Swarm adalah alat orkestrasi kontainer terkemuka di pasar saat ini. Jadi sebelum menggunakannya dalam prod, Anda harus tahu apa sebenarnya mereka dan bagaimana cara kerjanya.

Lebih lanjut, di blog, saya akan mendalami Kubernetes, tetapi untuk mengetahui tentang Docker Anda bisa mengklik .

Seperti yang Anda lihat pada gambar di atas, Kubernetes, jika dibandingkan dengan Docker Swarm memiliki komunitas aktif yang hebat dan memberdayakan penskalaan otomatis di banyak organisasi. Demikian pula, Docker Swarm memiliki cluster yang mudah untuk memulai jika dibandingkan dengan Kubernetes, tetapi terbatas pada kemampuan Docker API.

Nah, teman-teman, ini bukan satu-satunya perbedaan antara alat terbaik ini. Jika Anda ingin mengetahui perbedaan mendetail antara kedua alat orkestrasi container ini, Anda dapat mengklik

Tertarik Untuk Tahu Lebih Banyak Tentang Kubernetes?

Jika saya dapat memilih di antara keduanya, maka itu haruslah Kubernetes karena, kontainer perlu dikelola dan dihubungkan ke dunia luar untuk tugas-tugas seperti penjadwalan, load balancing, dan distribusi.

Tetapi, jika Anda berpikir secara logis, Docker Swarm akan membuat opsi yang lebih baik, karena berjalan di atas Docker bukan? Jika saya jadi Anda, saya pasti bingung alat mana yang harus digunakan. Tapi hei, Kubernetes menjadi pemimpin yang tidak perlu di pasar dan juga berjalan di atas kontainer Docker dengan fungsionalitas yang lebih baik.

Sekarang, setelah Anda memahami kebutuhan akan Kubernetes, inilah saat yang tepat, yang saya beri tahu Apa itu Kubernetes?

Tutorial Kubernetes: Apa itu Kubernetes?

adalah sumber terbuka sistem yang menangani pekerjaan penjadwalan container ke dalam cluster komputasi dan mengelola beban kerja untuk memastikannya berjalan sesuai keinginan pengguna. Menjadi gagasan Google, ia menawarkan komunitas yang sangat baik dan bekerja dengan cemerlang dengan semua penyedia awan untuk menjadi solusi manajemen multi-kontainer.

Tutorial Kubernetes: Fitur Kubernetes

Fitur Kubernetes adalah sebagai berikut:

  • Penjadwalan Otomatis: Kubernetes menyediakan penjadwal lanjutan untuk meluncurkan container pada node cluster berdasarkan kebutuhan sumber dayanya dan batasan lainnya, tanpa mengorbankan ketersediaan.
  • Kemampuan Self Healing: Kubernetes memungkinkan untuk mengganti dan menjadwal ulang kontainer ketika node mati. Ini juga mematikan penampung yang tidak merespons health check yang ditentukan pengguna dan tidak mengiklankannya kepada klien sampai siap ditayangkan.
  • Peluncuran & rollback otomatis: Kubernetes meluncurkan perubahan pada aplikasi atau konfigurasinya sambil memantau kesehatan aplikasi untuk memastikannya tidak mematikan semua instance Anda pada saat yang bersamaan. Jika terjadi kesalahan, dengan Kubernetes Anda dapat membatalkan perubahan.
  • Penskalaan Horizontal & Load Balancing: Kubernetes dapat meningkatkan dan menurunkan aplikasi sesuai persyaratan dengan perintah sederhana, menggunakan UI, atau secara otomatis berdasarkan penggunaan CPU.

Tutorial Kubernetes: Arsitektur Kubernetes

Arsitektur Kubernetes memiliki komponen utama berikut:

  • Node master
  • Node Pekerja / Budak

Saya akan membahasnya satu per satu. Jadi, awalnya mari kita mulai dengan memahami Master Node .

Master Node

Node master bertanggung jawab atas pengelolaan cluster Kubernetes. Ini terutama merupakan titik masuk untuk semua tugas administratif. Mungkin ada lebih dari satu node master di cluster untuk memeriksa toleransi kesalahan.

Seperti yang Anda lihat pada diagram di atas, node master memiliki berbagai komponen seperti API Server, Controller Manager, Scheduler dan ETCD.

  • API Server: Server API adalah titik masuk untuk semua perintah REST yang digunakan untuk mengontrol cluster.
  • Manajer Pengontrol: Adalah daemon yang mengatur cluster Kubernetes, dan mengelola loop kontrol non-terminating yang berbeda.
  • Penjadwal: Penjadwal menjadwalkan tugas ke node budak. Ini menyimpan informasi penggunaan sumber daya untuk setiap node budak.
  • ETCD: ETCD adalah penyimpanan nilai kunci yang sederhana, terdistribusi, dan konsisten. Ini terutama digunakan untuk konfigurasi bersama dan penemuan layanan.

Node Pekerja / Budak

Node pekerja berisi semua layanan yang diperlukan untuk mengelola jaringan di antara wadah, berkomunikasi dengan simpul master, dan menetapkan sumber daya ke wadah terjadwal.

Seperti yang Anda lihat pada diagram di atas, node pekerja memiliki berbagai komponen seperti Docker Container, Kubelet, Kube-proxy, dan Pods.

  • Docker Container: Docker berjalan di setiap node pekerja, dan menjalankan pod yang dikonfigurasi
  • Kubelet: Kubelet mendapatkan konfigurasi Pod dari server API dan memastikan bahwa kontainer yang dijelaskan sudah aktif dan berjalan.
  • Proksi Kuba: Kube-proxy bertindak sebagai proxy jaringan dan penyeimbang beban untuk layanan pada satu node pekerja
  • Pod: Pod adalah satu atau beberapa container yang secara logis berjalan bersama di node.

Jika Anda menginginkan penjelasan rinci tentang semua komponen Arsitektur Kubernetes, maka Anda dapat merujuk ke kami blog di

Ingin Mendapatkan Sertifikasi di Kubernetes?

Tutorial Kubernetes: Studi Kasus Kubernetes

Y ahoo! JEPANG adalah penyedia layanan web yang berkantor pusat di Sunnyvale, California. Karena perusahaan bertujuan untuk memvirtualisasikan perangkat keras, perusahaan mulai menggunakan OpenStack pada tahun 2012. Lingkungan internal mereka berubah dengan sangat cepat. Namun karena kemajuan cloud dan teknologi container, perusahaan menginginkan adanya capakemampuan untuk meluncurkan layanan di berbagai platform.

Masalah: Bagaimana cara membuat gambar untuk semua platform yang diperlukan dari satu kode aplikasi, dan menyebarkan gambar tersebut ke setiap platform?

Untuk pemahaman Anda yang lebih baik, lihat gambar di bawah ini. Saat kode diubah di registry kode, maka image bare metal, container Docker, dan image VM dibuat dengan alat integrasi berkelanjutan, didorong ke registry image, lalu disebarkan ke setiap platform infrastruktur.


Sekarang, mari kita fokus pada alur kerja container untuk memahami bagaimana mereka menggunakan Kubernetes sebagai platform penerapan. Lihat gambar di bawah ini untuk mengintip arsitektur platform.

cara menggunakan aws cli

Instans OpenStack digunakan, dengan Docker, Kubernetes, Calico, dlld di atasnya untuk melakukan berbagai operasi seperti Container Networking, Container Registry, dan sebagainya.

Ketika Anda memiliki sejumlah cluster, maka akan sulit untuk mengelolanya bukan?

Jadi, mereka hanya ingin membuat cluster OpenStack dasar yang sederhana untuk menyediakan fungsionalitas dasar yang diperlukan untuk Kubernetes dan membuat lingkungan OpenStack lebih mudah untuk dikelola.

Dengan kombinasi alur kerja pembuatan Gambar dan Kubernetes, mereka membangun rantai alat di bawah ini yang membuatnya mudah dari dorongan kode hingga penerapan.


Toolchain semacam ini memastikan bahwa semua faktor untuk penerapan produksi seperti multi-tenancy, otentikasi, penyimpanan, jaringan, penemuan layanan dipertimbangkan.

Begitulah cara orang-orang, Yahoo! JEPANG membangun rantai alat otomatisasi untuk penerapan kode 'sekali klik' ke Kubernetes yang berjalan di OpenStack, dengan bantuan dari Google dan Solinea .

Tutorial Gubernur: Hands-On

Dalam Hands-On ini, saya akan menunjukkan cara membuat penerapan dan layanan. Saya menggunakan instans Amazon EC2, untuk menggunakan Kubernetes. Nah, Amazon telah menghasilkan Layanan Kontainer Amazon Elastic untuk Gubernur (Amazon EKS) , yang memungkinkan mereka membuat kluster Kubernetes di cloud dengan sangat cepat dan mudah. Jika Anda ingin mempelajarinya lebih lanjut, Anda dapat merujuk ke blog

Langkah 1: Pertama buat folder di dalamnya Anda akan membuat penerapan dan layanan Anda. Setelah itu, gunakan editor dan buka file Deployment .

mkdir handsOn cd handsOn vi Deploy.yaml

Langkah 2: Setelah Anda membuka file penerapan, sebutkan semua spesifikasi untuk aplikasi yang ingin Anda terapkan. Di sini saya mencoba menerapkan httpd aplikasi.

apiVersion: apps / v1 #Menentukan jenis Versi API: Deployment #Kinds parameter menentukan jenis file itu, di sini adalah Deployment metadata: name: dep1 # Menyimpan nama spesifikasi penerapan: # Di bawah Spesifikasi, Anda menyebutkan semua spesifikasi replika penerapan: 3 # Jumlah replika akan menjadi 3 selector: matchLabels: app: httpd #Label name yang akan dicari adalah httpd template: metadata: labels: app: httpd #Template name akan menjadi httpd spec: # Under Spesifikasi, Anda menyebutkan semua spesifikasi untuk wadah kontainer: - nama: httpd #Nama kontainer akan httpd gambar: httpd: terbaru #Gambar yang harus diunduh adalah httpd: port terbaru: - containerPort: 80 #Aplikasi akan terekspos pada port 80

Langkah 3: Setelah Anda menulis file penerapan, terapkan penerapan menggunakan perintah berikut.

kubectl apply -f Deploy.yaml

Di sini -f adalah nama bendera yang digunakan untuktdia mengajukannama.

Langkah 4: Sekarang, setelah penerapan diterapkan, jalankan daftar pod.

kubectl mendapatkan pods -o wide

Di sini, -o wide digunakan untuk mengetahui node mana yang menjalankan penerapan.

Langkah 5: Setelah Anda membuat penerapan, sekarang Anda harus membuat layanan. Untuk itu lagi gunakan editor dan buka kosong layanan. file yaml .

vi layanan.yaml

Langkah 6: Setelah Anda membuka file layanan, sebutkan semua spesifikasi untuk layanan tersebut.

apiVersion: v1 #Menentukan jenis Versi API: Layanan #Kinds parameter menentukan jenis file itu, di sini adalah Metadata layanan: name: netsvc #Menyimpan nama spesifikasi layanan: # Di bawah Spesifikasi, Anda menyebutkan semua spesifikasinya untuk jenis layanan: NodePort selector: app: httpd ports: -protocol: TCP port: 80 targetPort: 8084 #Target Port number adalah 8084

Langkah 7: Setelah Anda menulis file layanan Anda, terapkan file layanan menggunakan perintah berikut.

kubectl apply -f service.yaml

Langkah 8: Sekarang, setelah layanan Anda diterapkan untuk memeriksa apakah layanan tersebut berjalan atau tidak, gunakan perintah berikut.

kubectl mendapatkan svc

Langkah 9: Sekarang, untuk melihat spesifikasi layanan, dan memeriksa Endpoint yang manaterikat ke, gunakan perintah berikut.

kubectl mendeskripsikan svc

Langkah 10: Sekarang karena kami menggunakan contoh amazon ec2, untuk mengambil halaman web dan memeriksa hasilnya, gunakan perintah berikut.

curl ip-address

Jika Anda merasa blog Tutorial Kubernetes ini relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar ' Tutorial Kubernetes 'Dan saya akan menghubungi Anda kembali.