linux

Linux下如何顺利安装Kubernetes

小樊
45
2025-10-01 15:06:09
栏目: 智能运维

Linux下顺利安装Kubernetes的步骤指南

一、安装前准备

  1. 硬件要求:每节点至少2GB RAM、2核CPU、20GB可用磁盘空间(生产环境建议更高配置)。
  2. 操作系统:推荐使用Ubuntu(22.04+)、CentOS(7/8 Stream)等主流发行版(避免使用过旧版本)。
  3. 网络配置:所有节点之间需能互相通信(关闭防火墙或放行相关端口,如6443(API Server)、10250(kubelet))。
  4. 关键设置
    • 禁用swap分区(Kubernetes要求):sudo swapoff -a;修改/etc/fstab文件,注释掉swap行(永久生效)。
    • 加载内核模块(支持网络插件):创建/etc/modules-load.d/containerd.conf文件,添加overlay br_netfilter;创建/etc/sysctl.d/kubernetes.conf文件,添加net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.ipv4.ip_forward = 1;执行sudo sysctl --system使配置生效。

二、安装Docker(容器运行时)

Kubernetes依赖Docker作为容器运行时(也可选择containerd,但Docker更常用)。以Ubuntu为例:

sudo apt update
sudo apt install -y docker.io  # 安装Docker
sudo systemctl start docker    # 启动服务
sudo systemctl enable docker   # 开机自启

验证安装:docker version(需显示客户端与服务端版本)。

三、安装Kubernetes核心组件

Kubernetes的核心组件包括kubeadm(集群初始化工具)、kubelet(节点代理)、kubectl(命令行工具)。以Ubuntu为例:

sudo apt update
# 添加Kubernetes官方GPG密钥与软件源
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
sudo apt update
# 安装组件
sudo apt install -y kubelet kubeadm kubectl
sudo systemctl enable kubelet  # 开机自启

验证安装:kubeadm versionkubectl version --client(需显示版本信息)。

四、初始化Master节点

Master节点是集群的控制中心,负责管理节点、调度Pod等。

sudo kubeadm init --pod-network-cidr=10.244.0.0/16  # 指定Pod网络CIDR(与后续网络插件匹配)

初始化完成后,终端会输出关键信息(需保存):

配置kubectl(让普通用户能访问集群):

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

五、安装网络插件

Kubernetes需要网络插件实现Pod间通信,常用插件为Flannel(轻量易用):

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

验证插件安装:kubectl get pods --all-namespaces -l app=flannel(所有Pod状态应为Running)。

六、加入Worker节点

在Worker节点上执行Master节点初始化时输出的kubeadm join命令(替换为实际IP、Token、Hash):

sudo kubeadm join <Master-IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

执行后,Worker节点会自动安装必要组件并加入集群。

七、验证集群状态

在Master节点上执行以下命令,确认集群运行正常:

kubectl get nodes  # 查看节点状态(应为"Ready")
kubectl get pods --all-namespaces  # 查看所有Pod状态(应为"Running")

八、常见问题解决

  1. 镜像拉取失败:若初始化时提示镜像无法拉取,可手动下载镜像(如k8s.gcr.io/kube-apiserver:v1.25.0)并导入节点(使用docker load命令)。
  2. swap未禁用:若未禁用swap,kubeadm init会报错,需重新执行禁用步骤并重启节点。
  3. 网络插件问题:若Pod无法通信,检查网络插件Pod是否运行正常,或更换插件(如Calico)。

按照以上步骤操作,即可在Linux环境下顺利安装Kubernetes集群。建议参考Kubernetes官方文档(kubeadm.k8s.io)获取最新版本的安装指南。

0
看了该问题的人还看了