Install k0s pakai k0sctl, lumayan cepat prosesnya. Tapi karena 2 dari 4 VM saya prosesornya pakai Arm64, ada warning ECTD_UNSUPPORTED_ARCH=Arm64 override, karena memang ETCD belum support penuh prosesor Arm64
Setup yang akan kita buat di sini bukan setup HA dan bukan untuk production
CARA INSTALASI
- Install binary k0sctl sesuai OS dan arsitektur prosesor kita, dari sini
- Jalankan
k0sctl init > k0sctl.yaml
dari terminal, selanjutnya edit dengan editor kesukaan anda
kind: Cluster
metadata:
name: k0s-cluster
spec:
hosts:
- ssh:
address: 10.0.0.1
user: root
port: 22
keyPath: ~/.ssh/id_rsa
role: controller
- ssh:
address: 10.0.0.2
user: root
port: 22
keyPath: ~/.ssh/id_rsa
role: worker
- ssh:
address: 10.0.0.3
user: root
port: 22
keyPath: ~/.ssh/id_rsa
role: worker
- ssh:
address: 10.0.0.4
user: root
port: 22
keyPath: ~/.ssh/id_rsa
role: worker
k0s:
version: 1.24.2+k0s.0
dynamicConfig: false
- Edit sesuai kredensial (ssh, ip address, role), dalam contoh berikut saya menggunakan 4 VM, courtesy of Oracle Cloud free tier :)
1 VM sebagai controller+worker (oracle linux 7.9, arm64, 2 core, 12gb ram)
1 VM sebagai controller (ubuntu 20.04, x64, 2 core, 1gb ram)
1 VM sebagai worker (ubuntu 20.04, arm64, 2 core, 12gb ram)
1 VM sebagai worker (ubuntu 20.04, x64, 2 core, 1gb ram)
kind: Cluster
metadata:
name: k0s-cluster
spec:
hosts:
- ssh:
address: 152.11.22.33
user: ubuntu
port: 22
keyPath: /Users/andramarkov/ssh1.key
role: worker
- ssh:
address: 140.22.33.44
user: ubuntu
port: 22
keyPath: /Users/andramarkov/ssh2.key
role: worker
- ssh:
address: 152.66.77.88
user: opc
port: 22
keyPath: /Users/andramarkov/ssh3.key
role: controller+worker
installFlags:
- --no-taints
- ssh:
address: 152.77.88.99
user: ubuntu
port: 22
keyPath: /Users/andramarkov/ssh4.key
role: worker
k0s:
version: 1.24.2+k0s.0
dynamicConfig: false
Karena nama filenya sudah saya ubah menjadi k0sctl-v8.yaml maka saya apply dengan
k0sctl apply --config k0sctl-v8.yaml
Tunggu hingga proses selesai, setelah selesai export file konfigurasi ke folder ~/.kube/config
cek cluster-info dan node dengan
kubectl cluster-info
dankubectl get nodes -o wide
Selesai 😄