Artikel ini menjelaskan cara membuat kluster K3s dengan 1 node master dan 2 node worker dari terminal macOS. Semua node menggunakan ubuntu sebagai sistem operasi.
Asumsi#
- Node master:
192.168.10.13 - Worker 1:
192.168.10.11 - Worker 2:
192.168.10.12 - Username SSH pada semua node:
user
Daftar Isi#
- 1. Inisialisasi node master
- 2. Gabungkan worker 1
- 3. Gabungkan worker 2
- 4. Salin kubeconfig ke macOS
- 5. Ubah endpoint API pada kubeconfig
- 6. Verifikasi kluster dari macOS
1. Inisialisasi node master#
Masuk ke node master dari macOS, lalu instal K3s server.
ssh user@192.168.10.13
curl -sfL https://get.k3s.io | sh -Setelah instalasi selesai, ambil token node untuk proses join worker.
sudo cat /var/lib/rancher/k3s/server/node-tokenSimpan token tersebut, lalu keluar dari sesi SSH.
exit2. Gabungkan worker 1#
Masuk ke worker 1, lalu jalankan installer K3s agent menggunakan URL master dan token dari langkah sebelumnya.
ssh user@192.168.10.11
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.10.13:6443 K3S_TOKEN=<TOKEN_DARI_MASTER> sh -
exit3. Gabungkan worker 2#
Lakukan proses yang sama pada worker 2.
ssh user@192.168.10.12
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.10.13:6443 K3S_TOKEN=<TOKEN_DARI_MASTER> sh -
exit4. Salin kubeconfig ke macOS#
Masuk kembali ke master, salin konfigurasi K3s ke home user agar dapat diambil melalui SCP.
ssh user@192.168.10.13
sudo cp /etc/rancher/k3s/k3s.yaml ~/config
sudo chown user:user ~/config
exitDari terminal lokal macOS, salin file konfigurasi ke direktori .kube.
mkdir -p ~/.kube
scp user@192.168.10.13:~/config ~/.kube/config5. Ubah endpoint API pada kubeconfig#
Secara default, kubeconfig dari master mengarah ke 127.0.0.1. Ubah menjadi IP master agar bisa diakses dari macOS.
sed -i '' 's/127.0.0.1/192.168.10.13/g' ~/.kube/config6. Verifikasi kluster dari macOS#
Pastikan kubectl tersedia di macOS. Jika belum, instal dengan Homebrew.
brew install kubectlCek status node kluster.
kubectl get nodesJika semua langkah benar, ketiga node akan tampil dengan status Ready.

