Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Memulai Cluster Kubernetes Dari Awal Dengan Kubeadm dan Kubectl

Posted on September 17, 2022

Kubernetes memiliki reputasi kompleksitas tetapi rilis modern relatif mudah disiapkan. Alat administrasi cluster resmi Kubeadm memberikan pengalaman otomatis untuk mem-boot control plane Anda dan mendaftarkan node pekerja.

Artikel ini akan memandu Anda dalam menyiapkan cluster Kubernetes sederhana menggunakan konfigurasi default. Ini adalah panduan “dari awal” yang harus bekerja pada host yang baru saja disediakan. Sistem berbasis Debian diasumsikan tetapi Anda dapat menyesuaikan sebagian besar perintah agar sesuai dengan manajer paket sistem operasi Anda. Langkah-langkah ini telah diuji menggunakan Ubuntu 22.04 dan Kubernetes v1.25.

Menginstal Container Runtime

Kubernetes membutuhkan container runtime yang kompatibel dengan CRI untuk memulai dan menjalankan container Anda. Distribusi Kubernetes standar tidak disertai dengan runtime sehingga Anda harus menginstalnya sebelum melanjutkan. containerd adalah pilihan paling populer. Ini adalah runtime yang disertakan dengan rilis Docker modern.

Anda dapat menginstal containerd menggunakan repositori Apt Docker. Pertama tambahkan beberapa dependensi yang akan digunakan selama prosedur instalasi:

$ sudo apt update $ sudo apt install -y ca-certificates curl gnupg lsb-release

Selanjutnya tambahkan kunci GPG repositori ke direktori keyrings Apt:

$ sudo mkdir -p /etc/apt/keyrings 
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

Sekarang Anda dapat menambahkan repositori yang benar untuk sistem Anda dengan menjalankan perintah ini:

$ echo "deb [arch=$(dpkg --print-architecture) signed -by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Perbarui daftar paket Anda untuk memasukkan isi dari repositori Docker:

$ sudo apt update

Akhirnya install containerd:

$ sudo apt install -y containerd. io

Check layanan containerd telah dimulai:

$ sudo service containerd status containerd.service - container runtime containerd Loaded: loading (/lib/systemd/system/containerd.service; diaktifkan; preset vendor: diaktifkan) Aktif: aktif (berjalan) sejak Sel 2022-09-13 16:50:12 WIB; 6s ago

Beberapa penyesuaian pada file konfigurasi containerd diperlukan untuk membuatnya bekerja dengan baik dengan Kubernetes. Pertama-tama ganti konten file dengan konfigurasi default containerd:

$ sudo containerd config default > /etc/containerd/config.toml

Ini mengisi semua bidang konfigurasi yang tersedia dan menyelesaikan beberapa masalah, seperti dukungan CRI dinonaktifkan pada instalasi baru.

Next open / etc/containerd/config.toml dan temukan baris berikut:

SystemdCgroup = false
Ubah nilainya menjadi true:
SystemdCgroup = true

Modifikasi ini diperlukan untuk mengaktifkan dukungan penuh untuk manajemen systemdcgroup. Tanpa opsi ini, container sistem Kubernetes akan restart sendiri secara berkala.

Restart containerd untuk menerapkan perubahan Anda:

$ sudo service containerd restart

Menginstal Kubeadm, Kubectl, dan Kubelet

Tahap kedua dalam proses ini adalah menginstal alat Kubernetes. Ketiga utilitas ini menyediakan kemampuan berikut:

Kubeadm – Alat administrasi yang beroperasi di tingkat cluster. Anda akan menggunakan ini untuk membuat cluster Anda dan menambahkan node tambahan. Kubectl – Kubectl adalah CLI yang Anda gunakan untuk berinteraksi dengan cluster Kubernetes Anda setelah berjalan. Kubelet – Ini adalah proses Kubernetes yang berjalan pada node pekerja cluster Anda. Ini bertanggung jawab untuk menjaga kontak dengan bidang kontrol dan memulai wadah baru saat diminta.

Ketiga biner tersedia di repositori Apt yang dihosting oleh Google Cloud. Pertama, daftarkan keyring GPG repositori:

$ sudo curl -fsSLo /etc/apt/keyrings/kubernetes.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg

Selanjutnya tambahkan repositori ke sumber Anda …

$ echo "deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list

…dan perbarui daftar paket Anda:

$ sudo apt update

Sekarang instal paket:

$ sudo apt install -y kubeadm kubectl kubelet

Praktik terbaik untuk “menahan” paket-paket ini jadi Apt tidak secara otomatis memperbaruinya saat Anda menjalankan apt upgrade. Upgrade cluster Kubernetes harus dimulai secara manual untuk mencegah downtime dan menghindari perubahan yang tidak diinginkan.

$ sudo apt-mark hold kubeadm kubectl kubelet

Disabling Swap

Kubernetes tidak berfungsi saat swap diaktifkan. Anda harus mematikan swap sebelum membuat cluster. Jika tidak, Anda akan menemukan proses penyediaan macet saat menunggu Kubelet untuk memulai.

Run perintah ini untuk menonaktifkan swap:

$ sudo swapoff -a

Next edit file /etc/fstab Anda dan nonaktifkan semua swap mount:

UUID=ec6efe91-5d34-4c80- b59c-cafe89cc6cb2 / ext4 errors=remount-ro 0 1 /swapfile none swap sw 0 0

File ini menunjukkan mount dengan tipe swap sebagai baris terakhir. Itu harus dihapus atau dikomentari sehingga swap tetap dinonaktifkan setelah sistem di-boot ulang.

Memuat Modul br_netfilter

Modul kernel br_netfilter diperlukan untuk mengaktifkan iptables untuk melihat lalu lintas yang dijembatani. Kubeadm tidak akan membiarkan Anda membuat cluster Anda ketika modul ini hilang.

Anda dapat mengaktifkannya dengan perintah berikut:

$ sudo modprobe br_netfilter

Buat bertahan setelah reboot dengan memasukkannya ke dalam daftar modul sistem Anda:

$ echo br_netfilter | sudo tee /etc/modules-load.d/kubernetes.conf

Membuat Cluster Anda

Anda siap membuat cluster Kubernetes. Jalankan kubeadm init pada mesin yang Anda inginkan untuk meng-host bidang kontrol Anda:

$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Bendera –pod-network-cidr disertakan sehingga alokasi CIDR yang benar tersedia ke addon jaringan Pod yang akan diinstal nanti. Nilai default 10.244.0.0/16 berfungsi dalam banyak kasus tetapi Anda mungkin harus mengubah rentang jika Anda menggunakan lingkungan jaringan yang sangat disesuaikan. Pembuatan

Cluster dapat memakan waktu beberapa menit untuk diselesaikan. Informasi kemajuan akan ditampilkan di terminal Anda. Anda akan melihat pesan ini setelah berhasil:

Control-plane Kubernetes Anda telah berhasil diinisialisasi!

Output juga mencakup informasi tentang cara mulai menggunakan cluster Anda.

Mempersiapkan File Kubeconfig Anda

Mulai dengan menyalin file Kubeconfig yang dibuat secara otomatis ke direktori .kube/config Anda sendiri . Sesuaikan kepemilikan file sendiri sehingga Kubectl dapat membaca isinya dengan benar.

$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $( id -u):$(id -g) $HOME/.kube/config

Menginstal Addon Jaringan Pod

Kubernetes memerlukan addon jaringan Pod untuk ada di cluster Anda sebelum node pekerja mulai beroperasi secara normal. Anda harus menginstal addon yang kompatibel secara manual untuk menyelesaikan instalasi Anda.

Calico dan Flannel adalah dua pilihan paling populer. Panduan ini menggunakan Flannel karena pengalaman instalasinya yang sederhana.

Gunakan Kubectl untuk menambahkan Flannel ke cluster Anda:

$ kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel. yml

Tunggu beberapa saat lalu jalankan kubectl get node di terminal Anda. Anda akan melihat tampilan Node Anda sebagai Ready dan Anda dapat mulai berinteraksi dengan cluster Anda.

$ kubectl get nodes 
NAMA STATUS PERAN VERSI USIA 
ubuntu22 Ready control-plane 7m19s v1.25.0

Jika Anda menjalankan kubectl get pods –all-namespaces, Anda harus lihat bahwa komponen control plane, CoreDNS, dan Flannel semuanya aktif dan berjalan:

$ kubectl get pods --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE kube-flannel kube-flannel-ds-xlrk6 1/1 Running 5 (16s yang lalu) 11m kube-system coredns-565d847f94-bzzkf 1/1 Berjalan 5 (2m9 detik yang lalu) 14m kube-system coredns-565d847f94-njrdc 1/1 Berjalan 4 (30 detik yang lalu) 14m kube-system etcd-ubuntu22 1/1 Berjalan 6 (113 detik yang lalu) 13m kube-system kube-apiserver-ubuntu22 1/1 Berjalan 5 (30 detik yang lalu) 16m kube-system kube-controller-manager-ubuntu22 1/1 Berjalan 7 (3m 59 detik yang lalu) 13m kube-system kube-proxy-r9g9k 1/1 Berjalan 8 (21 detik yang lalu) 14m kube-system kube-scheduler-ubuntu22 1/1 Berjalan 7 (30 detik yang lalu) 15m

Berinteraksi Dengan Cluster Anda

Sekarang Anda dapat mulai menggunakan Kubectl untuk berinteraksi dengan klaster Anda. Sebelum melanjutkan, hapus taint default pada node control plane Anda agar Pod dapat menjadwalkannya. Kubernetes mencegah Pod berjalan pada node control plane untuk menghindari pertengkaran sumber daya tetapi pembatasan ini tidak diperlukan untuk penggunaan lokal.

$ kubectl taint node ubuntu22 node-role.kubernetes.io/control-plane:NoSchedule- node/ubuntu22 untainted

Ganti ubuntu22 di perintah di atas dengan nama yang ditetapkan untuk node Anda sendiri.

Sekarang coba mulai Pod NGINX sederhana:

$ kubectl run nginx --image nginx:pod terbaru/nginx create

Ekspos dengan layanan NodePort:

$ kubectl expose pod/nginx --port 80 --type layanan NodePort/nginx terkena

Temukan port host yang dialokasikan untuk layanan:

$ kubectl get services 
NAMA JENIS CLUSTER-IP EXTERNAL-IP PORT(S) USIA 
kubernetes ClusterIP 10.96.0.1 443/TCP 18m nginx NodePort 10.106. 44.155 80:30647/TCP 27s

Port adalah 30647. Permintaan HTTP ke titik akhir ini sekarang harus mengeluarkan halaman arahan NGINX default sebagai tanggapan:

$ curl http://localhost:30647 
Kami lcome to nginx!

Kluster Kubernetes Anda berfungsi!

Menambahkan Node

lainUntuk mengonfigurasi node pekerja tambahan, pertama ulangi semua langkah di bagian hingga “Membuat Cluster Anda” pada setiap mesin yang ingin Anda gunakan. Setiap Node akan membutuhkan containerd, Kubeadm dan Kubelet yang diinstal. Anda juga harus memeriksa node Anda memiliki konektivitas jaringan penuh ke mesin yang menjalankan control plane Anda.

Next jalankan perintah berikut pada node pekerja baru Anda:

kubeadm join 192.168.122.229:6443 –node-name node-b –token –discovery-token-ca-cert-hash sha256:

Ganti alamat IP dengan node bidang kontrol Anda. Nilai dari dan akan ditampilkan saat Anda menjalankan kubeadm init untuk membuat bidang kontrol Anda. Anda dapat mengambilnya menggunakan langkah-langkah berikut.

Token

Run daftar token kubeadm pada node bidang kontrol. Nilai token akan ditampilkan di kolom TOKEN.

$ kubeadm daftar token TOKEN TTL KEDALUWARSA PENGGUNAAN DESKRIPSI GRUP TAMBAHAN lkoz6v.cw1e01ckz2yqvw4u 23h 2022-09-14T19:35:03Z otentikasi,signing

Token CA Cert Hash

Jalankan perintah ini dan gunakan outputnya nilai:

$ openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed `s/^.* //`

Bergabung dengan Cluster

Perintah kubeadm join akan menghasilkan output ini setelah berhasil:

$ kubeadm join 192.168.122.229:6443 –node-name node-b –token –discovery- token-ca-cert-hash sha256: [kubelet-start] Memulai kubelet[kubelet-start] Menunggu kubelet melakukan Bootstrap TLS… Node ini telah bergabung dengan cluster: * Permintaan penandatanganan sertifikat telah dikirim ke apiserver dan sebuah tanggapan diterima. * Kubelet telah diberitahu tentang detail koneksi aman yang baru. Jalankan `kubectl get nodes` pada control-plane untuk melihat node ini bergabung dengan cluster.

Verifikasi node bergabung dengan cluster dan siap menerima Pod dengan menjalankan kubectl get nodes perintah:

$ kubectl get nodes NAMA STATUS PERAN AGE VERSION node -b Ready 91s v1.25.0 ubuntu22 Ready control-plane 100m v1.25.0

Node muncul dalam daftar dan berstatus Ready sebagai statusnya. Ini berarti ia beroperasi dan Kubernetes dapat menjadwalkan Pod ke dalamnya.

Summary

Menyiapkan Kubernetes mungkin tampak menakutkan, tetapi Kubeadm mengotomatiskan sebagian besar bit sulit untuk Anda. Meskipun masih ada beberapa langkah yang harus diselesaikan, Anda tidak akan mengalami masalah jika Anda memastikan prasyarat terpenuhi sebelum memulai.

Kebanyakan masalah terjadi karena tidak ada runtime container yang tersedia, modul kernel br_netfilter tidak ada, swap diaktifkan, atau kebutuhan untuk menyediakan addon jaringan Pod telah diabaikan. Pemecahan masalah harus dimulai dengan memeriksa kesalahan umum ini.

Kubeadm memberi Anda versi terbaru Kubernetes langsung dari proyek itu sendiri. Distribusi alternatif tersedia yang memungkinkan Anda memulai cluster node tunggal dengan satu perintah. Minikube, MicroK8s, dan K3s adalah tiga opsi populer. Meskipun ini biasanya lebih mudah untuk diatur dan ditingkatkan, semuanya memiliki sedikit perbedaan dibandingkan dengan Kubernetes upstream. Menggunakan Kubeadm membuat Anda lebih dekat dengan cara kerja internal Kubernetes dan dapat diterapkan ke berbagai lingkungan.

Itulah berita seputar Cara Memulai Cluster Kubernetes Dari Awal Dengan Kubeadm dan Kubectl, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Inilah Cara Tarik Saldo Cool Lady, Game Penghasil Uang yang Lagi Viral dan Terbukti Membayar!
  • Inilah Kode Redeem Drag Drive Simulator April 2026, Simak Trik Rahasia Biar Menang Balapan Terus!
  • Inilah Little Finder Guy, Strategi Unik Apple yang Bikin MacBook Neo Jadi Viral di Media Sosial
  • Inilah Yang Baru di Minecraft Java Edition 26.1.1, Perubahan Mob Bayi Jadi Lebih Realistis dan Fitur Baru yang Bikin Gameplay Makin Seru!
  • Inilah Cara Bayar UKT UIN Sunan Kalijaga 2026 Lewat Kode Bayar Biar Nggak Bingung Lagi!
  • Inilah Syarat Penting Surat Keterangan Kelas 12 UTBK 2026 dan Contohnya
  • Belum Tahu? Inilah Cara Bayar UTBK SNBT 2026 Online Biar Nggak Ketinggalan Jadwal!
  • Inilah Kebenaran Kasus Bayu, Siswa yang Viral Katanya Dilengserkan dari Ketua OSIS Gegara Kritik Makan Bergizi Gratis
  • Inilah 4 Cara Jitu Jualan Produk Digital Pakai Google, Dijamin Cuan Terus!
  • Inilah Sinopsis dan Jadwal Tayang Drakor Perfect Crown, Kisah Pernikahan Kontrak IU dan Byun Woo-seok yang Menarik untuk Disimak!
  • Inilah Rekomendasi Game Tata Kota Terbaik di Linux yang Seru Banget Buat Dimainkan
  • Inilah Cara Dapat Saldo Cool Lady Tanpa Undang Teman, Ternyata Begini Trik Rahasianya!
  • Inilah Cara Main Watermelon Merge Fun Biar Dapat Saldo DANA, Apakah Benaran Membayar?
  • Inilah Kenapa Stok Penarikan Free Reels Sering Habis dan Cara Mengatasinya Agar Saldo Cair!
  • Inilah Alasan Kenapa Telat Lapor SPT 2026 Nggak Bakal Kena Denda, Cek Aturan Lengkapnya!
  • Inilah Cara Mematikan Koreksi Otomatis di WhatsApp Agar Nggak Salah Ketik Lagi
  • Apa itu Bujang Inam? Inilah Alasan Kenapa Kata Ini Jadi Makian Paling Kasar dalam Budaya Medan dan Batak!
  • Inilah Kenapa Link FF Kipas My ID Verify UID Beta Testing Sering Gagal dan Cara Menghadapinya
  • Gini Caranya Mulai Dropshipping Pake AI di Tahun 2026, Auto Cuan Tanpa Ribet!
  • Baterai Smartwatch Boros? Inilah Caranya Biar Baterai Smartwatch Kalian Bisa Awet Berhari-hari!
  • Belum Tahu? Inilah Fakta Cahaya Misterius di Lampung yang Ternyata Sampah Roket China CZ-3B!
  • Inilah Roblox Mod APK 2026, Fitur Premium Jadi Gratis dan Cara Pasangnya yang Perlu Kalian Tahu!
  • Inilah Panduan Lengkap UTUL UGM 2026, Cari Tahu Jadwal, Biaya Pendaftaran, Sampai Info Uang Pangkal IPI di Sini!
  • Inilah IGRS di Roblox dan Steam, Ternyata Ini Alasan Komdigi Kasih Aturan Ketat!
  • Inilah Makna Mendalam Regina Caeli: Kenapa Umat Katolik Wajib Doa Ratu Surga Selama Masa Paskah?
  • Inilah Kronologi Lengkap Kecelakaan Truk TNI di Kalideres: Simak Fakta dan Status Sopirnya Sekarang!
  • Inilah Rahasia Ambil Ide Youtube Lain, Tapi Konten Kalian Nggak Terlihat Membosankan
  • Studi Kasus SEO: Ellevest Dapat 14 Ribu Pengunjung Organik Per Bulan dengan Strategi SEO Niche dan Otomasi AI
  • Inilah Rahasia ReciMe, Potensi Sukses dari Aplikasi Resep Sederhana
  • Perkuat Kemandirian Industri Alat Kesehatan Nasional, Astra Komponen Indonesia Hadirkan Alat Kesehatan Berbasis Teknologi Digital
  • Is it Time to Replace Nano? Discover Fresh, the Terminal Text Editor You Actually Want to Use
  • How to Design a Services Like Google Ads
  • How to Fix 0x800ccc0b Outlook Error: Step-by-Step Guide for Beginners
  • How to Fix NVIDIA App Error on Windows 11: Simple Guide
  • How to Fix Excel Formula Errors: Quick Fixes for #NAME
  • How to Use Orbax Checkpointing with Keras and JAX for Robust Training
  • How to Automate Any PDF Form Using the Power of Manus AI
  • How to Training Your Own YOLO26 Object Detection Model!
  • How to Build a Full-Stack Mobile App in Minutes with YouWare AI
  • How to Create Consistent Characters and Cinematic AI Video Production with Seedance
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme