当前位置:网站首页 > 容器化与Kubernetes > 正文

kubelet二进制文件(kubernetes二进制安装部署)



kubernetes之安装部署(二进制包方式)

  • 一、安装部署简介
  • 二、kubernetes(二进制包方式)安装部署
  • 1.部署etcd集群
  • 1.1 生成etcd证书
  • 1.2下载/解压etcd二进制包
  • 1.3 创建etcd配置文件
  • 1.4 systemd管理etcd,创建etcd服务文件
  • 1.5 启动并设置开启启动etcd服务
  • 1.6 验证etcd部署成功
  • 2.安装Docker
  • 3.部署Flannel网络
  • 3.1etcd写入预定义子网段
  • 3.2下载/解压flannel二进制包
  • 3.3配置Flannel
  • 3.4systemd管理Flannel,创建flannel服务
  • 3.5配置Docker启动指定子网段,重新创建docker.service
  • 3.6重启flannel和docker
  • 3.7验证flannel和docker是否生效
  • 4.安装部署kubernetes
  • 4.1生成证书
  • 4.2下载/解压kubernetes二进制包
  • 4.3master节点部署apiserver
  • 4.4master节点部署schduler
  • 4.5master节点部署controller-manager
  • 4.6查看当前集群组件状态
  • 5.在master节点上绑定系统集群角色
  • 5.1将kubelet-bootstrap用户绑定到系统集群角色
  • 5.2创建kubeconfig文件
  • 6.把master节点作为node添加进来
  • 6.1.master节点上部署kubelet组件
  • 6.2master节点上部署kube-proxy
  • 7.创建一个Nginx Web,判断集群是否正常工作

        本次采用二进制包方式安装部署kubernetes,其必须的组件有等组件。

  • 操作系统:centos7.5
  • 机器1台:172.27.19.143(即作master也作为node节点)
  • etcd文件目录结构
    /opt
    ├ ─ ─ etcd
                   ├ ─ ─ bin(存放etcd相关可执行文件或命令,如etcd、etcdctl)
                   ├ ─ ─ cfg(存放etcd相关配置文件,如etcd.conf配置文件)
                   ├ ─ ─ ssl(存放etcd证书相关文件,如*.pem文件)
                   ├ ─ ─ logs(存放etcd服务日志文件)
                   ├ ─ ─ data(存放etcd相关数据文件)
  • kubernetes文件目录结构
    /opt
    ├ ─ ─ kubernetes
                       ├ ─ ─ bin(存放kubernetes相关可执行文件或命令,如kube-apiserver、kubelet、kubectl等等)
                       ├ ─ ─ cfg(存放kubernetes相关配置文件)
                       ├ ─ ─ ssl(存放kubernetes证书相关文件,如*.pem文件)
                       ├ ─ ─ logs(存放kubernetes服务日志文件)
                       ├ ─ ─ data(存放kubernetes相关数据文件)
  • 前期准备
    1.关闭防火墙、关闭selinux、关闭swapoff -a;
    2.下载cfssl工具
  • kubernetes环境安装部署流程
    一、部署etcd集群
                 ├ ─ ─ 1.生成etcd证书
                                      ├ ─ ─ 1.1创建CA证书配置ca-config.json
                                      ├ ─ ─ 1.2创建CA证书签名请求配置ca-csr.json
                                      ├ ─ ─ 1.3创建etcd证书签名请求配置server-csr.json
                                      ├ ─ ─ 1.4执行cfssl命令生成证书
                                      ├ ─ ─ 1.5把生成的证书放到/opt/etcd/ssl目录下
                 ├ ─ ─ 2.下载/解压etcd二进制包
                 ├ ─ ─ 3.创建etcd配置文件
                 ├ ─ ─ 4.systemd管理etcd,创建etcd服务文件
                 ├ ─ ─ 5.启动并设置开启启动etcd服务
                 ├ ─ ─ 6.验证etcd部署成功
    二、安装Docker
    三、部署Flannel网络
                 ├ ─ ─ 1.Flannel要用etcd存储自身一个子网信息,写入预定义子网段
                 ├ ─ ─ 2.下载/解压flannel二进制包
                 ├ ─ ─ 3.配置Flannel
                 ├ ─ ─ 4.systemd管理Flannel,创建flannel服务
                 ├ ─ ─ 5.配置Docker启动指定子网段,重新创建docker.service
                 ├ ─ ─ 6.重启flannel和docker
                 ├ ─ ─ 7.验证flannel和docker是否生效
    四、安装部署kubernetes(在master节点上部署apiserver、scheduler、controller-manager组件)
                 ├ ─ ─ 1.生成证书
                                      ├ ─ ─ 1.1 创建CA证书配置ca-config.json
                                      ├ ─ ─ 1.2 创建CA证书签名请求配置ca-csr.json
                                      ├ ─ ─ 1.3 创建kubernetes证书签名请求配置server-csr.json
                                      ├ ─ ─ 1.4 创建kube-proxy证书签名请求配置kube-proxy-csr.json
                                      ├ ─ ─ 1.5 执行cfssl命令生成证书
                                      ├ ─ ─ 1.6 把生成的证书放到/opt/kubernetes/ssl目录下
                 ├ ─ ─ 2.下载/解压kubernetes二进制包
                 ├ ─ ─ 3.master节点部署apiserver
                                      ├ ─ ─ 3.1 创建token文件token.csv
                                      ├ ─ ─ 3.2 创建apiserver配置文件kube-apiserver.conf
                                      ├ ─ ─ 3.3 systemd管理apiserver,创建kube-apiserver服务
                                      ├ ─ ─ 3.4 启动kube-apiserver服务
                                      ├ ─ ─ 3.5 验证kube-apiserver服务是否启动成功
                 ├ ─ ─ 4.master节点部署schduler.conf
                                      ├ ─ ─ 4.1 创建schduler配置文件kube-scheduler
                                      ├ ─ ─ 4.2 systemd管理schduler,创建kube-scheduler服务
                                      ├ ─ ─ 4.3 启动kube-scheduler服务
                                      ├ ─ ─ 4.4 验证kube-scheduler服务是否启动成功
                 ├ ─ ─ 5.master节点部署controller-manager
                                      ├ ─ ─ 5.1 创建controller-manager配置文件kube-controller-manager.conf
                                      ├ ─ ─ 5.2 systemd管理controller-manager,创建kube-controller-manager服务
                                      ├ ─ ─ 5.3 启动kube-controller-manager服务
                                      ├ ─ ─ 5.4 验证kube-controller-manager服务是否启动成功
                 ├ ─ ─ 6.所有组件都启动成功后,通过kubectl工具查看当前集群组件状态
    五、在master节点上绑定系统集群角色
                 ├ ─ ─ 1.将kubelet-bootstrap用户绑定到系统集群角色
                 ├ ─ ─ 2.创建kubeconfig文件
    六、把master节点作为node添加进来(部署kubelet、kube-proxy组件)
                 ├ ─ ─ 1.master节点上部署kubelet组件
                                      ├ ─ ─ 1.1 创建kubelet配置文件kubelet.conf
                                      ├ ─ ─ 1.2 systemd管理kubelet,创建kubelet服务
                                      ├ ─ ─ 1.3 启动kubelet服务
                                      ├ ─ ─ 1.4 验证kubelet服务是否启动成功
                                      ├ ─ ─ 1.5 在Master审批Node加入集群
                                      ├ ─ ─ 1.6 给master节点添加roles,以便跟node区分(一般不用于调度pod)
                 ├ ─ ─ 2.master节点上部署kube-proxy
                                      ├ ─ ─ 2.1 创建kube-proxy kubeconfig文件
                                      ├ ─ ─ 2.2 创建kube-proxy配置文件kube-proxy.conf
                                      ├ ─ ─ 2.3 systemd管理kube-proxy,创建kube-proxy服务
                                      ├ ─ ─ 2.4 启动kube-proxy服务
                                      ├ ─ ─ 2.5 验证kube-proxy服务是否启动成功
    七、创建一个Nginx Web,判断集群是否正常工作
  • 提前关闭防火墙、关闭selinux、关闭swapoff -a
  • 提前下载cfssl工具
  • 创建etcd存放相关数据的目录

1.1 生成etcd证书

  • 创建CA证书配置ca-config.json

知识点:
:表示过期时间,如果不写以default中的为准;
:可以定义多个 profiles,分别指定不同的过期时间、使用场景等参数;后续在签名证书时使用某个 profile;此实例只有一个etcd模板。
:表示该证书可用于签名其它证书;生成的 ca.pem 证书中 CA=TRUE;
:表示client可以用该 CA 对server提供的证书进行验证;
:表示server可以用该CA对client提供的证书进行验证;
注意标点符号,最后一个字段一般是没有都好的。

  • 创建CA证书签名请求配置ca-csr.json

知识点:
:Common Name,kube-apiserver 从证书中提取该字段作为请求的用户名 (User Name)
:生成证书的算法
:一些其它的属性,如、、分别代表国家、省份、城市;而:Organization,kube-apiserver 从证书中提取该字段作为请求用户所属的组 (Group),进行RBAC绑定;

  • 创建etcd证书签名请求配置server-csr.json
  • 执行cfssl命令生成证书

知识点:cfssljson只是整理json格式,-bare主要的意义在于生成证书文件的命名

  • 把生成的证书放到/opt/etcd/ssl目录下

1.2下载/解压etcd二进制包

1.3 创建etcd配置文件

注意:ETCD_DATA_DIR的路径需要提前创建,否则可能会报错;

1.4 systemd管理etcd,创建etcd服务文件

1.5 启动并设置开启启动etcd服务

1.6 验证etcd部署成功

  • 直接通过yum源安装docker
  • 配置yun源后再安装docker
  • 本地rpm包安装

3.1etcd写入预定义子网段

3.2下载/解压flannel二进制包

3.3配置Flannel

3.4systemd管理Flannel,创建flannel服务

3.5配置Docker启动指定子网段,重新创建docker.service

3.6重启flannel和docker

3.7验证flannel和docker是否生效

  • 创建kubernetes存放相关数据的目录

4.1生成证书

  • 创建CA证书配置ca-config.json
  • 创建CA证书签名请求配置ca-csr.json
  • 创建kubernetes证书签名请求配置server-csr.json
  • 创建kube-proxy证书签名请求配置kube-proxy-csr.json
  • 执行cfssl命令生成证书
  • 把生成的证书放到/opt/kubernetes/ssl目录下

4.2下载/解压kubernetes二进制包

4.3master节点部署apiserver

  • 创建token文件token.csv
  • 创建apiserver配置文件kube-apiserver.conf
  • systemd管理apiserver,创建kube-apiserver服务
  • 启动kube-apiserver服务
  • 验证kube-apiserver服务是否启动成功

4.4master节点部署schduler

  • 创建schduler配置文件kube-scheduler.conf
  • systemd管理schduler,创建kube-scheduler服务
  • 启动kube-scheduler服务
  • 验证kube-scheduler服务是否启动成功

4.5master节点部署controller-manager

  • 创建controller-manager配置文件kube-controller-manager.conf
  • systemd管理controller-manager,创建kube-controller-manager服务
  • 启动kube-controller-manager服务
  • 验证kube-controller-manager服务是否启动成功

4.6查看当前集群组件状态

5.1将kubelet-bootstrap用户绑定到系统集群角色

5.2创建kubeconfig文件

        node节点添加进集群其配置基本组件为就可以了,但是node节点主要用来调度Pod,若其service服务需要提供clusterip或nodeport访问方式,还需要部署组件。

6.1.master节点上部署kubelet组件

  • 创建kubelet配置文件kubelet.conf
  • systemd管理kubelet,创建kubelet服务
  • 启动kubelet服务
  • 验证kubelet服务是否启动成功
  • 在Master审批Node加入集群
  • 给master节点添加roles,以便跟node区分(一般不用于调度pod)

6.2master节点上部署kube-proxy

  • 创建kube-proxy kubeconfig文件
  • 创建kube-proxy配置文件kube-proxy.conf
  • systemd管理kube-proxy,创建kube-proxy服务
  • 启动kube-proxy服务
  • 验证kube-proxy服务是否启动成功
  • 创建一个Nginx Web
  • 查看Pod,Service
  • 访问nginx服务

注意: 在pod所在机器172.27.19.143上直接通过curl 127.0.0.1:35419或curl localhost:35419访问不通可能是哪里少了配置。

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

版权声明


相关文章:

  • 公司的阶级(公司的阶级分化)2025-03-28 18:45:06
  • list字符串转换成list(list字符串转化为list 对象)2025-03-28 18:45:06
  • rknn模型(rknn模型量化)2025-03-28 18:45:06
  • 启动docker容器命令(启动 docker)2025-03-28 18:45:06
  • kvm虚拟化原理(简述kvm虚拟化功能特性及优缺点?)2025-03-28 18:45:06
  • 字符串转换为int数组(字符串转化为int)2025-03-28 18:45:06
  • kubernetes中kubelet主要功能(kubernetes的功能)2025-03-28 18:45:06
  • 启动docker容器命令(docker启动容器命令解释)2025-03-28 18:45:06
  • docker版本降级(docker容器降级)2025-03-28 18:45:06
  • docker启动容器命令解释(docker 启动容器命令)2025-03-28 18:45:06
  • 全屏图片