写点什么

05 K8S 之 kubeadm 介绍

发布于: 16 小时前
05 K8S之kubeadm介绍

kubeadm 是 Kubernetes 社区提供的集群构建工具,它负责构建一个最小化可用集群并执行启动等必要的基本步骤,简单来讲,kubeadm 是 Kubernetes 集群全生命周期管理工具,可用于实现集群的部署、升级/降级及卸载等。


kubeadm 专注于在现有基础架构上引导 Kubernetes 集群启动并执行一系列基本的维护任务,其功能未涉及底层基础环境的构建,仅仅是为集群添加最为要紧的核心附件 CoreDNS 和 kube-proxy。余下的其他附件,例如 Kubernetes Dashboard、监控系统和日志系统等必要的附加组件则不在 kubeadm 考虑范围内,这些附加组件由管理员按需自行部署。


kubeadm 的核心工具是 kubeadm init 和 kubeadm join,前者用于创建新的控制平面节点,后者则用于将节点快速连接到指定的控制平面,它们是创建 Kubernetes 集群最佳实践的“快速路径”。


kubeadm 遵循最佳实践的方式部署 Kubernetes 集群,它强制启用 RBAC,设定 Master 的各组件间以及 API Server 与 kubelet 之间进行认证和安全通信,并锁定了 kubelet API 等。


Kubernetes 集群可部署为 3 种运行模式。

1)独立组件模式:Master 各组件和 Node 各组件直接以守护进程方式运行于节点之上,以二进制程序部署的集群隶属于此种类型。


2)静态 Pod 模式:控制平面的各组件以静态 Pod 对象形式运行在 Master 主机之上,而 Node 主机上的 kubelet 和 Docker 运行为系统级守护进程,kube-proxy 托管于集群上的 DaemonSet 控制器。

3)自托管(self-hosted)模式:类似于第二种模式,但控制平面的各组件运行为 Pod 对象(非静态),并且这些 Pod 对象同样托管运行在集群之上,且同样受控于 DaemonSet 类型的控制器。


使用 kubeadm 部署的 Kubernetes 集群可运行为第二种或第三种模式,默认为静态 Pod 对象模式,当需要使用自托管模式时,可使用 kubeadm init 命令的--features-gates=selfHosting 选项激活。


kubeadm 拉起一个 Kubernetes 集群主要需要两个步骤:先在第一个 Master 主机上运行 kubeadm init 命令初始化控制平面,待其完成后,在其他主机上运行 kubeadm join 命令逐一加入控制平面,进而成为集群成员。


发布于: 16 小时前阅读数: 6
用户头像

InfoQ签约作者 2018.11.30 加入

热爱生活,收藏美好,专注技术,持续成长

评论

发布
暂无评论
05 K8S之kubeadm介绍