Kubernetes adalah platform yang menghilangkan proses manual yang terlibat dalam menyebarkan aplikasi yang dikemas. Dalam blog ini di Kubernetes Tutorial, anda akan melalui semua konsep yang berkaitan dengan penyelesaian pengurusan pelbagai kontena ini.
Topik berikut akan dibahas dalam tutorial ini:
- Cabaran Tanpa Orkestrasi Kontena
- Docker Swarm atau Kubernetes
- Apa itu Kubernetes?
- Ciri-ciri Kubernetes
- Senibina Kubernetes
- Kajian Kes Kubernetes
- Hands-On
Sekarang, sebelum melangkah ke hadapan dalam blog ini, izinkan saya memberi penerangan mengenai kemasukan wadah dengan cepat.
Oleh itu, sebelum kontena wujud, para pembangun dan penguji selalu mempunyai perselisihan di antara mereka. Ini biasanya berlaku kerana apa yang berlaku di sisi dev, tidak akan berfungsi di sisi ujian. Kedua-duanya wujud dalam persekitaran yang berbeza. Sekarang, untuk mengelakkan senario seperti itu, wadah diperkenalkan sehingga kedua-dua Pembangun dan Penguji berada di halaman yang sama.
Mengendalikan sebilangan besar kontena bersama-sama juga menjadi masalah. Kadang-kadang semasa menjalankan kontena, di sisi produk, beberapa masalah dibangkitkan, yang tidak hadir di peringkat pengembangan. Senario seperti ini memperkenalkan Sistem Orkestrasi Kontena.
Sebelum saya menyelami sistem orkestrasi dengan mendalam, izinkan saya dengan cepat menyenaraikan cabaran yang dihadapi tanpa sistem ini.
Tutorial Kubernetes: Cabaran Tanpa Orkestrasi Kontena
Seperti yang anda lihat dalam rajah di atas apabila banyak perkhidmatan dijalankan di dalam bekas, anda mungkin mahu menskalakan bekas tersebut. Dalam industri berskala besar, ini sukar dilakukan. Itu kerana ia akan meningkatkan kos untuk mengekalkan perkhidmatan, dan kerumitan untuk menjalankannya secara berdampingan.
Sekarang, untuk mengelakkan penyediaan perkhidmatan secara manual & mengatasi cabaran, sesuatu yang besar diperlukan. Di sinilah Container Orchestration Engine masuk ke dalam gambar.
Enjin ini, membolehkan kita menyusun pelbagai bekas, sedemikian rupa sehingga semua mesin yang mendasari dilancarkan, kontena yang sihat dan diedarkan dalam lingkungan yang berkelompok. Di dunia sekarang, terdapat dua mesin seperti itu: Gabenor & Kumpulan Docker .
Tutorial Kubernetes: Kubernetes vs Docker Swarm
Gabenor dan Kumpulan Docker adalah alat orkestrasi kontena terkemuka di pasaran hari ini. Oleh itu, sebelum menggunakannya dalam produk, anda harus mengetahui apa sebenarnya dan bagaimana ia berfungsi.
Selanjutnya, di blog, saya akan menyelami Kubernetes secara mendalam, tetapi untuk mengetahui mengenai Docker, anda boleh mengklik .
Seperti yang anda lihat pada gambar di atas, Kubernetes, jika dibandingkan dengan Docker Swarm memiliki komuniti aktif yang hebat dan memperkuat penskalaan automatik di banyak organisasi. Begitu juga, Docker Swarm mempunyai kluster yang mudah dimulakan jika dibandingkan dengan Kubernetes, tetapi terbatas pada kemampuan Docker API.
Baiklah, ini bukan satu-satunya perbezaan antara alat utama ini. Sekiranya anda ingin mengetahui perbezaan terperinci antara kedua-dua alat orkestrasi kontena ini, anda boleh mengklik
Berminat Untuk Mengetahui Lebih Lanjut Mengenai Kubernetes?Sekiranya saya dapat memilih antara saya, maka itu mestilah Kubernetes kerana, kontena perlu dikendalikan dan dihubungkan ke dunia luar untuk tugas-tugas seperti penjadualan, pengimbangan beban, dan pengedaran.
Tetapi, jika anda berfikir secara logik, Docker Swarm akan membuat pilihan yang lebih baik, kerana ia berjalan di atas Docker bukan? Sekiranya saya adalah anda, saya pasti keliru tentang alat mana yang akan digunakan. Tapi hei, Kubernetes menjadi pemimpin yang tidak dipertikaikan di pasaran dan juga berjalan di atas kontena Docker dengan fungsi yang lebih baik.
Sekarang, setelah anda memahami keperluan Kubernetes, ini adalah masa yang tepat, saya memberitahu anda Apa itu Kubernetes?
Tutorial Kubernetes: Apa itu Kubernetes?
adalah sumber terbuka sistem yang mengendalikan kerja penjadualan kontena ke kluster komputasi dan menguruskan beban kerja untuk memastikannya berjalan sesuai keinginan pengguna. Sebagai gagasan otak Google, ia menawarkan komuniti yang sangat baik dan bekerja dengan cemerlang dengan semua penyedia awan untuk menjadi penyelesaian pengurusan pelbagai kontena.
cara menghasilkan rentetan rawak dalam java
Tutorial Kubernetes: Ciri-ciri Kubernetes
Ciri-ciri Kubernetes, adalah seperti berikut:
- Penjadualan Automatik: Kubernetes menyediakan penjadual lanjutan untuk melancarkan kontena pada node kluster berdasarkan keperluan sumbernya dan kekangan lain, sementara tidak mengorbankan ketersediaan.
- Keupayaan Penyembuhan Diri: Kubernetes memungkinkan untuk mengganti dan menjadualkan semula bekas apabila nod mati. Ia juga membunuh kontena yang tidak menanggapi pemeriksaan kesihatan yang ditentukan pengguna dan tidak mengiklankannya kepada pelanggan sehingga mereka siap disajikan.
- Pelancaran & pemulangan automatik: Kubernetes melancarkan perubahan pada aplikasi atau konfigurasinya sambil memantau kesihatan aplikasi untuk memastikan aplikasi tidak membunuh semua kejadian anda pada masa yang sama. Sekiranya ada yang tidak kena, dengan Kubernetes anda boleh mengembalikan perubahan.
- Penskalaan Mendatar & Pengimbangan Beban: Kubernetes dapat meningkatkan dan memperkecil aplikasi sesuai persyaratan dengan perintah sederhana, menggunakan UI, atau secara otomatis berdasarkan penggunaan CPU.
Tutorial Kubernetes: Senibina Kubernetes
Kubernetes Architecture mempunyai komponen utama berikut:
- Nod induk
- Nod pekerja / hamba
Saya akan membincangkan masing-masing satu persatu. Oleh itu, mulakan dengan memahami Nod Induk .
Nod Induk
Nod induk bertanggungjawab untuk pengurusan kluster Kubernetes. Ini adalah titik permulaan bagi semua tugas pentadbiran. Terdapat lebih daripada satu nod utama dalam kluster untuk memeriksa toleransi kesalahan.
Seperti yang anda lihat dalam rajah di atas, node induk mempunyai pelbagai komponen seperti Pelayan API, Pengawal Pengawal, Penjadual dan ETCD.
- Pelayan API: Pelayan API adalah titik masuk untuk semua perintah REST yang digunakan untuk mengawal kluster.
- Pengurus Pengawal: Merupakan daemon yang mengatur kluster Kubernetes, dan menguruskan gelung kawalan tanpa penamat yang berbeza.
- Penjadual: Penjadual menjadualkan tugas ke nod hamba. Ia menyimpan maklumat penggunaan sumber untuk setiap nod hamba.
- ETCD: ETCD adalah kedai nilai kunci yang mudah, diedarkan dan konsisten. Ia digunakan terutamanya untuk konfigurasi bersama dan penemuan perkhidmatan.
Nod pekerja / hamba
Node pekerja mengandungi semua perkhidmatan yang diperlukan untuk menguruskan rangkaian antara kontena, berkomunikasi dengan nod induk, dan memberikan sumber ke kontena yang dijadualkan.
Seperti yang anda lihat dalam rajah di atas, simpul pekerja mempunyai pelbagai komponen seperti Docker Container, Kubelet, Kube-proxy, dan Pods.
- Bekas Docker: Docker berjalan di setiap nod pekerja, dan menjalankan pod yang dikonfigurasi
- Kubelet: Kubelet mendapat konfigurasi Pod dari pelayan API dan memastikan bahawa bekas yang dijelaskan sudah siap dan berjalan.
- Proksi Cuba: Kube-proksi bertindak sebagai proksi rangkaian dan pengimbang beban untuk perkhidmatan pada simpul pekerja tunggal
- Pod: Pod adalah satu atau lebih bekas yang secara logik berjalan bersama pada nod.
Sekiranya anda mahukan penjelasan terperinci mengenai semua komponen Kubernetes Architecture, maka anda boleh merujuk kepada kami blog di
Ingin Mendapat Sijil Di Kubernetes?Tutorial Kubernetes: Kajian Kes Kubernetes
Y ahoo! JEPUN adalah penyedia perkhidmatan web yang beribu pejabat di Sunnyvale, California. Sebagai syarikat yang bertujuan untuk maya perkakasan, syarikat mula menggunakan OpenStack pada tahun 2012. Persekitaran dalaman mereka berubah dengan cepat. Namun, kerana kemajuan teknologi cloud dan container, syarikat tersebut menginginkan capakemampuan untuk melancarkan perkhidmatan di pelbagai platform.
Masalah: Bagaimana membuat gambar untuk semua platform yang diperlukan dari satu kod aplikasi, dan menyebarkan gambar tersebut ke setiap platform?
Untuk pemahaman anda yang lebih baik, rujuk gambar di bawah. Apabila kod diubah pada registri kod, maka gambar logam kosong, bekas Docker, dan gambar VM dibuat oleh alat integrasi berterusan, dimasukkan ke dalam registri gambar, dan kemudian disebarkan ke setiap platform infrastruktur.
Sekarang, mari kita fokus pada aliran kerja kontena untuk memahami bagaimana mereka menggunakan Kubernetes sebagai platform penyebaran. Rujuk gambar di bawah ini untuk melihat struktur seni bina platform.
Contoh OpenStack digunakan, dengan Docker, Kubernetes, Calico, dan lain-lain di atasnya untuk melakukan pelbagai operasi seperti Container Networking, Container Registry, dan sebagainya.
Apabila anda mempunyai sejumlah kelompok, maka sukar untuk menguruskannya bukan?
Oleh itu, mereka hanya ingin membuat kluster OpenStack yang ringkas dan asas untuk menyediakan fungsi asas yang diperlukan untuk Kubernetes dan menjadikan persekitaran OpenStack lebih mudah diuruskan.
Dengan gabungan aliran kerja penciptaan Imej dan Kubernetes, mereka membina rantai alat di bawah yang memudahkannya dari penekanan kod hingga penyebaran.
Rantai alat seperti ini memastikan bahawa semua faktor untuk penyebaran pengeluaran seperti penyewaan pelbagai, pengesahan, penyimpanan, rangkaian, penemuan perkhidmatan dipertimbangkan.
Begitulah orang-orang, Yahoo! JEPUN membina rantai alat automasi untuk penyebaran kod 'satu klik' ke Kubernetes yang berjalan di OpenStack, dengan bantuan dari Google dan Solinea .
Tutorial Gabenor: Hands-On
Dalam Hands-On ini, saya akan menunjukkan kepada anda cara membuat penyebaran dan perkhidmatan. Saya menggunakan contoh Amazon EC2, untuk menggunakan Kubernetes. Nah, Amazon telah hadir Perkhidmatan Kontena Elastik Amazon untuk Gabenor (Amazon EKS) , yang membolehkan mereka membuat kelompok Kubernetes di awan dengan sangat cepat dan mudah. Sekiranya anda ingin mengetahui lebih lanjut mengenainya, anda boleh merujuk ke blog
Langkah 1: Pertama buat folder di mana anda akan membuat penyebaran dan perkhidmatan anda. Selepas itu, gunakan editor dan buka fail Penyebaran .
mkdir handsOn cd handsOn vi Deploy.yaml
Langkah 2: Setelah anda membuka fail penyebaran, sebutkan semua spesifikasi untuk aplikasi yang ingin anda gunakan. Di sini saya cuba menggunakan httpd permohonan.
apiVersion: apps / v1 #Menentukan jenis Versi API: Parameter Deployment #Kinds menentukan jenis failnya, di sini adalah metadata Deployment: name: dep1 #Menyimpan nama spesifikasi penyebaran: # Di bawah Spesifikasi, anda menyebut semua spesifikasi untuk replika penyebaran: 3 # Jumlah replika akan menjadi 3 pemilih: matchLabels: app: httpd #Label nama yang akan dicari adalah templat httpd: metadata: label: aplikasi: httpd #Nama templat akan menjadi spesifikasi httpd: # Di bawah Spesifikasi, anda menyebutkan semua spesifikasi untuk bekas kontena: - nama: httpd #Nama kontena itu berupa gambar httpd: httpd: terbaru # Gambar yang mesti dimuat turun adalah httpd: port terbaru: - containerPort: 80 #Aplikasinya akan terkena pada port 80
Langkah 3: Setelah anda menulis fail penyebaran anda, terapkan penerapan menggunakan perintah berikut.
kubectl apply -f Deploy.yaml
Di sini -f adalah nama bendera yang digunakan untuktdia memfailkannama.
Langkah 4: Sekarang, setelah penyebaran diterapkan, buat senarai pod berjalan.
kubectl mendapatkan polong-lebarnya
Di sini, -o luas digunakan untuk mengetahui pada node mana penyebaran dijalankan.
Langkah 5: Setelah anda membuat penyebaran, sekarang anda harus membuat perkhidmatan. Untuk itu sekali lagi gunakan editor dan buka tempat kosong perkhidmatan. fail yaml .
apakah isinstance di python
vi perkhidmatan.yaml
Langkah 6: Setelah anda membuka fail perkhidmatan, sebutkan semua spesifikasi untuk perkhidmatan tersebut.
apiVersion: v1 #Menentukan jenis Versi API: Parameter Service #Kinds menentukan jenis fail itu, di sini adalah metadata Perkhidmatan: name: netsvc #Menyimpan nama spesifikasi perkhidmatan: # Di bawah Spesifikasi, anda menyebutkan semua spesifikasi untuk jenis perkhidmatan: Pemilih NodePort: aplikasi: port httpd: -protocol: TCP port: 80 targetPort: 8084 #Target Port number adalah 8084
Langkah 7: Setelah anda menulis fail perkhidmatan anda, terapkan fail perkhidmatan menggunakan arahan berikut.
kubectl apply -f service.yaml
Langkah 8: Sekarang, setelah perkhidmatan anda digunakan untuk memeriksa sama ada perkhidmatan tersebut berjalan atau tidak, gunakan perintah berikut.
kubectl dapatkan svc
Langkah 9: Sekarang, untuk melihat spesifikasi perkhidmatan, dan periksa Titik Akhir manadiikat dengan, gunakan arahan berikut.
kubectl menerangkan svc
Langkah 10: Sekarang kerana kita menggunakan instance amazon ec2, untuk mengambil halaman web dan memeriksa outputnya, gunakan perintah berikut.
ip-alamat curl
Sekiranya anda mendapati blog Kubernetes Tutorial ini relevan, periksa oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia.
Ada soalan untuk kami? Sila sebutkan di bahagian komen ” Tutorial Kubernetes 'Dan saya akan menghubungi anda.