目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及个人提供的脚本集等。
Kops和Kubespary在国外用的比较多,没有处理中国的网络问题,没法使用。
kubeadm是Kubernetes官方提供的k8s部署工具,不过不支持HA,且支持的docker版本、K8S版本也有限,因此无法作为生产级安装程序。
Rancher2016年的新起之秀,可以做到极简快速部署管理Docker,并支持多种编排方式:Cattle、Kubernetes、Mesos、Swarm等。通过修改镜像库的方式可以实现在国内的使用。所以我们选择Rancher作为Docker管理部署框架。
目前Rancher主要分两个大版本:1.6stable,2.0preview。
1.6需要手动选择编排工具,rancher2.0则是完全构建在K8S之上的容器管理平台,包含内置的Kubernetes Master。这也意味着通过命令启动rancher的时候,就立刻启动了一个kubernetes集群。使用上也相比1.6优化了许多。不过目前2.0只是预览版,安装的过程中还有bug,无法成功。2018年初将会推出正式版,希望会解决这个问题。
现在1.6stable已经安装成功,Docker的编排、Kubernetes的部署也都没有问题。
部署
l 操作系统:CentOS7.4 (必须要CentOS7.3以上)
启动
docker run -d -p 8080:8080 rancher/server:stable
这里先说一下注意事项:
①rancher分为master和agent。二者最好分开部署,不要让一个节点既是master又是agent
②节点的资源要求:内存要不小于4G,推荐8G以上。4G以下,运行时服务经常会停止。
③所有节点都要配置时间同步
④提前将镜像下载到节点并加载,可以大幅度提升安装速度。(也可以搭建docker镜像私库)
⑤启用Docker的中国加速器,否则部署会很慢
参照https://www.docker-cn.com/registry-mirror或者https://www.daocloud.io
安装Docker
在CentOS7+上可以通过yum直接安装(这个版本是1.12.6)。
yum -y install docker
启用中国加速器
echo ‘{"registry-mirrors": ["http://bcfb7352.m.daocloud.io"]}‘ > /etc/docker/daemon.json
如果之前装有其他版本的,需要删除所有镜像和容器,并卸载docker重装,rancher k8s 目前只支持 docker 1.12.3+ 的版本
安装rancher
docker run -d --restart=unless-stopped --name=rancher-server -p 8080:8080 rancher/server:stable && docker logs -f rancher-server
安装k8s
如果之前安装过docker和k8s,需要运行
docker rm -f -v $(docker ps -aq)
docker volume rm $(docker volume ls)
rm -rf /var/etcd/
创建环境模板
修改k8s模板
修改模板中的以下属性
Private Registry for Add-Ons and Pod Infra Container Image:index.docker.io
Image namespace for Add-Ons and Pod Infra Container Image:anjia0532
Image namespace for kubernetes-helm Image:anjia0532
Pod Infra Container Image: anjia0532/pause-amd64:3.0
创建k8s环境
选择k8s环境并添加主机
查看k8s基础服务状态
当基础服务都是绿色后,即可使用
查看k8s 仪表板 dashboard
参照: