容器自动管理工具、持续部署工具
谷歌的开源工具,开源之前在谷歌内部使用了几年的时间,管理上千万的容器
安装搭建 Kubernetes 集群安装过程非常复杂,即使对专业运维难度也非常大,有开源工具辅助安装K8s集群
一键安装:https://github.com/easzlab/kubeasz
一步步手动安装:https://github.com/opsnull/follow-me-install-kubernetes-cluster
使用三台物理机或VMware虚拟机来搭建集群环境,一台主控服务器,两台工作节点服务器。
kubeasz项目(https://github.com/easzlab/kubeasz)极大的简化了k8s集群的安装过程,他提供的工具可以轻松安装和管理k8s集群。
主控服务器
先准备主控服务器
调整 VMware 虚拟机的内存和 cpu:
下载离线文件,安装Docker
在主控服务器上下载安装环境初始化脚本工具 ezdown:
export release=3.1.0
curl -C- -fLO --retry 3 https://github.com/easzlab/kubeasz/releases/download/${release}/ezdown
chmod +x ./ezdown
ls -l
使用工具脚本下载离线文件,并安装Docker
默认下载最新推荐k8s/docker等版本(更多关于ezdown的参数,运行./ezdown 查看)
./ezdown -D离线安装
需要的资料下载;
kubeasz-3.1.0.zip
链接:https://pan.baidu.com/s/1XKqOI0-1A6eBGD3H3N_PJw 提取码:tmup
centos-8-2105
链接:https://pan.baidu.com/s/1QmXpL0-NFSbghEw9u_dC0A 提取码:nsco第一台服务器
1.克隆 centos-8-2105: k1 (克隆一个虚拟机,虚拟机内部没有docker)
2.设置ip
./ip-static
ip: 192.168.64.191
-
ifconfig #查看IP地址
-
kubeasz-3.1.0.zip 解压缩,上传文件(远程连接工具)
images.gz 上传到 /root/
kubeasz-3.1.0/ezdown 上传到 /root/
kubeasz-3.1.0/kubeasz 文件夹上传到 /etc/
内存设置 2G 或 2G 以上
- cpu 设置成两块
- 重启服务器(重启虚拟机)
cd ~/ chmod +x ./ezdown
1.下载离线安装文件,如果存在,不会重复下载
2.安装Docker
相关镜像
链接:https://pan.baidu.com/s/16tntVmJ_ciIU8IP0gaYt2Q 提取码:z1p5
./ezdown -D docker info docker load -i images.gz #导入镜像 docker images ``` ```bash ./ezdown -P克隆 k1,克隆出 k2 和 k3
k1先关机
方案1,从 k1 克隆出 k2 和 k3
方法2,从 k1 只克隆一个 k2
修改 k2 和 k3 的 ip
192.168.64.192
192.168.64.193
克隆虚拟机的时候考虑一下自身计算机内存。不然配置集群是会报错。
上述脚本运行成功后,所有文件(kubeasz代码、二进制、离线镜像)均已整理好放入目录/etc/kubeasz/etc/kubeasz 包含 kubeasz 版本为 ${release} 的发布代码
/etc/kubeasz/bin 包含 k8s/etcd/docker/cni 等二进制文件
/etc/kubeasz/down 包含集群安装时需要的离线容器镜像
/etc/kubeasz/down/packages 包含集群安装时需要的系统基础软件
工作节点
在工作节点服务器上重复以上所有操作。
如果使用 VMware 虚拟机,只需要从第一台服务器克隆即可。
二,配置集群安装环境 启动 kubeasz 容器./ezdown -S设置参数允许离线安装
若是离线安装可以跳过
sed -i 's/^INSTALL_SOURCE.*$/INSTALL_SOURCE: "offline"/g' /etc/kubeasz/example/config.yml配置免密登录其他服务器
ssh-keygen -t rsa -b 2048 -N '' -f ~/.ssh/id_rsa #生成公钥与私钥 ssh-copy-id 192.168.64.191 #公钥复制到三台主机,包括自己主机。用一台操作多台服务 ssh-copy-id 192.168.64.192 ssh-copy-id 192.168.64.193创建集群配置
cd /etc/kubeasz chmod +x ezctl ./ezctl new cs1配置服务器地址
vim /etc/kubeasz/clusters/cs1/hosts
克隆三台虚拟机的配置
如果内存有限, 可以只部署两台服务器进行测试
主服务器既作为控制节点, 又作为工作节点
减少etcd服务数量
cd /etc/kubeasz ./ezctl setup cs1 all设置 kubectl 命令的别名
# 设置 kubectl 命令别名 k k8s命令设置别名 echo "alias k='kubectl'" >> ~/.bashrc # 使设置生效 source ~/.bashrc



