kubernetes 集群搭建(kubeadm方式)
随着容器技术的兴起,Kubernetes作为容器编排领域的事实标准,受到了越来越多开发者的关注和使用。kubeadm是Kubernetes官方提供的一个工具,用于简化Kubernetes集群的部署过程。本文将详细介绍如何使用kubeadm搭建一个Kubernetes集群。
一、环境准备
2.1 硬件环境
-
至少需要两台机器(一台作为Master节点,另一台或更多作为Worker节点),每台机器建议配置至少2GB RAM和2 CPU核心。
2.2 软件环境
-
操作系统:支持的操作系统包括Ubuntu、CentOS等主流Linux发行版。
-
Docker:Kubernetes默认使用Docker作为容器运行时。需要在每个节点上安装最新版本的Docker。
2.3 网络配置
-
所有节点之间需要能够互相通信,最好是在同一个局域网内。
-
根据实际情况调整防火墙规则,允许必要的端口访问(如6443, 2379-2380, 10250, 10251, 10252等)。
二、安装kubeadm、kubelet和kubectl
3.1 安装依赖项
在所有节点上执行如下命令以更新软件包列表并安装必要的依赖项:
sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl
对于CentOS用户,则应使用yum:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.2 安装Docker
按照官方文档中的指导,在每个节点上安装最新版本的Docker。
3.3 添加Kubernetes的APT软件源
在所有节点上执行以下命令,添加Kubernetes的APT软件源:
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
3.4 安装kubeadm、kubelet和kubectl
在所有节点上执行以下命令,安装kubeadm、kubelet和kubectl:
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
三、初始化Kubernetes主节点
4.1 初始化集群
在主节点上执行以下命令初始化集群:
sudo kubeadm init \
--apiserver-advertise-address=<主节点IP> \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version $(kubeadm version -o short) \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16 \
--cri-socket unix:///var/run/cri-dockerd.sock
4.2 设置kubectl访问权限
初始化完成后,执行以下命令设置kubectl的配置:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
4.3 安装Pod网络插件
在主节点上执行以下命令,安装Pod网络插件:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
四、加入工作节点
5.1 获取加入命令
在主节点上执行以下命令,获取加入工作节点的命令:
kubeadm token create --print-join-command
5.2 在工作节点上执行加入命令
在工作节点上执行主节点上获取的加入命令,例如:
sudo kubeadm join <主节点IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
五、验证集群状态
6.1 查看节点状态
在主节点上执行以下命令,查看节点状态:
kubectl get nodes
如果所有节点都显示为Ready
状态,说明集群搭建成功。
6.2 查看Pod状态
在主节点上执行以下命令,查看Pod状态:
kubectl get pods --all-namespaces
如果所有Pod都显示为Running
状态,说明集群运行正常。
六、结语
感谢您的阅读!如果您对 Kubernetes 或者 kubeadm
方式搭建集群有任何疑问或见解,欢迎继续探讨。