在Ubuntu上使用kubeadm搭建Kubernetes集群需要经过以下几个步骤:
在所有节点(包括主节点和工作节点)上安装Docker。可以参考官方文档来安装:https://docs.docker.com/engine/install/ubuntu/
将Docker配置为使用systemd作为cgroup驱动。编辑/etc/docker/daemon.json
文件,添加以下内容:
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
然后重启Docker服务:
sudo systemctl restart docker
在所有节点上安装kubeadm、kubelet和kubectl。可以参考官方文档来安装:https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
在主节点上运行以下命令来初始化Kubernetes集群:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
这里的--pod-network-cidr
参数指定了Pod网络的IP地址范围。你可以根据实际情况进行调整。
在主节点上,运行以下命令来配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
在主节点上,运行以下命令来部署一个网络插件(例如Flannel):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
在每个工作节点上,运行kubeadm join
命令来加入集群。这个命令可以在主节点上通过kubeadm init
生成。例如:
kubeadm join<control-plane-ip>:<control-plane-port> --token<token> --discovery-token-ca-cert-hash sha256:<hash>
在主节点上,运行以下命令来查看集群状态:
kubectl get nodes
如果一切正常,你应该能看到所有节点的状态为Ready
。
现在你已经成功地在Ubuntu上使用kubeadm搭建了一个Kubernetes集群。接下来,你可以开始部署和管理应用程序了。