linux

Linux系统怎样安装Kubernetes

小樊
35
2025-11-08 19:16:38
栏目: 智能运维

Linux系统安装Kubernetes详细步骤

一、安装前准备

  1. 环境要求

    • 硬件:至少2GB RAM、2个CPU内核、20GB可用磁盘空间;
    • 节点:至少1个Master节点+1个Worker节点(多节点需配置SSH互信);
    • 系统:支持Ubuntu 22.04+、CentOS 7/8+等Linux发行版;
    • 网络:节点间可通过SSH访问,关闭防火墙(systemctl stop firewalld)或放行6443(API Server)等端口;
    • SELinux:若启用,需设置为宽松模式(setenforce 0)或调整策略。
  2. 安装Docker容器运行时
    Kubernetes依赖容器运行时,推荐使用Docker(也可替换为containerd):

    • Ubuntu/Debian
      sudo apt update
      sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
      sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
      sudo apt update
      sudo apt install -y docker-ce
      sudo systemctl enable --now docker
      
    • CentOS/RHEL
      sudo yum install -y yum-utils device-mapper-persistent-data lvm2
      sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      sudo yum install -y docker-ce
      sudo systemctl enable --now docker
      
    • 验证:运行docker run hello-world,若输出“Hello from Docker!”则安装成功。
  3. 安装Kubernetes核心组件
    Kubernetes核心组件包括kubelet(节点代理)、kubeadm(集群初始化工具)、kubectl(命令行工具):

    • Ubuntu/Debian
      sudo apt update
      sudo apt install -y kubelet kubeadm kubectl
      sudo systemctl enable --now kubelet
      
    • CentOS/RHEL
      sudo yum install -y epel-release
      sudo yum install -y kubelet kubeadm kubectl
      sudo systemctl enable --now kubelet
      
    • 禁用Swap:Kubernetes要求禁用swap分区,否则无法启动:
      sudo swapoff -a
      sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab  # 永久禁用
      
    • 验证组件:运行kubeadm versionkubelet version,确认版本输出正常。

二、初始化Master节点

Master节点负责集群管理(调度、API服务),初始化命令如下:

sudo kubeadm init \
  --pod-network-cidr=10.244.0.0/16 \  # 指定Pod网络CIDR(需与后续网络插件匹配)
  --apiserver-advertise-address=<Master-IP> \  # 替换为Master节点实际IP
  --image-repository registry.aliyuncs.com/google_containers  # 国内镜像加速(可选,避免拉取镜像超时)

三、配置kubectl

kubectl是管理Kubernetes集群的命令行工具,需配置访问权限:

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

五、加入Worker节点(可选)

若有多个节点,需将Worker节点加入集群:

  1. 在Master节点上运行kubeadm init后,会得到类似以下的命令:
    kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
    
  2. 在Worker节点上执行该命令,等待片刻即可加入集群(可通过kubectl get nodes查看节点状态)。

常见问题解决

0
看了该问题的人还看了