Install RKE2 di rocky linux ada beberapa step yang harus di jalankan
Step stepnya sebagai berikut :
Pastikan saat menjalankan perintah berikut menggunakan user root
1.Install rke2 dengan script berikut :
curl -sfL https://get.rke2.io | sh -
2. Aktifkan layanan rke2-server service
systemctl enable rke2-server.service
3. Edit file config.yaml rke2 untuk menambahkan berapa config
vi /etc/rancher/rke2/config.yaml
kemudian tambahkan
node-name: apps-master node-ip: 10.1.1.14 cni: cilium service-cidr: 192.169.0.0/16 cluster-cidr: 192.168.0.0/16
Jika sudah di tambahkan di /etc/rancher/rke2/config.yaml maka ketik :wq! untuk keluar dan melakukan save
Penjelasannya Config.yaml di atas
- Node akan bernama apps dengan IP 10.1.1.12.
- Cilium digunakan sebagai CNI untuk mengatur jaringan antar-pod.
- Service dalam cluster akan mendapatkan IP dari 192.169.0.0/16.
- Pod akan mendapatkan IP dari 192.168.0.0/16.
untuk mengatur jaringan pod sebenernya ada beberapa macam mulai dari :
- Canal
- Cilium
- Calico
- Flannel
Sebenarnya secara default rke2 dia menggunakan canal, nah mungkin ada beberapa pertanyaan kenapa di rubah dari bawaan ke Cilium. Perubahan ke CNI Cilium karena firewalld tidak berjalan maksimal di CNI Canal sehingga di rubah menjadi CNI Cilium begitu ceritanya
Setelah di lakukan setting pada master config.yaml
4. Enable service rke2-server
systemctl enable rke2-server.service
5. Start service rke2
systemctl start rke2-server.service
Setelah running service tunggu beberapa menit karena dia harus merunning service service yang di kubernetes rke2
6. Jika ingin melihat logs dari rke2 saat di jalankan bisa gunakan perintah:
journalctl -u rke2-server -f
7. Jika kita ingin melihat service yang running di semua namespace
kubectl get pods -o wide --all-namespaces
Tapi saat menjalankan pertama kali dengan menjalankan perintah kubectl get pods -o wide –all-namespaces pasti error seperti ini
[root@prod-app1 devsecops]# kubectl get pods -o wide --all-namespaces E0312 21:47:11.681987 3677318 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://127.0.0.1:6443/api?timeout=32s\": tls: failed to verify certificate: x509: certificate signed by unknown authority" E0312 21:47:11.684790 3677318 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://127.0.0.1:6443/api?timeout=32s\": tls: failed to verify certificate: x509: certificate signed by unknown authority" E0312 21:47:11.687532 3677318 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://127.0.0.1:6443/api?timeout=32s\": tls: failed to verify certificate: x509: certificate signed by unknown authority" E0312 21:47:11.690294 3677318 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://127.0.0.1:6443/api?timeout=32s\": tls: failed to verify certificate: x509: certificate signed by unknown authority" E0312 21:47:11.692680 3677318 memcache.go:265] "Unhandled Error" err="couldn't get current server API group list: Get \"https://127.0.0.1:6443/api?timeout=32s\": tls: failed to verify certificate: x509: certificate signed by unknown authority" Unable to connect to the server: tls: failed to verify certificate: x509: certificate signed by unknown authority
8. Cara Mengatasi error certificate signed by unknown authority pada step ke 7.
Masukan ke export data path untuk /var/lib/rancher/rke2/bin/. Kebetulan saya di sini menggunakan .bashrc
jalankan
vi ~/.bashrc
kemudian tambahkan perintah
export PATH="/var/lib/rancher/rke2/bin:$PATH"
jika sudah di tambahkan di .bashrc, keluar dari file dengan mengetik :wq!
9. tambahkan folder .kube terlebih dahulu
mkdir -p ~/.kube
10. Copy isi file /etc/rancher/rke2/rke2.yaml ke file .kube config
cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
11. Add worker untuk di joint ke master, sebelum itu dapatkan token di master dengan menjankan perintah
cat /var/lib/rancher/rke2/server/node-token
ketika menjankan perintah di atas kita dapat token seperti berikut :
[root@prod-app1 devsecops]# sudo cat /var/lib/rancher/rke2/server/node-token K10b402b212d0a4afcd7786da9241e432ab975aae79e0a9efb170fbf307c79e13b0::server:1da946b572ab3375d241cba6dcad91b2
token tersebut di gunakan ketika akan melakukan add di worker
12. instalasi agent linux kubernetes (worker)
Masuk ke server yang akan di add menjadi worker, dengan menjalankan perintah berikut dengan menggunakan user root:
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="agent" sh -
13. Enable service rke2-agent
systemctl enable rke2-agent.service
14. Konfigurasi service rke2-agent
Buat folder rke2 dengan menjalankan perintah :
mkdir -p /etc/rancher/rke2/
15. Edit config.yaml di rke2
vim /etc/rancher/rke2/config.yaml
Konten dari config.yaml berisikan:
server: https://<server>:9345 token: <token from server node>
tinggal isi ip server dan token yang di dapat dari kubernetes master. kalau yang saya gunakan isiannya seperti berikut :
node-name: apps-worker-1 node-ip: 10.1.1.15 cni: cilium server: https://10.1.1.14:9345 token: K10b402b212d0a4afcd7786da9241e432ab975aae79e0a9efb170fbf307c79e13b0::server:1da946b572ab3375d241cba6dcad91b2
16. Kemudian Start service rke2 agent
systemctl start rke2-agent.service
17. Jika ingin melihat logs agent worker
journalctl -u rke2-agent -f
Catatan :
Jika ingin restart server master kubernetes jalankan :
systemctl restart rke2-server
Sedangkan untuk melakukan restart pada worker jalankan :
systemctl restart rke2-agent
Dengan menjalankan turorial di atas maka kita sudah bisa menggunakan kubernetes rke2.
Sekian tutorial install rke2. Semoga bermanfaat

