在 Ubuntu 上部署 Kubernetes 可以通過多種方式實現,以下是兩種常見的方法:使用 kubeadm
部署高可用集群和使用 microk8s
簡化部署。
kubeadm
部署高可用 Kubernetes 集群創建自定義的 CA 證書:
使用 OpenSSL 創建 CA 根證書,私鑰文件是 ca.key
,證書文件是 ca.crt
,默認保存在 /etc/kubernetes/pki/
目錄中。
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -subj "CN=master的主機IP" -days 證書的有效期 -out ca.crt
部署 etcd 高可用集群:
下載 etcd 的預編譯二進制文件,解壓后放到 /usr/bin/
,并將 etcd 部署為 systemd 型服務。配置 etcd 的 CA 證書,并在所有 etcd 節點上啟動 etcd 服務,并設置為開機自動啟動。
部署 Kubernetes-Master 高可用集群:
下載 Kubernetes-Master 角色所用的組件 kube-apiserver
、kube-scheduler
、kube-controller-manager
。為組件服務端 kube-apiserver
生成 CA 證書文件,并創建 systemd 管理配置文件。在所有 master 角色主機上分別啟動 kube-apiserver
、kube-scheduler
、kube-controller-manager
服務,并設為開機自動啟動。
為 Kubernetes-Master 集群創建負載均衡代理入口(使用 HAProxy 和 keepalived 實現)。
部署 Kubernetes-Slave 集群:
下載 Kubernetes-Slave 角色所用的組件 docker
(或 Containerd)、kubelet
、kube-proxy
的預編譯二進制文件。
microk8s
簡化部署microk8s
是 Kubernetes 的輕量級版本,適合在資源有限的環境中使用。以下是使用 microk8s
在 Ubuntu 上部署 Kubernetes 的步驟:
安裝 microk8s
:
在主節點和 worker 節點上安裝 microk8s
。
sudo snap install microk8s --classic
初始化主節點:
在主節點上執行以下命令,獲取添加從節點的命令。
sudo microk8s init
添加從節點:
在從節點上執行主節點輸出的命令,加入集群。
sudo microk8s join 192.168.2.24:25000/f872a823e90242ff12a3e3db202e3e05/030ba9fe293e --worker
配置 kubectl
:
在主節點上設置 kubectl
命令別名,方便使用。
sudo snap alias microk8s.kubectl kubectl
驗證部署:
檢查節點信息和集群信息。
sudo kubectl get nodes
sudo kubectl cluster-info
sudo kubectl get pods
sudo kubectl get services
以上是在 Ubuntu 上部署 Kubernetes 的兩種方法,選擇哪種方法取決于你的具體需求和環境。