内容正文:
课程名称
第11章 搭建Kubernetes集群
计划学时
4学时
内容分析
本章主要介绍官方提供的集群部署方式、Kubeadm方式快速部署集群、核心概念
教学目标
与
教学要求
要求学生理解玻尔兹曼机和受限玻尔兹曼机的概念、掌握能力模型、能量函数、势函数以及相应的概率分布、理解边缘分布与条件分布、理解对比散度
教学重点
Kubeadm方式快速部署集群、核心概念
教学难点
Kubeadm方式快速部署集群、核心概念
教学方式
课堂讲解及ppt演示
教
学
过
程
第一课时
(官方提供的集群部署方式、Kubeadm方式快速部署集群)
回顾内容
1.介绍本书,引出本课时的主题
当企业开始大规模使用Docker时,工程师就需要掌握很多关于网络的知识。Docker作为目前流行的轻量级容器技术,有很多令人称道的功能,如前面介绍的Docker镜像管理。然而,Docker也有很多不完善的地方,网络方面就是Docker比较薄弱的部分。作为初学者很有必要深入了解Docker的网络知识,以适应更高的网络需求。
2.明确学习目标
(1) 能够了解官方提供的集群部署方式
(2) 能够掌握Kubeadm简介
(3) 能够掌握部署系统要求
(4) 能够掌握基本环境和集群架构
(5) 能够掌握安装流程
知识讲解
· 官方提供的集群部署方式
Kubernetes系统支持四种方式在本地服务器或者云端上部署集群,用户可以根据不同的需求灵活选择,下面介绍这些安装方式的特点。
1.使用Minikube工具安装
Minikube是一种能够在计算机或者虚拟机(VM)内轻松运行单节点Kubernetes集群的工具,可实现一键部署。这种方式安装的系统在企业中大多数被当作测试系统使用。
2.使用yum安装
通过直接使用epel-release yum源来安装Kubernetes集群,这种安装方式的优点是速度快,但只能安装Kubernetes v1.5及以下的版本。
3.使用二进制编译安装
使用二进制编译包部署集群,用户需要下载发行版的二进制包,手动部署每个组件,组成Kubernetes集群。这种部署方式比较灵活,用户可以根据自身需求自定义配置,而且性能比较稳定。虽然二进制方式可以提供稳定的集群状态,但是这种方式部署步骤非常烦琐,一些细小的错误就会导致系统运行失败。
4.使用Kubeadm工具安装
Kubeadm是一种支持多节点部署Kubernetes集群的工具,该方式提供kubeadm init和kubeadm join命令插件,使用户轻松地部署出企业级的高可用集群架构。在Kubernetes 1.13版本中,Kubeadm工具已经进入了可正式发布(General Availability,GA)阶段。
· Kubeadm简介
Kubeadm是芬兰高中生卢卡斯·科尔德斯特伦(Lucas Käldström)在17岁时用业余时间完成的一个社区项目。用户可以使用Kubeadm工具构建出一个最小化的Kubernetes可用集群,但其余的附件,如安装监控系统、日志系统、UI界面等,需要管理员按需自行安装。
Kubeadm主要集成了kubeadm init和kube join工具。其中kubeadm init工具负责部署Master节点上的各个组件并将其快速初始化,kubeadm join工具负责将Node节点快速加入集群。kubeadm还支持令牌认证(bootstrap Token),因此逐渐成为企业中受青睐的部署方式。
· 部署系统要求
Kubernetes系统由一组可执行程序组成,读者可以在GitHub开源代码库的Kubernetes项目页面内下载所需的二进制文件包或源代码包。安装Kubernetes对系统和硬件的要求如表所示。
软硬件
配置说明
本书示例配置
系统要求
基于x86或x64架构的Linux发行版本,例如Red Hat、CentOS、Ubuntu等
Centos 7
CPU与内存
Master节点:至少2 core和4GB内存Node节点:根据需要运行的容器数量而定
Master:2 core 4GB内存Node:根据需要运行的容器数量而定
内核版本
Kernel版本要求在3.10及以上
3.10.0版本
软件版本
etcd:3.0版及以上Docker:18.03版本及以上
etcd:3.0版Docker:18.03版
Kubernetes支持的容器包括Docker、Containerd、CRI-O和Frakti。本书在示例中使用Docker作为容器运行环境。
本书部署Kubernetes集群使用的是三台Centos系统的虚拟机,其中一台作为Master节点,另外两台作为Node节点,虚拟主机的系统配置