内容正文:
课程名称
第14章 项目一:二进制方式部署Kubernetes
计划学时
4学时
内容分析
本章主要介绍环境和软件的准备、Etcd集群的安装与认证、集群证书、Master节点的部署、Node节点的部署、审批Node加入集群、shboard(Web UI)部署
教学目标
与
教学要求
要求学生掌握二进制方式部署企业级的Kubernetes集群
教学重点
Etcd集群的安装与认证、集群证书、Master节点的部署、Node节点的部署、审批Node加入集群、shboard(Web UI)部署
教学难点
Etcd集群的安装与认证、集群证书、Master节点的部署、Node节点的部署、审批Node加入集群、shboard(Web UI)部署
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(环境和软件的准备、etcd集群的安装与认证、集群证书、Master节点的部署)
回顾内容
1.介绍本书,引出本课时的主题
本章节将带领读者使用二进制方式部署企业级的Kubernetes集群。
2.明确学习目标
(1) 能够了解环境和软件的准备
(2) 能够掌握etcd集群的安装与认证
(3) 能够掌握集群证书
(4) 能够掌握Master节点的部署
知识讲解
· 环境和软件的准备
在部署集群之前,需要了解每个节点上安装的组件,以免安装过程中产生不必要的错误。
各节点上需要安装的组件如表所示。
用户可以通过访问GitHub开源代码库找到对应版本的Kubernetes二进制文件,在页面中单击“CHANGLOG”链接即可跳转到下载页面,如图所示。
本书基于Kubernetes 1.15版本进行说明,压缩包Kubernetes.tar包含Kubernetes全部的源代码、服务程序文件、文档和示例。用户可直接下载Server Binaries中的Kubernetes-server-linux-amd64.tar.gz文件,如图所示。
· etcd集群的安装与认证
1.下载cfssl认证工具
etcd作为Kubernetes集群的主数据库,存储了Flannel与Kubernetes的关键信息,需要最先部署和启动。Kubernetes1.6以上版本,安装时需要通过证书进行认证,对Kubernetes初学者并不友好。所以这里先使用CFSSL工具生成etcd证书,以保证服务可以正常运行,示例代码如下:
2.创建etcd认证证书
CFSSL工具下载完成后,需要创建三个关于证书的配置文件,才可以生成etcd证书。
3.下载并安装etcd
etcd证书生成后,便可以进行etcd集群的搭建。从GitHub开源代码库下载etcd二进制文件,并解压安装,示例代码如下:
将先前生成etcd证书复制到指定位置,并将服务设置为开机自启,以确保认证成功,代码如下:
三个节点的etcd服务部署完成后,在Master上即可以检查etcd集群状态,出现以下返回结果则表示成功。代码如下:
· 集群证书
在节点上不仅需要安装etcd组件,还需要安装kube-apiserver、kube-proxy等组件,这些组件在使用期间也需要认证。为了保证与先前的证书不冲突,可以新建一个目录来存放需要生成的证书。
创建ca-config.json、ca-csr.json两个文件来生成CA认证证书,文件内容如下所示。
创建server-csr.json文件用于生成API Server证书,文件内容如下所示。
创建kube-proxy-csr.json文件用于生成kube-proxy证书,文件内容如下所示。
最终生成的认证文件如下所示。
· Master节点的部署
证书生成后即可开始对集群中组件进行部署,Master节点上需要安装的组件包括kube-apiserver、kube-schduler、kube-controller-manager,下面详细介绍这些组件的安装过程。
1.kube-apiserver组件部署
前面已经介绍了如何下载Kubernetes二进制包。将下载完成的二进制文件解压即可得到集群部署所需的所有组件,示例代码如下:
将解压后文件中的kube-apiserver、kube-scheduler、kube-controller-manager、kubectl复制到指定目录,代码如下:
将生成的证书server.pem、server-key.pem、ca.pem、ca-key.pem复制到指定目录。并创建kube-apiserver组件的配置文件,示例代码如下:
kube-apiserver配置文件中的参数说明如表所示。
2.kube-schduler组件部署
kube-schduler组件同样需要在Master节点上进行部署,创建kube-schdu