今天開始要介紹怎麽在自己本機運行 k8s ,我們所用到的工具為 multipass ,但考量到輕量化,我們會使用 k8s 的另一個延伸版 k3s 來實作,下面就來一一介紹。
multipass 是 Ubuntu 所發展的接近 docker 的技術,但又不像 vmware or virtualbox 這類虛擬機操作起來那麼肥大。
下面舉例是用 MacOS 當作範例,如果有其他 OS 的安裝需求請移駕 官網,他有支援 Windows、Linux。
brew cask install multipass
如果需要用 PKG 安裝 官網 也有提供 (寫這篇文章時版本是1.4.0)
k3s 為 Rancher Labs 釋出的輕量級 k8s。
Rancher Labs推出新的Kubernetes開源專案K3s,這是一個輕量級大小只有40MB,且易於安裝的Kubernetes發布版本,專為資源有限和低互動的系統而設計,適用於邊緣應用、物聯網、持續整合以及ARM等使用情境。K3s現可用於x86_64、ARMv7和ARM64系統上執行。
ref ithome news
首先要像使用 vmware or virtualbox 一樣要先建立一台虛擬機,取名叫做 test-k3s。
multipass launch -n test-k3s
預設是 1 CPU 1GB RAM 、5GB DISK,如果需要客製化請參考 multipass 文件。
預載 OS 是 Ubuntu LTS
安裝完後可以確認一下虛擬機的狀態可以下
multipass info test-k3s
應該可以看如下面顯示的內容
再來我們可以就要安裝 k3s 可以依照 官方 GITHUB 快速安裝
multipass exec test-k3s -- bash -c "curl -sfL https://get.k3s.io | K3S_KUBECONFIG_MODE=644 sh -"
如果後面沒有設定 K3S_KUBECONFIG_MODE 在操作 k3s 會有錯誤訊息
WARN[2020-09-09T13:49:32.937048689+08:00] Unable to read /etc/rancher/k3s/k3s.yaml, please start server with --write-kubeconfig-mode to modify kube config permissions error: error loading config file "/etc/rancher/k3s/k3s.yaml": open /etc/rancher/k3s/k3s.yaml: permission denied
安裝完成後,可以 ssh 進去這台虛擬機可以用下面指令
multipass shell test-k3s
進去後可以下
kubectl get node
可以看到以下畫面
這樣就完成了一個 k3s 的基礎安裝,只要 ssh 進去虛擬機就能開始操作。
下一篇我們再來談一些怎麼在本機(非 ssh 進去虛擬機) 使用 kubectl。