备注:
只支持Centos, 且只在centos7上做过测试。
程序关闭了firewalld和selinux。
网络插件使用flannel, kube-proxy使用ipvs模式。
生成了两个default/sa用户,一个admin,有管理权限。另一个viewer,有查看权限。基于这两个用户的dashboard登录文件在build-kubernetes-cluster下生成
在extemsions/files里有一些插件,可以自己去安装dashboard
- ansible: 2.5.1 +
- kubernetes: 1.12.3
- docker: docker-ce-18.09.0
- 1台控制节点,即运行安装程序所在的节点。(任意拥有所有节点ssh权限的机器,都可以作为控制节点,建议专门选取一台机器作为控制节点。你也可以使用一台master或node节点作为控制节点,需要保证它有自己的ssh权限。)
- 3台master节点。(用来安装etcd和master)
- 其他为node节点。
- kube-apiserver负载均衡器。转发到3个master节点的6443端口。如:10.1.11.11:6443 ---> mastersip:6443
- 修改./build-kubernetes-cluster/hosts文件。
# 下面的host_name不是你目前节点的hostname,而是你规划的hostname,程序会根据你填入的名称对节点进行修改。 # 只需填入ip和host_name,其他保持默认。 # 这里只需三台master节点的ip填入即可。 [master01] 10.0.x.x major=true host_name=10.0.x.x [master02] 10.0.x.x major=false host_name=10.0.x.x [master03] 10.0.x.x major=false host_name=10.0.x.x # etcd ips. Can be master ips or not. [etcds] 1.1.1.1 host_name=1.1.x.x 1.1.1.1 host_name=1.1.x.x 1.1.1.1 host_name=1.1.x.x # 这里需要填入node节点ip [nodes] 10.0.x.x 10.0.x.x 10.0.x.x
- 修改参数
vim ./build-kubernetes-cluster/group_vars/allvim ./build-kubernetes-cluster/group_vars/masters# 在内网机器不能联网的情况下,需要设置这个路由ip。 # 这个路由会自动设置到不能联网的节点上去,对于能够联网的节点,则会跳过这一步。 route_ip: 10.0.1.13 # 建议保持默认. support kube 1.12.x kube_version: 1.12.3 docker_version: 18.09.0-3.el7.x86_64
# 只需填入load_blance_ip,即上面你自己创建的负载均衡器ip。 load_blance_ip: "10.0.1.1" # 建议保持默认。load_blance_port即你负载均衡器的port,如果设置的不是6443,在这里更改即可。 load_blance_port: 6443 etcd_version: 3.2.18
- 执行启动脚本
cd ./build-kubernetes-cluster/ ./setup.sh # 等待几分钟,整个集群就搭建起来了。
目前除了搭建集群,还默认安装了heapster+influetdb, dashboard(nodeport:30001), logroate,后续考虑会加入其他常用扩展。
目前只适用于centos7,后续考虑兼容ubuntu.