breeze工具部署Kubernetes(1.17.3)集群

部署环境:

名称IP备注

master01

192.168.2.1master,etcd
master02192.168.2.2master,etcd
master03192.168.2.3master,etcd
node01192.168.2.4node
node02192.168.2.5node
node03192.168.2.6node
node04192.168.2.7node
breeze192.168.2.8breeze部署机
harbor192.168.2.9harbor镜像仓库

 

 

 

 

 

 

 

 

 

 

 

部署机配置:

  关闭selinux和配置firewalld防火墙

setenforce 0
sed  --follow-symlinks  -i  "s/SELINUX=enforcing/SELINUX=disabled/g"  /etc/selinux/config
firewall-cmd  --set-default-zone=trusted
firewall-cmd  --complete-reload

  服务器时间同步:

yum install ntp -y
ntpdate time.windows.com

  安装使用工具:

yum install docker lrzsz vim net-tools wget epel-release -y
yum install ansible -y

  安装docker-compose命令:

    下载连接:https://github.com/docker/compose/releases/,下载需要的版本,实例使用1.24版本

    

cp docker-compose1.24-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

  下载用于部署某个Kubernetes版本的docker-compose文件,实例是centos7,版本1.17.3

    将文件内容https://github.com/wise2c-devops/breeze/blob/v1.17.3/docker-compose-centos.yml复制到本地

    vim docker-compose.yml

    

  docker启动:

systemctl start docker
systemctl enable docker

  docker-compose运行部署文件:docker-compose up -d

  

  部署完成截图:

  

  部署机上安装其他服务器的ssh免密登录:

    ssh-keygen 后面一直回车就行

    ssh-copy-id 192.168.2.1

    ...

    ssh-copy-id 192.168.2.9

    中间会有两段交互信息,输入密码即可

      Are you sure you want to continue connecting (yes/no)? yes

      root@192.168.2.1's password:

  使用ansible同步其他服务器的时间:

vim /etc/ansible/hosts  #输入其他服务器,具体使用参考ansible配置
ansible all -m command -a 'yum install ntp -y'
ansible all -m command -a 'ntpdate time.windows.com'
ansible all -m cron -a "minute=00 hour=01 day=* month=* weekday=* name='Ntpdate server for sync time' job='ntpdate time.windows.com'"

 

WEB部署集群:

  打开浏览器,访问部署程序的图形界面(部署机 IP 及端口 88),添加主机列表、添加服务角色并将加入的主机进行角色分配,然后开始部署:http://192.168.2.8:88

  创建集群主机,master、node、harbor

  添加组件:

  docker组件添加:希望Breeze部署程序使用界面里输入的主机名代替当前服务器的主机名,则勾选format host name选项框

  harbor组件安装:镜像仓库设置这里如果选择某个版本,那么Breeze会自动部署非https的Harbor,如果在版本里选择external,那么Breeze则不再部署Harbor而是和现有Harbor做对接;参数harbor entry point是指用户端访问镜像仓库的URL,可以直接写IP地址或写对应的域名;如果对接外部的Harbor,请注意勾选外部Harbor是以http访问还是以https访问的

  高可用组件(haproxy+keepalived):vip for k8s master是指三个k8s master服务器的高可用虚拟浮动IP地址;网卡请填写实际操作系统下的网卡名,注意请保证3个节点网卡名一致;router id和virtual router id请确保不同k8s集群使用不同的值

  etcd组件安装:Etcd可以选择部署于K8S Master节点也可以选择独立的三台主机,Back up etcd database folder and upgrade etcd cluster 和 Make a snapshot backup for etcd and upgrade etcd cluster 这两个选项是用于升级环节的,在升级Etcd集群前做备份,默认新装集群不要勾选这两项

  kubernetes组件安装:Kubernetes entry point是指高可用的一个设定值,如果生产环境有硬件或软件负载均衡指向这里的k8s master所有节点,那么就可以在这里填写负载均衡的统一入口地址。相对于昂贵的F5专业硬件设备,我们也可以使用HAProxy和Keepalived的组合轻松完成这个设置,Breeze自带这个组合模块的部署。例如下图的 192.168.2.10:6444 就是k8s集群高可用的统一入口,k8s的worker node会使用这个地址访问API Server。请注意如果使用的是Breeze自带的高可用组件haproxy+keepalived,则请填写实际的虚IP与默认端口6444。Just add new worker nodes, do not reinstall this cluster这个选项是用于向现有集群添加计算节点(Worker Nodes),Upgrade existing cluster和Upgrade K8s nodes automatically选项用于升级现有集群而不是新装集群,而在生产环境升级集群一般采用对节点逐步进行,Breeze只负责将需要升级的镜像及脚本发到工作节点,应由管理员手动执行,并在执行过程中观察业务应用的高可用不受影响,如果勾选了Upgrade K8s nodes automatically这一切会全自动进行,如果所有业务都是有多副本分布在不同计算节点,那么这不会影响业务服务,否则不推荐使用这种方式进行集群在线升级。关于升级的详情,请参考breeze视频演示。Kubernetes的界面里还有CNI模型供选择,请按实际需求选择部署Flannel、Calico还是Canal,至于Calico又分为IPIP隧道模式和BGP路由模式,还需要注意集群规模,详情请参考Calico官方网站文档解释。对于网络地址范围CIDR参数共有三个,分别是Pod、Service、和ClusterIP的地址范围定义,默认值即可正常工作,除非它与你实际网络分配相冲突,才需要手动修改后进行部署

 

  点击下一步,开始安装:

  等待安装,当上图图标全都变为绿色时,就表示安装成功

  可以在部署机上输入命令 docker logs -f deploy-main 来获取更详细的日志

  安装完成查看:

 

访问dashboard:

Kubernetes Dashboard的访问入口我们采用了NodePort:30300的方式暴露端口,因此可以通过火狐浏览器访问 https://任意服务器IP:30300 来登录Dashboard页面,注意其它浏览器例如Chrome因为不接受自签名证书会拒绝访问请求;新版本Dashboard引入了验证模式,可以通过以下命令获取admin-user的访问令牌:

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk '{print $1}')

  问题:安装后,发现集群并没有安装上dashboard

  解决:登陆master01,进入目录/var/tmp/wise2c/kubernetes,运行命令:kubectl apply -f kubernetes-dashboard.yml和kubectl apply -f kubernetes-dashboard-svc.yml即可解决

 

 

参考文档:https://github.com/wise2c-devops/breeze/blob/v1.17.3/BreezeManual-CN.md

常见排错说明在此: https://github.com/wise2c-devops/breeze/blob/master/TroubleShooting-CN.md

 

 

 

-----------日常记录---------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值