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

  • Apa Itu Google CC? Ini Pengertian Agen Produktivitas AI Eksperimental Terbaru
  • Apa Itu Ultras Seblak di eSport? Pengertian dan Fenomena Baru Suporter eSport
  • Android 16: Animasi Folder Baru yang Mengubah Cara Kita Berinteraksi!
  • Android 16: Notifikasi Lokasi ‘Blue Dot’ – Fitur Baru yang Perlu Kalian Ketahui!
  • Apa Itu Risiko Auto Click di Event Spongebob Mobile Legends? Ini Penjelasannya
  • Apa Itu Fitur Eksperimental Windows? Ini Pengertian dan Cara Menonaktifkannya
  • Apa Itu Android 16 Beta 1? Ini Pengertian dan Fitur Terbarunya
  • Belum Tahu? Ini Trik Supaya Bisa Dapat Skin Patrick Mobile Legends dengan Harga Murah
  • Pixel Desember 2025: Update Besar Siap Meluncur, Apa yang Baru?
  • Apa Itu HYFE XL Prioritas? Ini Pengertian, FUP, dan Realita Kecepatannya
  • Pengertian Render dan Convert: Apa Bedanya dalam Video Editing?
  • Cara Mengatasi Aplikasi Office yang Terus Muncul dan Menerapkan Perubahan Pengaturan Privasi
  • Pixel Launcher Mendapatkan Sentuhan Google Search Baru!
  • Penyebab Aplikasi Wondr BNI Tidak Bisa Dibuka
  • Kode 0425 Daerah Mana? Ini Pengertian dan Fakta Sebenarnya
  • Apa Itu SSS CapCut? Pengertian Downloader Video Tanpa Watermark yang Wajib Kalian Tahu
  • Apa Itu Paket GamesMAX Telkomsel? Ini Pengertian dan Fungsinya Bagi Gamers
  • Apa Itu Menu Plus di Google Search? Ini Pengertian dan Fungsinya
  • Apa Itu Lepas Kolpri? Ini Pengertian dan Fenomenanya di Dunia Gaming
  • Pixel Buds Pro Dapat Update Software dengan Dukungan ANC Adaptif dan Peningkatan Audio
  • Mous Pixel Watch 4 Akan Hadir dengan Charger Baru dan Fitur-Fitur Terbaru
  • Hati-hati, Video Asli Botol Golda Viral Season 4 Full 6.30 Menit, Cek Link dan Faktanya disini!
  • Google Docs Dapat Update Material 3 dan Desain Ekspresif Baru, Fokus pada Kreativitas dan Kolaborasi
  • Belum Tahu? Ini Trik Hitung Cost Per Gigabyte Supaya Gak Boncos Saat Beli Paket Internet
  • Apple TV dan Google Cast Akan Terintegrasi Lebih Dalam, Tawarkan Pengalaman Streaming yang Lebih Baik
  • Lagi Rame Botol Golda Viral 19 Detik? APA ITU? Jangan Asal Klik Link Sembarangan, Ini Bahayanya!
  • Apa itu Regedit FF Auto Headshot 100 No Password 2024? Simak Definisi dan Cara Kerjanya
  • Apa Itu KPH dan MPH? Pengertian dan Perbedaannya di Game Balap
  • Belum Tahu? Inilah Cara Aman Quotex Login dan Solusi Kalau Error!
  • Apa Itu Fitur Gestur Baru di Pixel Watch 4? Ini Pengertian dan Perbedaannya
  • Apa Itu Platform Modular Intel Alder Lake N (N100)? Ini Pengertian dan Spesifikasinya
  • Apa Itu Armbian Imager? Pengertian Utilitas Flashing Resmi untuk Perangkat ARM Kalian
  • Apa Itu OpenShot 3.4? Pengertian dan Fitur LUT Terbaru untuk Grading Warna
  • Flatpak 1.16.2: Sandbox Baru untuk GPU Intel Xe dan VA-API
  • Apa Itu EmmaUbuntu Debian 6? Pengertian Distro Ringan Berbasis Trixie untuk PC Lawas
  • Apa Itu Nemotron-3 Nano? Pengertian Model Bahasa Ringkas dan Hasil Uji Cobanya
  • Prompt AI Dapur Aestetik
  • Prompt AI Suami Istri Bawa Terong
  • Prompt AI Touring Motor di Stadion GBK
  • Prompt AI Foto Jadul Kebaya Merantau Belanda
  • Apa Itu Surat Panggilan Polisi yang Sah? Ini Ciri-Ciri dan Contohnya
  • Apa Itu Serangan Kredensial IAM (IAM Credential Attack)? Ini Pengertian dan Risiko Fatalnya
  • Apa Itu Serangan Malware Kloning Aplikasi? Ini Pengertian dan Cara Kerjanya
  • Serangan Siber Rusia Targetkan Industri Energi: Sandworm Mengintai
  • Apa Itu Video PT Pabrik Brebes Viral? Ini Pengertian dan Fakta Sebenarnya
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

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