使用 kubeadm
搭建 Kubernetes 集群是一個比較常見的方式。kubeadm
是 Kubernetes 提供的一個命令行工具,它可以簡化 Kubernetes 集群的初始化和管理。下面是使用 kubeadm
搭建 Kubernetes 集群的基本步驟:
1. 準備工作
確保你的環境中有兩臺或更多的機器(可以是虛擬機或者物理機),每臺機器上安裝了 kubeadm
、kubelet
和 kubectl
工具。通常有一個 Master 節點和多個 Worker 節點。
-
關閉交換分區:
sudo swapoff -a
并且禁用交換分區的自動掛載,在
/etc/fstab
中注釋掉 swap 行。 -
安裝 Docker:
sudo apt-get update && sudo apt-get install -y docker.io
-
安裝 Kubernetes 工具:
sudo apt-get update && sudo apt-get install -y apt-transport-https sudo curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main" sudo apt-get update sudo apt-get install -y kubeadm kubelet kubectl
2. 在 Master 節點上初始化 Kubernetes 集群
-
初始化 Kubernetes 集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
--pod-network-cidr
參數是指定 Pod 網絡的 CIDR,常見的如10.244.0.0/16
,這個值取決于你使用的網絡插件。 -
初始化成功后,會輸出一個
kubeadm join
命令,這個命令需要在 Worker 節點上運行,用來加入到 Kubernetes 集群。 -
配置 kubectl 訪問 Kubernetes 集群:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
3. 部署網絡插件
Kubernetes 集群需要一個網絡插件來讓 Pod 之間進行通信。常用的網絡插件有:
- Calico
- Flannel
- Weave Net
例如,使用 Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
4. 在 Worker 節點上加入集群
在 Worker 節點上運行 kubeadm join
命令,命令格式類似:
sudo kubeadm join <master-ip>:<port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
5. 檢查集群狀態
- 在 Master 節點上運行以下命令,查看集群的節點狀態:
kubectl get nodes
如果所有節點的狀態是 Ready
,則表示集群搭建成功。
其他部署工具
除了 kubeadm
,還有一些其他常用的 Kubernetes 部署工具和方法:
- Kops:用于 AWS 云上快速創建、管理和維護 Kubernetes 集群。
- Minikube:適用于本地開發的工具,它在虛擬機中啟動一個單節點的 Kubernetes 集群,適合學習和開發。
- Rancher:一個集成管理 Kubernetes 集群的工具,提供簡單的 UI 界面來管理多集群的 Kubernetes 環境。
- Helm:一個包管理工具,用于管理 Kubernetes 中的應用,類似于 Linux 中的
apt
或yum
。
https://github.com/0voice