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

  • Inilah Caranya Daftar SMA Unggul Garuda Baru 2026 yang Diperpanjang, Cek Syarat dan Link Resminya!
  • Cara Cek Pencairan KJP Plus Tahap 1 Januari 2026 Beserta Daftar Nominal Lengkapnya
  • Lengkap! Inilah Kronologi Meninggalnya Vidi Aldiano Berjuang Melawan Kanker
  • Inilah Cara Tarik Data PKH di EMIS 4.0 Agar Bantuan Siswa Tetap Cair!
  • Inilah Trik Jitu SEO Shopee untuk Pemula: Jualan Laris Manis Tanpa Perlu Bakar Duit Iklan!
  • Inilah Peluang Emas Jadi Karyawan BUMN Tanpa Ngantre: Program Ikatan Kerja ULBI 2026
  • Inikah Daftar CPNS Kemenkeu 2026? Cek 48 Jurusan yang Paling Dibutuhkan!
  • Inilah 4 Beasiswa Khusus Warga ASEAN dengan Peluang Lolos Lebih Tinggi, Kalian Wajib Tahu!
  • Inilah Alasan Ribuan Dosen ASN Melayangkan Surat Keberatan Soal Tukin 2020-2024 yang Belum Cair
  • Cara Dapat Diamond Free Fire Gratis 2026, Pemain FF Harus Tahu!
  • Inilah Cara Mengisi Presensi EMIS GTK IMP 2026 Terbaru Biar Tunjangan Lancar
  • Inilah Trik Hashtag Viral Supaya Video Shorts Kalian Nggak Sepi Penonton Lagi
  • Inilah Jawabannya, Apakah Zakat Fitrah Kalian Bisa Mengurangi Pajak Penghasilan?
  • Inilah Caranya Supaya Komisi TikTok dan Shopee Affiliate Tetap Stabil Pasca Ramadhan!
  • Inilah 10 Kesalahan Fatal Saat Beli Properti yang Bisa Bikin Kalian Bangkrut!
  • Belum Tahu Cara Masuk Simpatika Terbaru? Ini Cara Login PTK EMIS GTK IMP 2026 Supaya Cek TPG Jadi Lebih Gampang!
  • Inilah Cara Bikin Konten Animasi AI Cuma Modal HP Supaya Bisa Gajian Rutin dari YouTube
  • Inilah Alasan Kenapa Zakat ke Ormas yang Belum Diakui Negara Nggak Bisa Dipakai Buat Ngurangin Pajak!
  • Inilah Cara Belanja di Indomaret Pakai Shopee PayLater yang Praktis dan Bikin Hemat!
  • Inilah 10 Jurusan Terfavorit di Universitas Negeri Semarang Buat SNBT 2026, Saingannya Ketat Banget!
  • Belum Tahu? Inilah Cara Mudah Membuat Akun dan Login EMIS GTK IMP 2026 yang Benar!
  • Cara Dapat Kode Kartu Hadiah Netflix Gratis Tanpa Ribet
  • Inilah Caranya Dapet Bukti Setor Zakat Resmi dari NU-Care LazisNU Buat Potong Pajak di Coretax!
  • Inilah 10 Jurusan Terfavorit di Universitas Brawijaya Buat SNBT 2026, Saingannya Ketat Banget!
  • Inilah Cara Terbaru Login dan Ubah Password Akun PTK di EMIS GTK IMP 2026
  • Inilah Batas Maksimal Zakat untuk Pengurang Pajak, Ternyata Begini Aturannya!
  • Inilah Cara Mengenali Aplikasi Bodong Penghasil Uang Agar Kalian Nggak Jadi Korban Penipuan Digital
  • Apa itu Error Kode LADK3 saat Buka Rekening Brimo? Dan Solusinya!
  • BOHONG??? Inilah Rincian Anggaran Makan Bergizi Gratis, Ternyata Uang Bahan Makanannya Nggak Sampai Rp15.000!
  • Inilah Tugas Proktor Ujian TKA SD/SMP 2026, Baca Dulu Ada Yang Beda!
  • How to Remove Underlines from Links in Outlook
  •  How to Fix Microsoft 365 Deployment Tool Not Working: A Complete Troubleshooting Guide
  •  How to Fix Windows 11 ISO Download Blocked and Error Messages
  • How to Make Your Website Vibrate with Web Haptics
  • Measuring LLM Bullshit Benchmark
  • How to Launching Production-Ready Agents with Google Antigravity and AI Studio
  • How to Automate Your Business Intelligence with Google Antigravity and NotebookLM
  • The Secret Reason Seedance 2.0 is Realistic
  • Exploring Microsoft Phi-4 Reasoning Vision 15B
  • Gemini 3.1 Flash-Lite Released: How to Master Google’s Fastest AI Model for Real-World Projects
  • 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