Kubernetes1.11.0集群搭建

集群架构

节点IP地址 角色 安装组件名称
172.16.18.150 master(管理节点) docker、etcd、kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy、flannel
172.16.18.151 node(计算节点) docker、etcd、kubelet、kube-proxy、flannel
172.16.18.152 node(计算节点) docker、etcd、kubelet、kube-proxy、flannel

软件版本

系统初始化

1.ssh密钥授信

2.升级内核
第一步:添加中科大的elrepo的yum源

第二步:安装最新的内核版本:

第三步:修改grub默认的内核版本

运行grub2-mkconfig 命令来重新创建内核配置

第四步:重启服务器并查看是否已更新到最新内核版本

注意:别忘了其他两个节点也升级内核

3.安装docker
第一步:安装Docker的yum源

第二步:安装Docker:

第三步:启动后台进程:

4.创建部署目录
在三台节点上创建部署目录

配置环境变量

5.准备软件包

各软件包下载地址

在master节点上创建软件包存放目录

注意:将需要用到的软件都下载到k8s-1.11.0目录中,ssl目录作为后面创建证书存放的目录

下载kubernetes集群软件包到制定目录

解压软件包

CA证书制作

1.安装cfssl

2.初始化cfssl

3.创建用来生成 CA 文件的 JSON 配置文件

4.创建用来生成 CA 证书签名请求(CSR)的 JSON 配置文件

5.生成CA证书(ca.pem)和密钥(ca-key.pem)

6.分发证书

部署ETCD集群

1.准备etcd软件包到目录

2.创建etcd证书签名请求

3.生成etcd证书和私钥

4.将证书移动到/opt/kubernetes/ssl目录下

5.创建etcd配置文件

6.创建ETCD系统服务

7.重新加载系统服务

8.验证集群

Master节点部署

部署Kubernetes API服务

1.复制命令到制定目录

2.创建生成CSR的JSON配置文件

3.生成kubernetes证书和私钥

4.创建kube-apiserver使用的客户端token文件

5.创建基础用户名/密码认证配置

6.部署Kubernetes API Server服务

7.启动API Server服务

8.部署Controller Manager服务

9.启动Controller Manager服务

10.部署Kubernetes Scheduler服务

11.启动Kubernetes Scheduler服务

12.部署kubectl 命令行工具
第一步:复制二进制命令到指定目录

第二步: 创建admin证书签名请求

第三步: 生成admin证书和私钥

第四步: 设置集群参数

第五步: 设置客户端认证参数

第六步: 设置上下文参数

第七步: 设置默认上下文

第八步: 验证kubectl命令工具

Node节点部署

部署kubelet服务

1.复制二进制命令到node节点

2.创建角色绑定

3.创建 kubelet bootstrapping kubeconfig文件 设置集群参数

4.设置客户端认证参数

注意:这里的token就是我们前面配置的token参数

5.设置上下文参数

6.选择默认上下文

7.设置CNI支持

8.在node节点上部署kublet服务

9.启动kubelet服务

10.查看csr请求 注意是在master节点上执行

11.批准kubelet的TLS证书请求

部署Kubernetes Proxy服务

1.配置kube-proxy使用LVS

2.创建kube-proxy证书请求

3.生成证书

4.创建kube-proxy配置文件

5.创建kube-proxy服务配置

6.启动Kube-Proxy服务

Flannel网络部署

1.为Flannel生成证书

2.下载Flannel软件包

3.配置Flannel

4.配置Flannel服务

Flannel CNI集成

1.下载CNI插件

2.创建Etcd的key

3.启动Flannel服务

4.配置Docker使用Flannel

5.重启Docker服务