#目标要求
- 自动化搭建k8s私有云,降低操作难度
- 工程师能够在客户现场,进行k8s集群的搭建工作
- 工程师能够在本地工厂,进行k8s集群的搭建工作
- 可以在没有公网访问权限的情况下,进行k8s集群的搭建工作
- 搭建出的集群,可以在没有公网访问权限的环境下工作
- 可以搭配第三方的k8s集群管理工具(web界面)
#准备工作
##技能要求
- 熟悉linux的基本操作命令
- 熟悉Ansible的基本操作
- 熟悉Docker的基本操作
- 阅读完成k8s的官方文档,对k8s有一个基本的认识,了解其术语和基本概念
##目标主机
- 操作系统: ubuntu 18.04
- 配置主机能够使用 root 用户进行 ssh证书登录
- 目标主机硬件配置符合安装k8s的最低要求, 参考
- 3台master主机, n (n>=1)台worker主机
- 目标主机配置静态IP
##控制端主机
- 我们通过控制端主机进行操作, 完成整个k8s集群的创建过程
- 安装了 Ansible, 我们通过 Ansible 进行整个集群的创建操作
##网络要求
- 目标主机配置了静态IP
- 目标主机之间能够互通
- 控制端主机能够与目标主机互通, 控制端主机能够通过证书方式,对目标主机进行ssh操作 参考:ssh-copy-id
- 目标主机能够访问公网, 以便目标主机能够下载依赖软件包和docker镜像 (离线方式的解决方案另外开篇叙述)
- k8s网络插件,采用 Calico
##网络规划
###案例描述
####IP地址分配
-
假设目标主机处于 192.168.3.0/24 网段,分配地址如下表所示:
用于 IP地址 --control-plane-endpoint (k8s apiServer 在本地集群的域名:端口),域名解析到右边所分配的IP地址 192.168.3.150 Master_1 192.168.3.151 Master_2 192.168.3.152 Master_3 192.168.3.153 Worker_1 192.168.3.154 Worker_2 192.168.3.155 -
网段规划
用于 网段 --pod-network-cidr 172.19.0.0/16 --service-cidr
#获取安装脚本
#创建k8s集群
##目标主机初始化设置
##创建一个单Master的k8s集群
##添加额外2台Master主机
##为Master主机配置高可用和负载均衡