构建 Linux&Windows 混合式的 Kubernetes 集群系统 - (2)集群规划与准备工作

701 阅读3分钟

集群规划与准备工作

在本系列的演练中,我们将构建一个小型的混合式 Kubernetes 集群系统,请根据以下清单准备相关设备、工具、文件

注意:本文主要对整篇系列文章中涉及到的静态资源进行了汇总,可作为接下来演练部分的参考作用。本文在整篇系列文章未完结前可能会有所变动。

集群服务器设备

以下服务器设备可以使用物理计算机,也可以通过虚拟化技术创建相关虚拟机,为了尽可能隔离出有效可靠的环境,我们借助于一台设备安装 aikuai 软路由系统,并将其他设备通过该软路由系统组成私有网络。

以下IP地址带有(公)的指的是公有网络IP,这里的公有网络并不完全指互联网,也可以是已经和互联网 NAT 的局域网,如果读者你在企业网络环境中,则这里的公网就是你们企业的办公网络。而IP地址带有(私)的指的是私有网络IP,和之前提到的一致,我们将通过安装 aikuai 软路由系统来组成一个私有网络。

另外,因为角色 Router 需要具有2个IP地址,所以 Router 需要两张网卡,网卡1接入到公有网络交换机中,网卡2接入到私有网络交换机中,其他设备的网卡都接入到私有网络交换机中。

以下设备无需安装系统,在接下来的演练中,我们会演练如何安装系统。

角色 系统 CPU 内存 硬盘 IP地址
Router aikuai 1个 1GB 1GB 10.0.5.5(公)/10.10.5.1(私)
Master Ubuntu18.04(未安装) 4个 4GB 100GB 10.10.5.10(私)
Node Ubuntu18.04(未安装) 4个 4GB 100GB 10.10.5.21(私)
Node Windows Server 2019(未安装) 4个 8GB 100GB 10.10.5.31(私)

其他服务器设备

因为 Kubernetes 所使用的Docker镜像一般都来自美国等地区的海外仓库,而中国的长城过于强大,会导致我们无法顺畅的拉取相关镜像,所以需要准备一台海外的服务器(最好是香港的)来搭建私有的 Docker Registry

角色 系统 CPU 内存 硬盘 IP地址
Docker Registry Server Ubuntu18.04 1个 2GB 500GB 不限(公)

系统ISO镜像文件

名称 版本 获取途径
aikuai iKuai8_3.3.3_Build202002040918 www.ikuai8.com/component/d…
Ubuntu Server 18.04.4 LTS ubuntu.com/download/se…
Windows Server 2019 1909 msdn.itellyou.cn

网络规划

子网 可用地址 描述
10.10.5.0/24 254个 服务器间物理网络
10.244.0.0/16 65534个 Kubernetes 集群中的 Pod 网络
10.96.0.0/12 1048574个 Kubernetes 集群中的 Service 网络

常用的工具安装指南

安装 Docker 引擎

我们采用 中国科技大学APT Repository 来安装 Docker 引擎 首先使用 su 命令切换到 root 用户,然后执行以下脚本:

apt update
apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt update
apt install docker-ce=18.06.3~ce~3-0~ubuntu -y

完成后,我们通过 docker version 查看一下已安装的 docker 引擎版本号,一切正常的话,你应该可以看到以下信息:

Client:
 Version:           18.06.3-ce
 API version:       1.38
 Go version:        go1.10.3
 Git commit:        d7080c1
 Built:             Wed Feb 20 02:28:10 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server:
 Engine:
  Version:          18.06.3-ce
  API version:      1.38 (minimum version 1.12)
  Go version:       go1.10.3
  Git commit:       d7080c1
  Built:            Wed Feb 20 02:26:34 2019
  OS/Arch:          linux/amd64
  Experimental:     false