今天開始要介紹怎麽在自己本機運行 k8s ,我們所用到的工具為 multipass ,但考量到輕量化,我們會使用 k8s 的另一個延伸版 k3s 來實作,下面就來依依介紹。

multipass

multipass 是 Ubuntu 所發展的接近 docker 的技術,但又不像 vmware or virtualbox 這類虛擬機操作起來那麼肥大。

下面舉例是用 MacOS 當作範例,如果有其他 OS 的安裝需求請移駕 官網,他有支援 Windows、Linux。

Install By Homebrew

brew cask install multipass

如果需要用 PKG 安裝 官網 也有提供 (寫這篇文章時版本是1.4.0)

Install K3S

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

multipass-info

安裝完成後,可以 ssh 進去這台虛擬機可以用下面指令

multipass shell test-k3s

進去後可以下

kubectl get node

可以看到以下畫面

k3s-node-info

這樣就完成了一個 k3s 的基礎安裝,只要 ssh 進去虛擬機就能開始操作。

下一篇我們再來談一些怎麼在本機(非 ssh 進去虛擬機) 使用 kubectl。