• K8S:使用kubeadm一键部署


    一键部署

    # 创建一个Master节点
    $ kubeadm init
    
    # 将一个Node节点加入到当前集群中
    $ kubeadm join <Master节点的IP和端口>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    kubeadm 的工作原理

    • Kubernetes 的架构和它的组件。在部署时,它的每一个组件都是一个需要被执行的、单独的二进制文件。所以不难想象,SaltStack 这样的运维工具或者由社区维护的脚本的功能,就是要把这些二进制文件传输到指定的机器当中,然后编写控制脚本来启停这些组件
    • 为什么不用容器部署 Kubernetes ?
    • 除了跟容器运行时打交道外,kubelet 在配置容器网络、管理容器数据卷时,都需要直接操作宿主机。而如果现在 kubelet 本身就运行在一个容器里,那么直接操作宿主机就会变得很麻烦。对于网络配置来说还好,kubelet 容器可以通过不开启 Network Namespace(即 Docker 的 host network 模式)的方式,直接共享宿主机的网络栈。可是,要让 kubelet 隔着容器的 Mount Namespace 和文件系统,操作宿主机的文件系统,就有点儿困难
    • kubeadm选择把 kubelet 直接运行在宿主机上,然后使用容器部署其他的 Kubernetes 组件
    • 使用 kubeadm 的第一步,是在机器上手动安装 kubeadm、kubelet 和 kubectl 这三个二进制文件。下来,就可以使用“kubeadm init”部署 Master 节点了。
    • 执行 kubeadm init 指令后,kubeadm 首先要做的,是一系列的检查工作,以确定这台机器可以用来部署 Kubernetes。这一步检查,我们称为“Preflight Checks”
    • 在通过了 Preflight Checks 之后,kubeadm 要为你做的,是生成 Kubernetes 对外提供服务所需的各种证书和对应的目录。
    • 证书生成后,kubeadm 接下来会为其他组件生成访问 kube-apiserver 所需的配置文件。这些文件的路径是:/etc/kubernetes/xxx.conf
    • 接下来,kubeadm 会为 Master 组件生成 Pod 配置文件。我已经在上一篇文章中和你介绍过 Kubernetes 有三个 Master 组件 kube-apiserver、kube-controller-manager、kube-scheduler,而它们都会被使用 Pod 的方式部署起来
    • 然后,kubeadm 就会为集群生成一个 bootstrap token。在后面,只要持有这个 token,任何一个安装了 kubelet 和 kubadm 的节点,都可以通过 kubeadm join 加入到这个集群当中。
    • 在 token 生成之后,kubeadm 会将 ca.crt 等 Master 节点的重要信息,通过 ConfigMap 的方式保存在 Etcd 当中,供后续部署 Node 节点使用
    • kubeadm init 的最后一步,就是安装默认插件。Kubernetes 默认 kube-proxy 和 DNS 这两个插件是必须安装的。它们分别用来提供整个集群的服务发现和 DNS 功能。其实,这两个插件也只是两个容器镜像而已,所以 kubeadm 只要用 Kubernetes 客户端创建两个 Pod 就可以了。

    kubeadm join 的工作流程

    • kubeadm 至少需要发起一次“不安全模式”的访问到 kube-apiserver,从而拿到保存在 ConfigMap 中的 cluster-info(它保存了 APIServer 的授权信息)。而 bootstrap token,扮演的就是这个过程中的安全验证的角色
  • 相关阅读:
    使用JMeter进行接口压力测试
    【Matplotlib绘制图像大全】(十六):Matplotlib绘制虚线折线图
    AI智能视频技术在考古工作中的安防应用
    自动化测试工程师简历(吐血整理)附模板
    手把手教你CSP系列之script-src
    JAVA8新特性
    Excel VLOOKUP实用教程之 02 vlookup如何双向查找,两个字段查询数据?(教程含数据excel)
    大规模 IoT 边缘容器集群管理的几种架构-2-HashiCorp 解决方案 Nomad
    Emscripten安装并配置环境变量
    (十)集合 -Set
  • 原文地址:https://blog.csdn.net/weixin_40108561/article/details/125547523