Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Menjalankan Cluster Kubernetes Di Docker Dengan K3d

Posted on September 16, 2022

K3d adalah pembungkus sumber terbuka di sekitar distribusi Kubernetes Rancher/SUSE K3s yang memungkinkan Anda menjalankan bidang kontrol di dalam Docker. Seluruh tumpukan berjalan di Docker, memberi Anda kluster terkemas sepenuhnya yang ringan dan mudah disiapkan.

Meskipun K3s dirancang untuk berbagai alur kerja, K3d lebih berfokus secara khusus pada situasi pengembangan di mana Anda sudah menggunakan Docker. Ini memungkinkan Anda menjalankan klaster Kubernetes di host Docker yang ada tanpa menjalankan mesin virtual atau layanan sistem lainnya.

Artikel ini akan menunjukkan kepada Anda cara memulai dan menjalankan klaster K3d sederhana. Anda memerlukan Kubectl dan Docker v20.10.5 atau yang lebih baru yang sudah terinstal di sistem Anda sebelum memulai. K3d bekerja di Linux, Mac (termasuk melalui Homebrew), dan Windows (melalui Chocolatey). Panduan ini berfokus pada penggunaan dengan Linux; Petunjuk penginstalan k3d CLI untuk platform lain tersedia di dokumentasi.

Menginstal K3d CLI

K3d CLI menyediakan perintah manajemen untuk membuat dan mengelola klaster Anda. Anda dapat menemukan CLI terbaru di GitHub atau menjalankan skrip instalasi untuk secara otomatis mendapatkan unduhan yang benar untuk sistem Anda.

$ curl -s https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash

Skrip menyimpan biner k3d ke direktori /usr/local/bin Anda. Coba jalankan perintah k3d version untuk memeriksa instalasi Anda berhasil:

$ k3d version k3d version v5.4.6 k3s version v1.24.4-k3s1 (default)

Membuat Cluster

K3d CLI menyediakan perintah pembuatan cluster untuk membuat dan memulai cluster baru secara otomatis:

$ k3d cluster create INFO[0000] Persiapan: Network INFO[0000] Membuat jaringan `k3d-k3s-default` INFO[0000] Membuat volume gambar k3d-k3s-default-images INFO[0000] Memulai node alat baru… INFO[0001] Membuat simpul `k3d-k3s-default-server-0` INFO[0001] Menarik gambar `ghcr.io/k3d-io/k3d-tools:5.4.6` INFO[0002] Menarik gambar `docker.io /rancher/k3s:v1.24.4-k3s1` INFO[0002] Memulai Node `k3d-k3s-default-tools` INFO[0008] Membuat LoadBalancer `k3d-k3s-default-serverlb` INFO[0009] Menarik gambar `ghcr. io/k3d-io/k3d-proxy:5.4.6` INFO[0012] Menggunakan node k3d-tools untuk mengumpulkan informasi lingkungan INFO[0012] HostIP: using network gateway 172.25.0.1 alamat INFO[0012] Memulai cluster `k3s- default` INFO[0012] Memulai server… INFO [0012] Memulai Node `k3d-k3s-default-server-0` INFO[0016] Semua agen sudah berjalan. INFO[0016] Memulai helper… INFO[0016] Memulai Node `k3d-k3s-default-serverlb` INFO[0022] Menyuntikkan record untuk hostAliases (termasuk host.k3d.internal) dan untuk 2 anggota jaringan ke dalam peta konfigurasi CoreDNS. .. INFO[0025] Cluster `k3s-default` berhasil dibuat! INFO[0025] Sekarang Anda dapat menggunakannya seperti ini: kubectl cluster-info

Kluster akan diberi nama k3s-default ketika Anda menjalankan perintah tanpa argumen apa pun. Tetapkan nama Anda sendiri dengan memasukkannya sebagai argumen pertama perintah:

$ k3d cluster create demo ...

K3d secara otomatis memodifikasi file konfigurasi Kubernetes Anda (.kube/config) untuk menyertakan koneksi ke cluster baru Anda. Ini menandai koneksi sebagai default sehingga perintah kubectl sekarang akan menargetkan lingkungan K3d Anda.

$ kubectl cluster-info

Control plane Kubernetes berjalan di https://0.0.0.0:42879 CoreDNS berjalan di https://0.0.0.0: 42879/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy Metrics-server berjalan di https://0.0.0.0:42879/api/v1/namespaces/kube-system/services/https :metrics-server:https/proxy

Menjalankan docker ps akan menunjukkan dua kontainer telah dimulai, satu untuk K3 dan satu lagi untuk proksi K3d yang meneruskan lalu lintas ke cluster Anda:

$ docker ps CONTAINER ID IMAGE COMMAND NAMA PORT STATUS YANG DIBUAT 9b6b610ad312 ghcr.io/ k3d-io/k3d-proxy:5.4.6 “/bin/sh -c nginx-pr…” 3 menit yang lalu Naik 3 menit 80/tcp, 0.0.0.0:42879->6443/tcp k3d-k3s-default -serverlb 842cc90b78bf rancher/k3s:v1.24.4-k3s1 “/bin/k3s server –t…” 3 menit yang lalu Naik 3 menit k3d-k3s-default-server-0

Menggunakan Cluster Anda

Gunakan perintah Kubectl yang sudah dikenal untuk berinteraksi dengan cluster Anda dan men-deploy Pod Anda:

$ kubectl run nginx --image nginx:latest pod/nginx created 
$ kubectl expose pod/nginx --port 80 --type service NodePort/nginx terkena

Untuk mengakses server NGINX Anda, pertama-tama temukan alamat IP yang ditetapkan untuk Kubernetes Anda Node:

$ kubectl dapatkan node -o lebar NAMA STATUS PERAN USIA VERSI INTERNAL-IP EKSTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER- RUNTIME k3d-k3s-default-server-0 Pesawat kontrol siap, master 102s v1.24.4+k3s1 172.27.0.2 K3s dev 5.4.0-125-generic containerd://1.6.6-k3s1

IP yang benar untuk digunakan adalah 172.27. 0.2.

Selanjutnya temukan NodePort yang ditetapkan untuk layanan nginx Anda:

$ kubectl get services

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.43.0.1 443/TCP 5 m49s nginx NodePort 10.43.235.233 80:31214/TCP 1s

Nomor port yang terbuka adalah 31214. Membuat permintaan ke 172.17.0.2:31214 akan mengeluarkan halaman selamat datang NGINX default:

$ curl http://172.17.0.2:31214

Selamat datang di nginx ! …

Anda bisa mendapatkan panduan lebih lanjut tentang mengekspos layanan dan menyiapkan jaringan Ingress dalam dokumentasi K3d.

Mengaktifkan Bendera K3s

Perintah pembuatan klaster membungkus proses pembuatan klaster K3s standar. Anda dapat meneruskan argumen ke K3 dengan menyediakan flag –k3s-arg. Nilai flag harus berupa argumen yang akan disertakan saat K3d memanggil biner K3s.

$ k3s cluster create --k3s-arg "--disable=traefik"

Contoh ini menginstruksikan K3 untuk menonaktifkan komponen Traefik bawaannya.

Mengakses Layanan yang Berjalan di Host

Beberapa beban kerja yang Anda jalankan di K3d mungkin perlu mengakses layanan yang sudah berjalan di host Docker Anda. K3d menyediakan nama host yang disebut host.k3d.internal dalam konfigurasi DNS default-nya. Ini akan secara otomatis menyelesaikan ke mesin host Anda. Anda dapat mereferensikan nama host khusus ini di dalam Pod Anda untuk mengakses database yang ada, berbagi file, dan API lain yang berjalan di luar Kubernetes.

Menggunakan Gambar Docker Lokal

Kluster K3d/K3s Anda tidak dapat mengakses image Docker lokal Anda. Cluster dan semua komponennya berjalan di dalam Docker. Mencoba menggunakan gambar pribadi yang hanya ada di host akan gagal dan melaporkan kesalahan.

Ada dua cara untuk menyelesaikan ini: dorong gambar Anda ke registri, atau gunakan fitur impor gambar K3d untuk menyalin gambar lokal ke dalam cluster Anda. Metode pertama umumnya lebih disukai karena memusatkan penyimpanan gambar Anda dan memungkinkan Anda mengakses gambar dari lingkungan apa pun. Namun, saat menguji perubahan lokal dengan cepat, Anda mungkin ingin langsung mengimpor gambar yang baru saja Anda buat:

$ k3d image import demo-image:latest

Perintah ini akan membuat demo-image:latest tersedia di dalam cluster Anda.

K3d juga dapat membuat dan mengekspos registri gambar untuk Anda. Registri paling baik dibuat bersama cluster Anda karena K3d kemudian dapat secara otomatis mengonfigurasi akses cluster:

$ k3d cluster create --registry-create demo-registry

Ini memulai cluster baru dengan registri yang disebut demo-registry. Registri akan berjalan dalam wadah Docker-nya sendiri. Anda dapat menemukan nomor port tempat registri terbuka dengan menjalankan docker ps -f name=-registry, di mana nama cluster Anda. Mendorong image ke registry ini akan membuatnya dapat diakses oleh Pod di cluster.

$ tag docker Anda demo-image:latest k3d-demo-registry.localhost:12345/demo-image:latest 
$ docker push k3d-demo-registry.localhost: 12345/demo-image:latest

Anda juga dapat membuat registry sesuai permintaan, tetapi Anda harus mengonfigurasi ulang cluster secara manual untuk menyediakan detail koneksi.

Menghentikan Cluster

Cluster K3d Anda akan terus berjalan hingga Anda menghentikannya sendiri. Perintah cluster stop berhenti menjalankan container Docker sambil mempertahankan data cluster Anda:

$ k3d cluster stop k3s-default

Mulai ulang cluster Anda di masa mendatang menggunakan perintah cluster start:

$ k3d cluster start k3s-default

Menghapus Cluster Anda

Anda dapat menghapus cluster kapan saja dengan menjalankan perintah hapus cluster dan berikan namanya. Ini akan menghapus semua jejak cluster, menghapus wadah Docker dan volume yang menyediakannya. Menghapus semua cluster Anda akan membawa host Anda kembali ke kondisi yang bersih dengan hanya menginstal K3d CLI.

$ cluster k3d delete k3s-default INFO[0000] Menghapus cluster `k3s-default` INFO[0001] Menghapus jaringan cluster `k3d-k3s -default` INFO[0001] Menghapus 2 volume terlampir… INFO[0001] Menghapus detail cluster dari kubeconfig default… INFO[0001] Menghapus file kubeconfig mandiri (jika ada)… INFO[0001] Berhasil dihapus cluster k3s-default!

Proses penghapusan secara otomatis menghapus referensi ke cluster dari Kubeconfig.

K3d memungkinkan Anda menjalankan cluster Kubernetes dalam container. Ini menyediakan lingkungan K3 yang lengkap di mana pun Docker tersedia. K3d mendukung banyak node, memiliki dukungan terintegrasi untuk pendaftar gambar, dan dapat digunakan untuk membuat cluster yang sangat tersedia dengan beberapa bidang kontrol.

Pengembang yang sudah menjalankan Docker dapat menggunakan K3d untuk menambahkan Kubernetes dengan cepat ke lingkungan kerja mereka. K3d ringan, mudah dikelola, dan tidak menambahkan layanan sistem lain ke mesin Anda. Ini menjadikannya pilihan yang bagus untuk penggunaan lokal tetapi ketergantungannya pada Docker berarti mungkin tidak cocok untuk host produksi di mana Anda tidak ingin menambahkan ketergantungan lain. Distribusi Kubernetes lainnya seperti Minikube, Microk8s, dan K3 biasa semuanya merupakan alternatif yang layak.

Itulah berita seputar Menjalankan Cluster Kubernetes Di Docker Dengan K3d, semoga bermanfaat. Disadur dari HowToGeek.com.

Terbaru

  • Belum Tahu Apa Itu Store Associate? Inilah Tugas, Tanggung Jawab, dan Bocoran Gajinya Secara Lengkap
  • Inilah Aturan Saldo Minimal BNI Biar Rekening Kalian Nggak Hangus
  • Apakah Screenshot Story WA Ada Notifnya atau Nggak!
  • Inilah Cara Langganan YouTube Music Premium 2026 Khusus Pelajar Agar Kantong Nggak Jebol!
  • Inilah Kumpulan Ide Bio WhatsApp Keren dan Aesthetic Biar Profil Kalian Makin Hits!
  • Sering Ditolak Pinjaman? Ini Trik Supaya Nama Kalian Bersih dari Blacklist BI Checking
  • Cara Munculin Tanda Love Merah di Story IG, Ternyata Ini Rahasianya!
  • Inilah Cara Transfer DANA ke DANA Tanpa Verifikasi KTP yang Praktis dan Aman!
  • 02129187000 Nomor Apa? Simak Penjelasan Lengkap dan Cara Blokirnya Biar Nggak Terganggu Lagi
  • Sering Ditelepon 14010? Jangan Panik, Inilah Penjelasan Lengkap Mengenai Siapa Pemilik Nomor Tersebut!
  • 818 Nomor Apa, Jangan Langsung Dimatiin Kalau XL Lagi Telepon!
  • 1500597 Nomor Telepon Apa? Ini Dia Jawaban Lengkap dan Cara Menghadapinya!
  • 1500877 Nomor Apa? Ternyata Ini Pemilik Nomor yang Sering Telepon Kalian!
  • Cara Berhenti Langganan Melolo Biar Saldo Dana Nggak Terus-terusan Kepotong Otomatis!
  • Inilah Trik Mengatasi Riwayat Pendidikan yang Hilang di Info GTK Supaya Tetap Valid!
  • Inilah Cara Mengaktifkan & Mematikan Opsi Pengembang HP Samsung dengan Mudah!
  • Inilah Jam Berapa Gaji Payroll Masuk ke Rekening dan Kenapa Bisa Telat
  • Caranya Cek Nomor Kartu ATM Mandiri Lewat Email, Praktis Banget Buat Transaksi Online!
  • Gini Caranya Atasi Rombel 0 dan Siswa 0 di Info GTK, Ternyata Nggak Ribet Kok!
  • Coretax 2026: Inilah Alasan Kenapa Bukti Potong A1 Kalian Sekarang Nggak Nihil Lagi
  • Inilah Cara Atasi Masalah Akun dan Sinkron Dapodik 2026 Terbaru
  • Inilah Cara Mengatasi Notifikasi Gagal Didaftarkan Saat Mutasi Dapodik 2026
  • Cara Daftar NPWP Online Lewat HP di CoreTax Khusus Affiliator
  • Inilah Cara Bikin Foto Buram Jadi HD di Remini Web Tanpa Instal Aplikasi
  • Inilah Cara Update Data SIMSarpras 2026 Supaya Madrasah Kalian Cepat Dapat Bantuan!
  • Ini Panduan Ringkas Penyelenggaraan TKA 2026 Dengan Fasilitas Terbatas
  • Mau Tarik Saldo Rp700 Ribu di Free Drama tapi Stuck? Ini Cara Cepat Tembus Level 30!
  • Belum Tahu? Ini Trik Checkout Tokopedia Bayar Pakai Dana Cicil Tanpa Ribet!
  • Benarkah Pinjol Akulaku Sebar Data Jika Gagal Bayar?
  • Paket Nyangkut di CRN Gateway J&T? Tidak Tahu Lokasinya? Ini Cara Mencarinya!
  • How to Secure Your Moltbot (ClawdBot): Security Hardening Fixes for Beginners
  • Workflows++: Open-source Tool to Automate Coding
  • MiroThinker-v1.5-30B Model Explained: Smart AI That Actually Thinks Before It Speaks
  • PentestAgent: Open-source AI Agent Framework for Blackbox Security Testing & Pentest
  • TastyIgniter: Open-source Online Restaurant System
  • Tutorial Membuat Sistem Automatic Content Recognition (ACR) untuk Deteksi Logo
  • Apa itu Google Code Wiki?
  • Cara Membuat Agen AI Otomatis untuk Laporan ESG dengan Python dan LangChain
  • Cara Membuat Pipeline RAG dengan Framework AutoRAG
  • Contoh Sourcecode OpenAI GPT-3.5 sampai GPT-5
  • 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 Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

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