K3S on Raspberry Pi — Portainer
ปกติแล้วในการทำงานกับ Kubernetes นั้น เราจำเป็นต้องใช้งานผ่านทาง CLI เพียงเท่านั้น ทำให้เป็นเรื่องลำบากสำหรับหลายๆ คนที่ไม่ถนัดใช้งานกันครับ ในบทความนี้เราจะมาทำการติดตั้ง Portainer เพื่อใช้งานแทนการใช้งานผ่านทาง CLI กันครับ
Normally, working with Kubernetes requires using the CLI, which can be difficult for many people who are not comfortable with it. In this article, we will install Portainer to use instead of the CLI.
เริ่มแรกให้ตรวจสอบว่าตอนนี้เราใช้งาน context ของ Raspberry Pi กันอยู่หรือเปล่า ด้วยคำสั่ง
First, check if we are using the context of the Raspberry Pi with the command
kubectl config get-contexts
หากเราใช้งาน context ตัวอื่นอยู่ สามารถเปลี่ยน context ด้วยคำสั่งนี้
If you are using a different context, you can change the context with this command
kubectl config use-context <context name>
จากนั้นเราก็จะตรวจสอบ Helm ในเครื่องของเราดูกันก่อนว่ามีการเพิ่ม Repo ของ Portainer เอาไว้หรือยัง ด้วยคำสั่ง
Next, let’s check if Helm on our machine already has the Portainer repo added with this command
helm repo list
จากภาพ แต่ละเครื่องอาจจะมี helm repo ไม่เหมือนกันครับ จากนั้นเราก็จะทำการเพิ่ม repo ของ Portainer กันด้วยคำสั่ง
As shown in the image, each machine might have different Helm repos. Now, let’s add the Portainer repo using the command
helm repo add portainer https://portainer.github.io/k8s/
แล้วเราก็จะทำการอัพเดท repo กันด้วยคำสั่ง
And then we’ll update the repo with the command
helm repo update
เมื่อเราเพิ่ม Repo และ Update กันเสร็จแล้ว ก็จะมาเริ่มทำการติดตั้งกันต่อเลยครับ โดยเราจะใช้คำสั่งติดตั้งตามนี้
Once we have added and updated the repo, we will proceed with the installation using the following command
helm upgrade --install --create-namespace -n portainer portainer portainer/portainer --set service.type=ClusterIP --set tls.force=true --set ingress.enabled=true --set ingress.ingressClassName=nginx --set ingress.annotations."nginx\.ingress\.kubernetes\.io/backend-protocol"=HTTPS --set ingress.hosts[0].host=<host name> --set ingress.hosts[0].paths[0].path="/"
จากนั้นให้ทำการเช็คสถานการทำงานของ pod ด้วยคำสั่ง
After that, check the status of the pod with the command
kubectl get pod -n portainer --watch
จากนั้นให้รอจนกว่าช่อง Ready จะเป็น 1/1 ก็จะพร้อมใช้งานแล้วครับ
Then, wait until the ‘Ready’ column shows 1/1, indicating that it is ready for use.
หลังจากนั้น ให้ทำการ map DNS กับไฟล์ hosts กันก่อน โดยให้เป็นไฟล์ hosts จาก C:\windows\system32\drivers\etc\hosts แล้วให้เพิ่ม IP และ DNS เข้าไป ดังภาพ
After that, map the DNS with the hosts file. Use the hosts file located at C:\Windows\System32\drivers\etc\hosts and add the IP and DNS entry as shown in the image.
หลังจากนั้น ให้ลองเข้าหน้าเว็บตาม DNS ที่เราใส่ไว้ใน hosts ก็จะเจอกับหน้าจอของ Portainer และให้เราระบุรหัสผ่านที่ต้องการ
Afterwards, try accessing the web page using the DNS specified in the hosts file. You should encounter the Portainer login screen, where you’ll need to provide your desired password.
หลังจากที่ระบุรหัสผ่านเสร็จแล้วก็จะเข้าสู่หน้า Quick Setup ของ Portainer ดังภาพ
Next, the page will redirect to the Quick Setup page like this.
ให้เราไปที่เมนู Home เพื่อกลับไปยังหน้า Dashboard ของ Portainer ก็จะเจอกับ Cluster ของเรา ดังภาพ
Go to the Home menu to return to the Portainer Dashboard page, where you will find our cluster, as shown in the image.
จากนั้นให้คลิกที่ Live connect เพื่อเข้าสู่หน้า Dashboard ของ Cluster ของเรา ดังภาพ
Then click on “Live connect” to access the Dashboard page of our cluster, as shown in the image.
เพียงเท่านี้เราก็สามารถจัดการ Cluster หรือติดตั้ง App จาก Helm ของเราผ่านทาง Portainer ได้แล้วครับ
With that, we can manage our cluster or install apps via Helm through Portainer.
Part 1 — Raspberry Pi Setup
Part 2 — Static IP Setup
Part 3 — Main Cluster Setup
Part 4 — Node Cluster
Part 5 — Ingress Nginx
Part 6 — Portainer