GNU/Linux >> Belajar Linux >  >> Linux

Mulai pelajari Kubernetes dari mesin lokal Anda

Teman dan kenalan sering menghubungi saya untuk menanyakan di mana dan bagaimana mereka bisa mulai belajar Kubernetes. Permintaan ini berasal dari campuran orang-orang Ops dan Pengembang yang masih bekerja dengan sistem lama seperti aplikasi VM dan monolit. Istilah seperti CI/CD dan DevOps hanyalah kata kunci bagi mereka, karena mereka masih sibuk menyirami dan memberi makan sistem lama yang mereka pertahankan sebagai bagian dari persyaratan pekerjaan harian mereka.

Mereka menunjukkan minat sekarang karena mereka telah melihat semakin banyak beban kerja yang dipindahkan dari VM ke container, dan aplikasi monolit dirancang ulang ke layanan mikro untuk menangani inovasi dengan mudah dan menanggapi permintaan pasar yang cepat. Sekarang saatnya bagi mereka untuk mempelajari alat, platform, dan solusi yang menyebabkan migrasi massal ini ke Kubernetes.

Hal ini mendorong saya untuk menulis artikel ini, untuk membantu teman-teman saya dan orang lain yang ingin mulai belajar Kubernetes untuk mendorong perjalanan mereka sendiri menuju container dan dunia aplikasi cloud-native.

Penafian:Mempelajari Kubernetes akan menjadi perjalanan yang sulit. Anda akan mempelajari beberapa terminologi baru dan cara baru untuk mengelola dan menerapkan aplikasi Anda dengan cara cloud-native.

Jadi, apa itu Kubernetes?

Hal pertama yang harus dilakukan saat mempelajari Kubernetes adalah mencari penjelasan yang jelas tentang apa itu Kubernetes. Ada banyak buku dan referensi YouTube yang dapat Anda gunakan untuk mendapatkan penjelasan paling dasar—saya menemukan video YouTube ini, Panduan Anak Bergambar untuk Kubernetes, yang menurut saya adalah penjelasan terbaik tentang apa itu Kubernetes. Lihat sebelum membaca.

Komponen Kubernetes

Kubernetes bukanlah sebuah mesin tunggal melainkan sebuah platform. Saat Anda men-deploy Kubernetes, Anda akan mendapatkan sebuah cluster. Sebuah cluster terdiri dari satu set mesin master dan pekerja, yang disebut node, yang menjalankan aplikasi kemas. Setiap cluster memiliki setidaknya satu node pekerja. Ini adalah komponen Kubernetes.

Di bawah ini adalah tampilan Kubernetes dengan semua komponen yang diikat menjadi satu.

Bagaimana memulainya?

Saat mempelajari Kubernetes, Anda perlu men-deploy sebuah cluster. Tapi itu akan menjadi tantangan bagi orang-orang yang tidak bisa mendapatkan perangkat keras ekstra dan menemukan waktu untuk menyiapkannya bersama dengan jaringan dan sumber daya komputasi yang diperlukan. Persyaratan ini sering menggagalkan perjalanan Kubernetes sebelum dimulai. Jadi apa cara terbaik untuk memulai?

Untungnya, ada beberapa proyek open source yang memungkinkan Anda untuk menerapkan cluster Kubernetes dari laptop Anda. Mari kita lihat proyek-proyek tersebut sebelum saya memberikan pendapat saya sendiri tentang cara terbaik untuk mempelajari Kubernetes dan men-deploy aplikasi cloud-native pertama Anda.

Proyek Kubernetes lokal untuk menyelamatkan

Ini adalah proyek lokal yang dapat Anda gunakan untuk menjelajahi Kubernetes. Perhatikan bahwa proyek ini tidak siap untuk perusahaan dan hanya digunakan untuk tujuan pembelajaran.

Catatan:Sebelum memulai penjelajahan Kubernetes, pastikan Anda memiliki sumber daya yang memadai di laptop.

  • Linux:Red Hat Enterprise Linux, Fedora, CentOS
  • RAM 16 GiB atau lebih per mesin (kurang dari itu hanya menyisakan sedikit ruang untuk aplikasi Anda).
  • 2 CPU pada mesin yang Anda gunakan sebagai node bidang kontrol.
  • Konektivitas jaringan penuh di antara semua mesin dalam cluster.

minikube

Minikube adalah salah satu yang paling mudah dipasang di antara opsi-opsi ini. Ini akan memberi Anda cluster node tunggal yang berjalan di atas VirtualBox atau KVM.

Persyaratan sumber daya:

  • CPU:2
  • Memori:2 GB
  • Ruang disk:20 GB

Setelah Anda memiliki cluster yang berjalan (single-node), Anda dapat mulai membiasakan diri dengan menerapkan aplikasi sederhana menggunakan baris perintah kubectl untuk berinteraksi dengan cluster Kubernetes lokal Anda. Satu-satunya masalah yang saya perhatikan saat menggunakan minikube adalah keterbatasan menambahkan node pekerja untuk menyelesaikan pengalaman cluster.

baik 

Kind mengharuskan Anda menjalankan Kubernetes dalam wadah Docker. Jenis petunjuk penginstalan dapat ditemukan di sini.

Meskipun jenisnya mudah dipasang, masalah yang saya lihat dalam menggunakan proyek ini adalah konfigurasi jaringan yang kompleks untuk mengakses cluster. Untuk seseorang yang baru mulai belajar Kubernetes, hal ini bisa menjadi penghalang.

Persyaratan Sumber Daya:

  • CPU:2
  • Memori:8GB
  • Penyimpanan:20GB

kubeadm

Spin-up cluster menggunakan kubeadm dapat digunakan untuk men-deploy aplikasi cloud-native. Untuk memulainya, Anda akan memiliki satu node master dan node pekerja.

Menginstal kubeadm di laptop Anda adalah pengalaman terdekat yang bisa Anda dapatkan untuk penerapan cluster Kubernetes tingkat produksi. Karena itu, kubeadm mungkin juga merupakan cara tersulit untuk mempelajari Kubernetes.

Persyaratan Sumber Daya:

  • CPU:2
  • Memori:8GB (Anda akan membutuhkan memori ekstra untuk penerapan aplikasi).
  • Penyimpanan:20GB

Perangkat kecil

Minishift adalah proyek yang berbasis di OKD, hulu di belakang OpenShift. Saat Anda menginstal Minishift, itu akan memberi Anda kluster OpenShift node tunggal yang berjalan di dalamnya baik di VirtualBox atau KVM.

Persyaratan Sumber Daya:

  • CPU:2
  • Memori:4 GB
  • Penyimpanan:20 GB

Minishift mudah dipasang dan memberikan lebih banyak fleksibilitas dibandingkan proyek lain karena Anda dapat menginstalnya di Linux, Windows, dan macOS.

Karena Minishift berbasis OKD, Anda tidak hanya akan mempelajari dasar-dasar Kubernetes tetapi juga Openshift dan beberapa komponen yang tersedia di Minishift.

Kekurangan dari Minishift adalah hanya mendukung OKD 3.11, jadi Anda tidak akan bisa mendapatkan pengalaman penuh dari versi baru OKD 4. Minishift digantikan oleh Wadah CodeReady untuk mendapatkan pengalaman lengkap OKD 4, seperti yang dijelaskan di sini.

CodeReady Container (CRC) 

CRC berbasis OKD 4.1, yang menyediakan konfigurasi satu node di laptop Anda. Ini beroperasi hampir persis seperti Minishift dan minikube. Instalasinya juga mudah; dokumentasinya dapat ditemukan di sini.

Persyaratan Sumber Daya:

  • CPU:4
  • Memori:8 GB
  • Penyimpanan:30 GB

[ Dapatkan ebook gratis ini:Mengelola kluster Kubernetes Anda untuk boneka. ]

Kesimpulan

Ada banyak cara untuk menerapkan Kubernetes secara lokal untuk memulai perjalanan Anda sendiri menuju penguasaan keterampilan penting yang menjadi pusat revolusi TI saat ini.

Jika Anda baru memulai, saya sarankan untuk mempelajari Kubernetes menggunakan minikube karena menurut saya ini adalah yang termudah untuk pemula. Setelah Anda terbiasa dengan konsep Kubernetes, langkah selanjutnya adalah beralih ke CRC. Ini akan meningkatkan keterampilan Kubernetes Anda ke tingkat berikutnya sehingga Anda dapat mempelajari komponen siap-perusahaan yang sudah digunakan sebagian besar adaptor tingkat lanjut.

Seperti yang disebutkan sebelumnya, mempelajari Kubernetes seperti mempelajari sistem operasi Linux dari awal. Jangan berkecil hati jika Anda menabrak penghalang jalan. Memiliki pemahaman yang kuat tentang teknologi ini seperti berinvestasi di masa depan Anda dan, di satu sisi, membantu Anda membuktikan diri di masa depan.


Linux
  1. Cara men-deploy pod pertama Anda di Cluster Kubernetes

  2. Siapkan cluster Kubernetes dengan Rancher

  3. Bagaimana Cara Menyalin File Dari Server Jarak Jauh Ke Mesin Lokal?

  1. Bagaimana cara menyalin seluruh folder dari instance Linux Amazon EC2 ke mesin Linux lokal?

  2. Matikan mesin Windows dari terminal linux

  3. Bagaimana saya bisa menyalin file dari Google Cloud Compute Server ke mesin lokal saya

  1. 9 hal yang harus dilakukan dalam 10 menit pertama Anda di server Linux

  2. Mengambil dump MySQL dari komputer lain

  3. Cara mengambil banyak file dari mesin jarak jauh ke lokal dengan Ansible