首页主机资讯Linux环境下Kubernetes部署步骤是什么

Linux环境下Kubernetes部署步骤是什么

时间2025-11-04 22:51:04发布访客分类主机资讯浏览1114
导读:Linux环境下Kubernetes部署步骤 1. 准备工作 环境要求:每台服务器需满足以下条件:至少2核CPU、2GB内存、20GB磁盘空间;安装Linux发行版(如Ubuntu 16.04+/CentOS 7.x+);具备root或s...

Linux环境下Kubernetes部署步骤

1. 准备工作

  • 环境要求:每台服务器需满足以下条件:至少2核CPU、2GB内存、20GB磁盘空间;安装Linux发行版(如Ubuntu 16.04+/CentOS 7.x+);具备root或sudo权限;所有节点能通过网络互相通信。
  • 基础配置
    • 关闭swap分区(Kubernetes要求):执行swapoff -a临时关闭,编辑/etc/fstab文件删除或注释swap行永久关闭。
    • 关闭防火墙和SELinux(避免网络拦截):systemctl stop firewalld & & systemctl disable firewalld(CentOS);sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config & & setenforce 0(CentOS)。
    • 配置hosts文件:在每台节点的/etc/hosts中添加集群节点IP与主机名映射(如192.168.1.10 master192.168.1.11 node1),确保主机名解析一致。

2. 安装Docker容器运行时

Kubernetes依赖容器运行时管理容器,常用Docker作为运行时(也可选择containerd):

  • Ubuntu/Debian
    sudo apt update &
        &
         sudo apt install -y docker.io
    sudo systemctl start docker &
        &
         sudo systemctl enable 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 docker-ce-cli containerd.io
    sudo systemctl start docker &
        &
         sudo systemctl enable docker
    
  • 验证安装:docker version(显示客户端与服务端版本信息即为成功)。

3. 安装Kubernetes核心组件

安装kubeadm(集群初始化工具)、kubelet(节点代理)、kubectl(命令行工具):

  • Ubuntu/Debian
    sudo apt update &
        &
         sudo apt install -y apt-transport-https curl
    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 apt-mark hold kubelet kubeadm kubectl  # 锁定版本避免自动升级
    
  • CentOS/RHEL
    cat <
        <
        EOF >
         /etc/yum.repos.d/kubernetes.repo
    [kubernetes]
    name=Kubernetes
    baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
    enabled=1
    gpgcheck=1
    repo_gpgcheck=1
    gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
    EOF
    sudo yum install -y kubelet-1.28.0 kubeadm-1.28.0 kubectl-1.28.0  # 指定版本(如1.28.0)
    sudo systemctl enable kubelet &
        &
         sudo systemctl start kubelet
    
  • 验证安装:kubeadm versionkubectl version --client(显示版本信息即为成功)。

4. 初始化Master节点

Master节点负责集群管理(调度、控制平面),执行以下命令初始化:

sudo kubeadm init \
  --apiserver-advertise-address=<
    Master节点IP>
     \  # 指定Master节点IP
  --pod-network-cidr=10.244.0.0/16 \              # 指定Pod网络CIDR(需与后续网络插件匹配)
  --image-repository registry.aliyuncs.com/google_containers  # 使用国内镜像加速
  • 初始化完成后,终端会输出关键信息
    • kubeadm join命令(用于将Worker节点加入集群,需保存);
    • 提示配置kubectl:mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config(配置kubectl访问集群权限)。

5. 部署网络插件

Kubernetes需要网络插件实现Pod间通信,常用Calico(高性能、支持网络策略):

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
  • 验证网络插件:kubectl get pods -n kube-system(所有Pod状态应为Running)。

6. 加入Worker节点

Worker节点负责运行应用容器,将Master节点初始化输出的kubeadm join命令复制到Worker节点执行:

sudo kubeadm join <
    Master节点IP>
    :6443 \
  --token <
    生成的Token>
     \
  --discovery-token-ca-cert-hash sha256:<
    生成的Hash>

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

7. 验证集群状态

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

kubectl get nodes  # 查看节点状态(所有节点应为Ready)
kubectl get pods --all-namespaces  # 查看所有命名空间的Pod状态(应为Running)
  • 若节点状态为NotReady,需检查:Docker/Kubelet服务是否运行、网络插件是否部署成功、节点间网络是否通畅。

8. (可选)部署Kubernetes Dashboard

Dashboard是Kubernetes的Web管理界面,方便可视化操作:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
  • 创建访问令牌:
    kubectl create serviceaccount dashboard-admin-sa
    kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=default:dashboard-admin-sa
    kubectl get secret $(kubectl get sa dashboard-admin-sa -o jsonpath="{
    .secrets[0].name}
    ") -o go-template="{
    {
    .data.token}
    }
        " | base64 -d
    
  • 访问Dashboard:通过kubectl proxy启动代理,然后在浏览器输入http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/,输入令牌登录。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux环境下Kubernetes部署步骤是什么
本文地址: https://pptw.com/jishu/742397.html
怎样在Linux上快速搭建Kubernetes Kubernetes在Linux上如何高效部署

游客 回复需填写必要信息