一般的 k8s 叢集都是多個Control Plane 還有多個 Node
然而在資源不足的情況下
要架設這樣的環境有些麻煩
為了方便在本機可以測試
所以在這 k8s 入門30天的文章將會使用一個單節點的 k8s 叢集執行環境: minikube
minikube 在執行時會建立一個虛擬機器
在虛擬機器透過 worker process 模擬 worker node
在虛擬機器透master process 模擬 control plane
為了能夠跟 minikube 這個 k8s 叢集溝通
所以也要安裝 kubectl 這個用來與 k8s 叢集溝通的命令列工具
然而 因為需要使用到虛擬機器
則需要額外在本機安裝 hypervisor 軟體, 比如VirtualBox 或是 Docker 等等
因為筆者環境上 OS 是Ubuntu 20.04, hypervisor 是使用 Docker
所以這邊逐步介紹在 Ubuntu 20.04 下, 安裝 Docker, minikube 還有 kubectl 的步驟
ref https://docs.docker.com/engine/install/ubuntu/
以下是安裝 docker 引擎的步驟,
其中 1~3 步是設定安裝套件來源,
第4~6步是安裝細節
如果不在意是否安裝到最新官方版本, 可以跳過前3步驟 直接從第4步開始
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
這邊是針對x86_64/amd64的驗證
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo groupadd docker
sudo gpasswd -a $USER docker
exit; login;
docker -v
成功應該會有以下畫面
ref https://minikube.sigs.k8s.io/docs/start/
至少雙核CPU
至少記憶體 2GB
至少硬碟空間 20GB
容器軟體或是虛擬機器軟體, 例如: Docker, Hyperkit, Hyper-V, KVM, Parallels, Podman, VirtualBox, or VMWare
以下是針對Ubuntu, x86-64 CPU, 穩定版本的指令:
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
其他 可以到 minikube 尋找對應的指令
minikube -v
minikube start
minikube status
如果是 minikube 已經啟動, 會看到以下畫面
ref https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
在這邊筆者使用 Ubuntu snap 管理套件工具安裝
snap install kubectl --classic
kubectl version --client
如果成功, 應該有以下畫面