云服务器Linux系统配置Kubernetes全攻略
在云计算时代,Kubernetes已成为容器编排的事实标准。本文将详细介绍如何在云服务器Linux系统上配置Kubernetes集群,帮助开发者快速搭建高可用的容器管理平台。
一、准备工作
在开始配置Kubernetes之前,需要确保云服务器满足以下条件:
- 至少2台Linux服务器(推荐Ubuntu 20.04或CentOS 8)
- 每台服务器2GB以上内存
- 双核CPU及以上配置
- SSH访问权限
- 服务器间内网互通
二、环境配置
1. 设置主机名
# Master节点 hostnamectl set-hostname k8s-master # Worker节点 hostnamectl set-hostname k8s-worker1
2. 关闭Swap
swapoff -a sed -i '/ swap / s/^/#/' /etc/fstab
3. 配置防火墙
# 关闭防火墙(CentOS) systemctl stop firewalld systemctl disable firewalld # 或者开放必要端口(Ubuntu) ufw allow 6443/tcp ufw allow 2379-2380/tcp
三、安装Docker
# Ubuntu apt-get update apt-get install -y docker.io systemctl enable docker systemctl start docker # CentOS yum install -y docker systemctl enable docker systemctl start docker
四、安装Kubernetes组件
1. 添加Kubernetes源
# Ubuntu apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - cat </etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update # 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 apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl # CentOS yum install -y kubelet kubeadm kubectl systemctl enable kubelet systemctl start kubelet
五、初始化Master节点
kubeadm init --pod-network-cidr=10.244.0.0/16 mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
记录下输出的join命令,用于添加Worker节点。
六、安装网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
七、加入Worker节点
在Worker节点上执行Master节点初始化时输出的join命令:
kubeadm join:6443 --token --discovery-token-ca-cert-hash sha256:
八、验证集群状态
kubectl get nodes kubectl get pods --all-namespaces
当所有节点状态显示为"Ready",表示集群配置成功。
九、常见问题解决
- 节点NotReady:检查网络插件是否安装正确
- 镜像拉取失败:配置国内镜像源或手动拉取镜像
- kubelet启动失败:检查cgroup驱动是否与Docker一致
通过以上步骤,您已在云服务器Linux系统上成功配置了Kubernetes集群。建议在生产环境中考虑使用更高级的网络方案和存储方案,并配置适当的监控和日志系统,以确保集群的稳定运行。
