集群规划与准备工作
在本系列的演练中,我们将构建一个小型的混合式 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