Linux云服务器上安装Kubernetes的完整指南
Kubernetes作为当今最流行的容器编排系统,已经成为云原生应用部署的事实标准。本文将详细介绍在Linux云服务器上安装Kubernetes的完整流程,帮助您快速搭建自己的K8s集群。
一、准备工作
在开始安装前,我们需要做好以下准备:
- 云服务器选择:建议至少准备2台以上配置相同的云服务器(1个master节点,1个或更多worker节点)
- 系统要求:推荐使用Ubuntu 20.04/22.04或CentOS 7/8等主流Linux发行版
- 硬件配置:每台服务器至少2核CPU、4GB内存和20GB磁盘空间
- 网络要求:确保服务器之间可以互相通信,且开放必要的端口
二、安装Docker容器运行时
Kubernetes需要容器运行时支持,这里我们选择Docker:
# Ubuntu系统
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
# CentOS系统
sudo yum install -y docker
sudo systemctl enable docker
sudo systemctl start docker
验证Docker安装:sudo docker run hello-world
三、安装Kubernetes组件
1. 添加Kubernetes源
# Ubuntu系统
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# CentOS系统
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
2. 安装kubeadm、kubelet和kubectl
# Ubuntu系统
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
# CentOS系统
sudo yum install -y kubelet kubeadm kubectl
sudo systemctl enable --now kubelet
四、初始化Kubernetes集群
在Master节点上执行初始化:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,按照提示配置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
验证网络插件安装:kubectl get pods --all-namespaces
六、加入Worker节点
在Master节点初始化完成后,会输出加入集群的命令,类似如下:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
在Worker节点上执行上述命令即可加入集群。
七、验证集群状态
在Master节点上执行以下命令验证集群状态:
kubectl get nodes
kubectl get pods --all-namespaces
所有节点状态应为"Ready",核心组件Pod都应运行正常。
八、常见问题解决
- 节点NotReady:检查网络插件是否安装成功,节点间网络是否通畅
- kubeadm init失败:检查swap是否已关闭,使用
sudo swapoff -a - 端口冲突:确保6443、10250等端口未被占用
- 镜像拉取失败:可以尝试配置国内镜像源
通过以上步骤,您已经成功在Linux云服务器上搭建了一个Kubernetes集群。接下来可以部署您的应用,或继续探索Kubernetes的更多高级功能。建议定期更新Kubernetes版本以获得最新的安全补丁和功能改进。
如需进一步学习,可以参考Kubernetes官方文档或参加相关培训课程,掌握更多集群管理和应用部署技巧。
