linux

Kubernetes在Linux上安装步骤是什么

小樊
33
2025-10-05 20:30:12
栏目: 智能运维

一、前置准备

  1. 系统要求:选择兼容的Linux发行版(如Ubuntu 20.04/22.04、CentOS 7/8);确保所有节点(Master/Worker)时间同步(安装ntp或chrony并启用)。
  2. 硬件要求:Master节点至少2核CPU、2GB内存、20GB磁盘;Worker节点至少1核CPU、1GB内存、20GB磁盘。
  3. 依赖工具:关闭系统swap(sudo swapoff -a;若需永久禁用,编辑/etc/fstab删除swap行);安装Docker(Kubernetes默认容器运行时,Ubuntu用sudo apt install docker.io -y,CentOS用sudo yum install docker -y),并启动服务(sudo systemctl enable --now docker)。

二、安装Kubernetes核心组件

  1. 配置软件源
    • Ubuntu:更新包索引(sudo apt update),安装传输工具(sudo apt install -y apt-transport-https curl),添加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)。
    • CentOS:创建Kubernetes YUM源文件(cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo,内容参考官方文档),禁用SELinux(sudo setenforce 0;编辑/etc/selinux/config设置SELINUX=permissive)。
  2. 安装组件:更新包索引后,安装kubeletkubeadmkubectl(Ubuntu用sudo apt install -y kubelet kubeadm kubectl,CentOS用sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes);标记组件为hold(防止自动升级,sudo apt-mark hold kubelet kubeadm kubectl)。

三、初始化Master节点

  1. 执行初始化命令:在Master节点运行sudo kubeadm init --pod-network-cidr=10.244.0.0/16--pod-network-cidr指定Pod网络CIDR,需与后续网络插件匹配)。
  2. 配置kubectl:初始化完成后,按提示执行以下命令(将admin.conf复制到用户目录并设置权限):
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    ```。  
    
    
    

四、加入Worker节点

  1. 获取加入命令:Master节点初始化完成后,终端会输出kubeadm join命令(包含Token和CA证书哈希,如sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:xxxxxxxx...)。
  2. 执行加入命令:在每个Worker节点运行上述命令,完成节点加入(等待片刻,Master节点会自动识别Worker节点)。

五、安装网络插件

  1. 选择插件:推荐使用Flannel(轻量级、易部署)或Calico(支持网络策略)。
  2. 部署Flannel:在Master节点运行kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml(等待插件部署完成,可通过kubectl get pods -n kube-system查看Pod状态)。

六、验证集群状态

  1. 检查节点状态:在Master节点运行kubectl get nodes,若所有节点状态显示为Ready,则说明集群部署成功。
  2. 检查Pod状态:运行kubectl get pods --all-namespaces,确认所有系统Pod(如kube-apiserver、kube-controller-manager)状态为Running

0
看了该问题的人还看了