使用kubeadm部署k8s集群:详细规划与步骤

需积分: 0 1 下载量 110 浏览量 更新于2024-06-30 收藏 4.25MB PDF 举报
"该文档是关于使用Kubernetes (k8s) 部署和使用的教程,由曲中岭编写,旨在指导用户如何利用k8s搭建集群并实现相关功能。文档涵盖了部署前的规划、操作系统环境、节点配置以及k8s组件的版本和安装方法。" 在本教程中,作者首先明确了部署k8s集群的目的,即通过k8s来建立和管理集群,实现各种功能。接着,规划了集群的硬件和软件环境,所有节点均采用CentOS 7.5 x64操作系统。集群包含一个master节点(docker07,IP为172.16.6.37)和三个node节点(docker08, docker09, docker10,IP分别为172.16.6.38, 172.16.6.39, 172.16.6.40)。 所有节点上都将安装Docker-ce 18.09.0,而k8s的核心组件包括kubeadm, kubectl, kubelet, kube-proxy, flannel, pause, apiserver, controller-manager, scheduler以及etcd。这些组件的版本统一为v1.13.3,除了etcd,其版本为3.2.24。其中,etcd作为分布式键值存储,用于k8s中的数据持久化,它被托管在pod上运行。 在k8s的网络规划中,pod网络分配了10.244.0.0/16的地址范围,service网络为10.96.0.0/12,而节点网络则使用172.20.0.0/16的地址。 文档还提到了k8s的两种部署方式,第一种是使用kubeadm进行部署。kubeadm是一个工具,可以简化k8s集群的初始化和升级过程。通过kubeadm,大部分k8s组件会被管理在pod中,但kubelet和docker由于是宿主机上的守护进程,必须在每个节点上单独安装。etcd通常也是以静态pod的形式运行。flannel作为网络插件,确保跨节点的pod通信。 此外,文档还暗示了k8s中的一些组件可以运行为自托管的pod,这意味着它们不受k8s自身管理,而是直接在宿主机上启动和运行,这提供了更高的灵活性和可控性。 这篇教程涵盖了k8s集群的基础架构、组件版本、网络配置以及部署策略,对于想要学习和实践k8s部署的读者来说,是一份详实的指南。