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

  • Apa itu Aturan Waktu Futsal dan Extra Time di Permainan Futsal?
  • Contoh Jawaban Refleksi Diri “Bagaimana Refleksi tentang Praktik Kinerja Selama Observasi Praktik Kinerja”
  • Main Telegram Dapat Uang Hoax atau Fakta?
  • Apa itu Lock iCloud? Ini Artinya
  • Integrasi KBC dan PM di Madrasah? Ini Pengertian dan Contoh Praktiknya
  • Ini Trik Input Pelaksana PBJ di Dapodik 2026.C Biar Info GTK Langsung Valid dan Aman!
  • Apa Maksud Hukum Dasar yang Dijadikan Pegangan dalam Penyelenggaraan Suatu Negara? Ini Jawabannya
  • Apakah Apk Puskanas Penipuan?
  • Inilah 10 Alternatif Mesin Pencari Selain Yandex yang Anti Blokir dan Aman Digunakan
  • Caranya Supaya WhatsApp Nggak Kena Spam Terus Meski Sudah Ganti Nomor, Ternyata Ini Rahasianya!
  • Jangan Tergiur Harga Murah! Inilah Deretan Risiko Fatal Membeli iPhone Lock iCloud
  • Mudik Gratis Pemprov Jateng 2026? Ini Pengertian dan Alur Lengkapnya
  • Inilah Cara Cek KIS Aktif Atau Tidak Lewat HP dan Solusi Praktis Jika Kepesertaan Nonaktif
  • Apa tiu Keberagaman? dan Kenapa Kita Butuh Perbedaan
  • Inilah Rekomendasi Tablet RAM 8 GB Paling Murah 2026 Buat Kerja dan Kuliah!
  • Ini Bocoran Honorable Mention TOTY FC Mobile OVR 117 dan 34 Kode Redeem Paling Baru!
  • Inilah Cara Memilih Smartband GPS Terbaik Biar Olahraga Kalian Makin Efektif!
  • Cara Cek Garansi iPhone dengan Benar, Penting Banget Buat yang Mau Beli HP Baru atau Bekas!
  • Inilah Infinix Note 60 Pro, HP Midrange yang Punya Desain Mirip iPhone dan Fitur Unik ala Nothing Phone!
  • Cara Mengatasi Digi Bank BJB Error dan Nggak Bisa Dibuka!
  • Inilah Kronologi & Kenapa Link Video Viral Andira McQueen di Dalam Mobil yang Bikin Geger Netizen Makassar
  • Cara Input Dapodik 2026 Biar Sekolah Masuk Prioritas Revitalisasi 2026
  • Apa Itu Kurikulum Berbasis Cinta (KBC)? Ini Penjelasan dan Cara Penerapannya
  • Inilah Cara Mengurus SKTM KIP Kuliah 2026 yang Benar Agar Lolos Seleksi!
  • Kapan Waktu Resmi Jam Maintenance Livin Mandiri?
  • WiFi Sudah Nyambung Tapi Internet Kok Nggak Jalan? Ini Cara Supaya Koneksi Kalian Lancar Lagi!
  • Inilah Kumpulan Cheat GTA San Andreas Terlengkap 2026!
  • Belum Kebagian Tiket Mudik? Inilah Bocoran Jadwal Tiket Kereta Tambahan Lebaran 2026!
  • Apa itu Pengertian Web Scraping?
  • Cara Isi Instrumen Pengelolaan Pengawas TKA Lancar Jaya Tanpa Masalah
  • How to Fix OpenGL 2.1 Errors: What You Need to Know
  • pGrok: Personal Ngrok Alternative with Dashboard & HTTP Request Inspect
  • Is the Raspberry Pi Still an Affordable SBC? 2026 Update
  • How to Launch Your Own Cloud Hosting Platform with ClawHost
  • Notepad Remote Code Execution CVE-2026-20841 Explained
  • Prompt AI untuk Merancang Karakter Brand yang Ikonik
  • Prompt AI Audit Konten Sesuai Karakter Brand
  • Prompt AI Merubah Postingan LinkedIn Jadi Ladang Diskusi dengan ChatGPT
  • Prompt AI: Paksa Algoritma LinkedIn Promosikan Konten Kalian
  • Inilah Cara Bikin Postingan Viral Menggunakan AI
  • 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
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

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