Linux服务器上安装配置Kubernetes全攻略
Kubernetes作为当前最流行的容器编排工具,已成为云原生应用的标配。本文将详细介绍在Linux服务器上从零开始安装和配置Kubernetes集群的全过程,包括环境准备、组件安装、集群初始化等关键步骤。
一、环境准备
1.1 系统要求
- 操作系统:Ubuntu 18.04+/CentOS 7+
- CPU:2核以上
- 内存:2GB以上
- 磁盘空间:20GB以上
- 网络:所有节点间互通
- Swap:必须禁用
1.2 前置条件
# 禁用Swap sudo swapoff -a sudo sed -i '/ swap / s/^/#/' /etc/fstab # 关闭SELinux sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config # 配置防火墙规则 sudo firewall-cmd --permanent --add-port=6443/tcp sudo firewall-cmd --permanent --add-port=10250/tcp sudo firewall-cmd --reload
二、安装Docker容器运行时
# 安装Docker sudo apt-get update sudo apt-get install -y docker.io # 或者使用官方安装脚本 curl -fsSL https://get.docker.com | sh # 配置Docker使用systemd作为cgroup驱动 sudo mkdir /etc/docker cat <
三、安装Kubernetes组件
3.1 添加Kubernetes仓库
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 - cat <3.2 安装kubelet、kubeadm和kubectl
sudo apt-get install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl
四、初始化Kubernetes集群
4.1 在主节点上初始化集群
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
4.2 配置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 安装网络插件(Flannel)
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
五、加入工作节点
在主节点初始化完成后,会输出类似下面的加入命令:
kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef \
--discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
在工作节点上执行此命令即可加入集群。
六、验证集群状态
kubectl get nodes kubectl get pods --all-namespaces
七、常见问题解决方案
- 网络插件问题:确保选择了与集群CIDR兼容的网络插件
- 节点NotReady状态:检查kubelet和容器运行时日志
- 证书过期:使用kubeadm alpha certs renew命令更新
通过以上步骤,您已成功在Linux服务器上部署了一个功能完整的Kubernetes集群。接下来可以开始部署应用程序,体验Kubernetes强大的容器编排能力。建议继续学习Helm、Ingress控制器等高级组件的使用,以充分发挥Kubernetes的全部潜力。
