当前位置:网站首页 > 编程语言 > 正文

kubelet二进制文件(kubelet二进制文件下载)




K8s - 目录


K8s - 2 集群搭建 - 2 二进制方式

  • 一、kubernetes 集群搭建(二进制方式)
  • 1. 安装要求
  • 2. 准备环境
  • 3. 操作系统初始化
  • 4. 部署 Etcd 集群
  • 4.1 准备 cfssl 证书生成工具
  • 4.2 生成 Etcd 证书
  • 4.3 从 Github 下载二进制文件
  • 4.4 部署 Etcd 集群
  • 5. 安装 Docker
  • 6. 部署 Master Node
  • 6.1 生成 kube-apiserver 证书
  • 6.2 从 Github 下载二进制文件
  • 6.3 解压二进制包
  • 6.4 部署 kube-apiserver
  • 6.5 部署 kube-controller-manager
  • 6.6 部署 kube-scheduler
  • 7. 部署 Worker Node
  • 7.1 创建工作目录并拷贝二进制文件
  • 7.2 部署 kubelet
  • 7.3 批准 kubelet 证书申请并加入集群(master)
  • 7.4 部署 kube-proxy
  • 7.5 部署 CNI 网络
  • 7.6 授权 apiserver 访问 kubelet
  • 7.7 新增加 Worker Node

前置知识点

目前生产部署 Kubernetes 集群主要有两种方式:

kubeadm

  • Kubeadm 是一个 K8s 部署工具,提供 kubeadm init 和 kubeadm join,用于快速部 署 Kubernetes 集群。
  • 官方地址: https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/

二进制包

  • 从 github 下载发行版的二进制包,手动部署每个组件,组成 Kubernetes 集群。

Kubeadm 降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署 Kubernetes 集群,虽然手动部署麻烦点,期间可以学习很 多工作原理,也利于后期维护。

注意:

本文所需使用的命令需要在不同的服务器上操作,请注意区分:

  • master:在 master 节点操作;
  • worker:在 worker 节点操作;
  • master & worker:在 master 和worker 节点上操作。


在开始之前,部署Kubernetes集群机器需要满足以下几个条件,请务必按照以下版本进行安装(不通版本之间有较多的差异,会导致遇到一些奇怪的问题)

  • 一台或多台机器,操作系统 CentOS7.x-86_x64;
  • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多;
  • 集群中所有机器之间网络互通;
  • 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点;
  • 禁止swap分区。

软件环境:

服务器规划:

Etcd 是一个分布式键值存储系统,Kubernetes 使用 Etcd 进行数据存储,所以先准备一个 Etcd 数据库,为解决 Etcd 单点故障,应采用集群方式部署,这里使用 3 台组建集群,可容忍 1 台机器故障,当然,你也可以使用 5 台组建集群,可容忍 2 台机器故障。

注意: 为了节省机器,这里与 K8s 节点机器复用。也可以独立于 k8s 集群之外部署,只要 apiserver 能连接到就行。

4.1 准备 cfssl 证书生成工具

cfssl 是一个开源的证书管理工具,使用 json 文件生成证书,相比 openssl 更方便使用。(可以使用任意一台服务器操作,这里用 Master 节点)

4.2 生成 Etcd 证书

  1. 自签证书颁发机构(CA)
  • 创建工作目录:
  • 自签 CA:
  • 生成证书:
  1. 使用自签 CA 签发 Etcd HTTPS 证书
  • 创建证书申请文件:
  • 生成证书:

4.3 从 Github 下载二进制文件

下载地址:https://github.com/etcd-io/etcd/releases/download/v3.4.9/etcd-v3.4.9-linux-amd64.tar.gz

4.4 部署 Etcd 集群

以下在节点 1 上操作,操作完成后将节点 1 生成的所有文件拷贝到节点 2 和节点 3。

  1. 创建工作目录并解压二进制包
  1. 创建 etcd 配置文件
  1. systemd 管理 etcd
  1. 拷贝刚才生成的证书
    将生成的证书拷贝到配置文件中的路径:

  1. 启动并设置开机启动
  1. 将上面节点 1 所有生成的文件拷贝到节点 2 和节点 3

然后在节点 2 和节点 3 分别修改 etcd.conf 配置文件中的节点名称和当前服务器 IP:

最后启动 etcd 并设置开机启动,同上。

  1. 查看集群状态

如果输出上面信息,就说明集群部署成功。如果有问题第一步先看日志:

下载地址:https://download.docker.com/linux/static/stable/x86_64/docker-19.03.9.tgz

以下步骤在所有节点操作。这里采用二进制安装,用 yum 安装也一样。

  1. 解压二进制包
  1. systemd 管理 docker
  1. 创建配置文件

registry-mirrors 阿里云镜像加速器

  1. 启动并设置开机启动

6.1 生成 kube-apiserver 证书

  1. 自签证书颁发机构(CA)
  1. 生成证书:
  1. 使用自签 CA 签发 kube-apiserver HTTPS 证书
  • 创建证书申请文件:
  • 生成证书:

6.2 从 Github 下载二进制文件

下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/

注意:打开链接你会发现里面有很多包,选择对应的版本下载一个 server 包就够了,包含了 Master 和 Worker Node 二进制文件。

6.3 解压二进制包

6.4 部署 kube-apiserver

  1. 创建配置文件
  1. 拷贝刚才生成的证书
    将生成的证书拷贝到配置文件中的路径:

  1. 启用 TLS Bootstrapping 机制
    TLS Bootstraping:Master apiserver 启用 TLS 认证后,Node 节点 kubelet 和 kube-proxy 要与 kube-apiserver 进行通信,必须使用 CA 签发的有效证书才可以,当 Node节点很多时,这种客户端证书颁发需要大量工作,同样也会增加集群扩展复杂度。为了简化流程,Kubernetes 引入了 TLS bootstraping 机制来自动颁发客户端证书,kubelet 会以一个低权限用户自动向 apiserver 申请证书,kubelet 的证书由 apiserver 动态签署。所以强烈建议在 Node 上使用这种方式, 目前主要用于 kubelet ,kube-proxy 还是由我们统一颁发一个证书。
    TLS bootstraping 工作流程:

    创建上述配置文件中 token 文件:










格式: token ,用户名,UID ,用户组

token 也可自行生成替换:

  1. systemd 管理 apiserver
  1. 启动并设置开机启动

注意:若发现启动失败可通过以下命令查看错误。

  1. 授权 kubelet-bootstrap 用户允许请求证书

删除命令:

6.5 部署 kube-controller-manager

  1. 创建配置文件
  1. systemd 管理 controller-manager
  1. 启动并设置开机启动

6.6 部署 kube-scheduler

  1. 创建配置文件
  1. systemd 管理 scheduler
  1. 启动并设置开机启动
  1. 查看集群状态
    所有组件都已经启动成功,通过 kubectl 工具查看当前集群组件状态:

如上输出说明 Master 节点组件运行正常。

7.1 创建工作目录并拷贝二进制文件

创建工作目录(worker):

上传 kubernetes 压缩包 到 root 目录下并解压(worker):

copy 可执行文件到指定目录(master & worker):

7.2 部署 kubelet

  1. 创建配置文件(master & worker)
    注意:hostname-override 字段要求集群中唯一,所以每个节点需要手动修改为节点对应的主机名。

  1. 配置参数文件(master & worker)
  1. 生成 bootstrap.kubeconfig 文件(master)

拷贝到配置文件指定路径(master):

将配置文件及证书传输到 worker 节点(master):

  1. systemd 管理 kubelet(master & worker)
  1. 启动并设置开机启动(master & worker)

常用排错命令:

7.3 批准 kubelet 证书申请并加入集群(master)

注意:由于网络插件还没有部署,节点会没有准备就绪NotReady。。

7.4 部署 kube-proxy

  1. 创建配置文件(master & worker)
  1. 配置参数文件(master & worker)
    注意:hostname-override 字段要求集群中唯一,所以每个节点需要手动修改为节点对应的主机名。

  1. 生成 kube-proxy.kubeconfig 文件(master)
    生成 kube -proxy 证书:

生成 kubeconfig 文件:

拷贝到配置文件指定路径:

将配置文件传输到 worker 节点(master):

  1. systemd 管理 kube-proxy(master & worker)
  1. 启动并设置开机启动(master & worker)

7.5 部署 CNI 网络

下载地址:https://github.com/containernetworking/plugins/releases/download/v0.8.6/cni-plugins-linux-amd64-v0.8.6.tgz

上传 CNI 压缩包 到 root 目录下(master & worker):

下载 CNI 网络yaml文件(master):

部署好网络插件,Node 准备就绪。

7.6 授权 apiserver 访问 kubelet

7.7 新增加 Worker Node

  1. 拷贝已部署好的 Node相关文件到新节点(master)
  1. 删除 kubelet 证书和 kubeconfig 文件(worker)

注意:这几个文件是证书申请审批后自动生成的,每个 Node 不同,必须删除重新生成。

  1. 修改主机名(worker)
    –hostname-override=k8s-node1

hostnameOverride: k8s-node1

  1. 启动并设置开机启动(worker)
  1. 在 Master 上批准新 Node kubelet 证书申请(master)
  1. 查看 Node状态(master)

记得执行环境初始化、docker安装等步骤!!!

到此这篇kubelet二进制文件(kubelet二进制文件下载)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • max30102接线图(max3232接线图)2025-09-15 13:54:04
  • 线上小程序制作流程(线上小程序制作流程视频)2025-09-15 13:54:04
  • 在线16进制转换工具(在线进制转换工具有哪些?)2025-09-15 13:54:04
  • vx抽奖小程序(vx抽奖小程序怎样概率更高)2025-09-15 13:54:04
  • 星露谷黄金时钟代码(星露谷黄金时钟多少钱)2025-09-15 13:54:04
  • bfs广度优先搜索(广度优先搜索策略流程)2025-09-15 13:54:04
  • ovns电子烟是谁家的(ovnle电子烟)2025-09-15 13:54:04
  • u盘制作镜像安装系统怎么安装(u盘制作镜像安装系统怎么安装的)2025-09-15 13:54:04
  • 上一页 书页/目录 下一章(上一章 目录 设置)2025-09-15 13:54:04
  • 本机删除的信息在哪里能找回(删除的手机信息在哪找)2025-09-15 13:54:04
  • 全屏图片