2.0 kubernetes手动安装概览

本文选择安装kubernetes最新的稳定版本

01.集群架构

0101.高可用集群设计

设计集群架构时我们需要考虑如下几个问题:

  • 整个集群的主要构成元素为服务器组。一组服务器具有相同的硬件配置,服务相同的功能,在软件配置上也基本相同。这样为服务器的自动化管理打下了很好的基础。

  • 由3台服务器组成的etcd集群,在其中任何一台服务器离线时,均可以正常工作。为整个Kubernetes集群的数据持久化保存提供了稳定可靠的基础

  • 3台同时运行着Kubernetes核心组件kube-apiserverkube-controller-managerkube-scheduler的服务器,为整个集群的控制平面提供了高可用性。

  • 多个运行节点服务器组,有着不同的CPU,内存,磁盘配置。让我们可以灵活的根据业务对运行环境的要求来选择不同的服务器组。

集群的架构如下如分为3个服务器群组,其中master node上部署apiserver scheduler controller management etcd

0102.核心组件的关系

通过图解我们可以得出k8s中最重要的组件是etcd和kube-apiserver, 其中etcd作为k8s存储信息库, API Server提供所有组件的API访问接口

02.部署环境介绍

kubernetes Master Node

kube-apiserver kube-scheduler kube-controller-manager 目前这三个组件需要部署在同一台机器上。

  • kube-scheduler kube-controller-manager kube-apiserver 三者的功能紧密相关;

  • 同时只能有一个 kube-schedulerkube-controller-manager 进程处于工作状态,如果运行多个,则需要通过选举产生一个 leader;

本文档记录部署一个三个节点的高可用 kubernetes master 集群步骤。

kubernetes Worker Node

kubelet kube-proxy 需要部署在同一台机器上

集群主机信息以及部署软件规划

IP

备注

10.40.61.116

etcd,kube-apiserver,kube-controller-manager,kubelet,kube-proxy,kube-scheduler

10.40.58.153

etcd,kube-apiserver,kube-controller-manager,kubelet,kube-proxy,kube-scheduler

10.40.58.154

etcd,kube-apiserver,kube-controller-manager,kubelet,kube-proxy,kube-scheduler

03.主要组件及部署信息

Kubernetes 部署的版本信息:

  • Kubernetes: v1.18.0

  • Etcd: v3.4.6

  • Docker: v19.03.8-ce

  • Flannel: v0.12.0

Kubernetes 部署的信息:

  • Cluster IP CIDR: 10.243.0.0/16 #集群中pod分配网段

  • Service Cluster IP CIDR: 10.244.0.0/16 #集群中service分配网断

  • Service DNS IP: 10.244.0.10

  • DNS: cluster.local

  • Kubernetes API VIP: apiserver-p001.svc.gxd88.cn

  • Etcd Cluster IP: https://10.40.61.116:2380,https://10.40.58.153:2380,https://10.40.58.154:2380

04.安装步骤

参考

最后更新于