Kubernetes 1.17.3二进制安装教程:结合Docker 19.03.4与Etcd 3.4.4

需积分: 0 4 下载量 113 浏览量 更新于2024-07-14 收藏 2.06MB PDF 举报
"该文档详细介绍了如何在特定的软件版本环境下,即k8s 1.17.3、docker 19.03.4和etcd 3.4.4,通过二进制方式安装 Kubernetes 集群。集群包含多个节点,包括master节点和worker节点,其中部分节点具有GPU支持。此外,文档还提到了网络配置如Service Cluster IP和Flannel IP。" 在Kubernetes(k8s)1.17.3版本的二进制安装过程中,首先需要确保所有参与的主机操作系统是兼容的,这里用的是CentOS 7.6.1810,并且预先安装了相应的软件版本,如etcd 3.4.4用于分布式存储,docker 19.03.4作为容器运行时环境。 1. **部署环境**: - **主机列表**:集群由3个master节点(K8smaster01、K8smaster02、K8smaster03)和3个worker节点(K8snode01、K8snode02、K8snode-gpu)组成,每个节点都配置了4核4GB内存。 - **软件版本**:所有master节点上的kubelet、kubeadm和kubectl版本均为1.17.3,worker节点上同样如此。kubectl是可选安装的,用于命令行操作Kubernetes。 - **网络设置**:Service Cluster IP范围为172.18.0.0/16,Flannel Pod IP范围为172.19.0.0/16,而API Server的Cluster IP为10.111.104.172,这是集群的控制平面通信的关键地址。 2. **安装步骤**: - **初始化master节点**:首先,要在master节点上执行`kubeadm init`以初始化集群,这会创建必要的服务和网络策略,并生成配置文件。 - **配置worker节点**:worker节点需要获取master节点的Join命令,通过`kubeadm join`命令连接到集群。 - **配置网络插件**:文档中提到的Flannel v0.11.0是一个简单的网络插件,它为Pod提供跨节点通信的能力,IP范围为172.19.0.0/16。 - **GPU节点**:K8snode-gpu是一个特殊节点,具备GPU支持,可以运行需要GPU资源的Pod。 3. **集群高可用性**: - 为了提高集群的稳定性和可用性,通常会在多个master节点上部署控制平面组件,以实现故障转移。这里的集群可能采用了这种设计,每个master节点都有相同的配置和软件版本。 - 使用etcd集群来存储Kubernetes的状态数据,确保数据的持久化和一致性。 4. **后续配置**: - 配置kubeconfig文件,使得kubectl可以在各个节点上访问API Server。 - 安装并配置Ingress控制器,以便对外暴露服务。 - 安全性考虑,例如设置RBAC规则,限制不同用户和角色的权限。 5. **维护与升级**: - 定期检查节点状态,确保所有服务正常运行。 - 需要时进行版本升级,例如从1.17.3升级到更高版本,这通常涉及备份当前状态、按照新版本的指导步骤操作和验证升级后的功能。 6. **注意事项**: - 在安装过程中,必须遵循官方文档的指导,尤其是在配置网络和安全策略时。 - 确保所有节点的时间同步,避免时间不一致导致的问题。 这个文档详细记录了安装过程中的所有关键步骤和配置,对于搭建一个基于k8s 1.17.3、docker 19.03.4和etcd 3.4.4的Kubernetes集群非常有帮助。在实际操作中,还需要结合实际情况进行调整,例如防火墙设置、磁盘存储配置等。