zoukankan      html  css  js  c++  java
  • 使用睿云智合开源 Breeze 工具部署 Kubernetes v1.12.3 高可用集群

    一、Breeze简介

    Breeze 项目是深圳睿云智合所开源的Kubernetes 图形化部署工具,大大简化了Kubernetes 部署的步骤,其最大亮点在于支持全离线环境的部署,且不需要翻墙获取 Google 的相应资源包,尤其适合某些不便访问互联网的服务器场景。详细资料请阅读官方文档(项目地址https://github.com/wise2c-devops/breeze )

    二、环境准备

    1.系统环境

    #主机名称需要符合DNS命名规则,另外Harbor为必须组件,详细信息请参考官方文档

    2.操作前准备

    1.master与master、master与node、breeze与集群所有主机直接需要ssh互信 #如果机器比较多,ssh互信建议使用脚本来分发秘钥
    2.开放防火墙或者关闭防火墙
    3.时间同步,配置时间同步服务
    4.集群内主机名可解析
    5.VIP绑定的网卡名称需要一致

    秘钥分发脚本

    [root@k8s-deploy ~]# cat fenfa_sshkey.sh 
    #!/bin/bash
    . /etc/init.d/functions
    for ip in `cat iplist`
    do
    /usr/bin/expect fenfa_sshkey.exp ~/.ssh/id_rsa.pub $ip > /dev/null 2>&1
    if [ $? -eq 0 ]; then
    action "$ip" /bin/true
    else
    action "$ip" /bin/false
    fi
    done
    fenfa_sshkey.sh-检查证书是否存在
    [root@k8s-deploy ~]# cat fenfa_sshkey.exp 
    #!/usr/bin/expect
    if { $argc != 2 } {
     send_user "usage: expect send_sshkey.exp file host
    "
     exit
    }
    # define var 定义变量
    set file [lindex $argv 0]
    set host [lindex $argv 1]
    set password "123$56"   #特殊字符需要转义
     
    spawn ssh-copy-id -i $file $host
    expect {
    "yes/no" {send "yes
    ";exp_continue}
    "*password" {send "$password
    "}
    }
    expect eof
     
    exit -onexit {
     send_user "good bye...
    "
    }
    fenfa_sshkey.exp-确认命令是否存在

    三、开始部署

    1.安装docker-compose命令和docker(deploy上)

    [root@k8s-deploy ~]# wget https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)  #注意版本
    [root@k8s-deploy ~]# mv docker-compose-Linux-x86_64 docker-compose
    [root@k8s-deploy ~]# chmod +x docker-compose
    [root@k8s-deploy ~]# mv docker-compose /usr/bin/
    [root@k8s-deploy ~]# yum install docker -y

    2.下载breeze对应k8s版本的资源文件,并启动部署工具(项目地址 https://github.com/wise2c-devops/breeze)

    [root@k8s-deploy ~]# wget https://raw.githubusercontent.com/wise2c-devops/breeze/v1.12.3/docker-compose.yml  #注意版本号
    [root@k8s-deploy ~]# systemctl start docker
    [root@k8s-deploy ~]# systemctl enable docker
    Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
    [root@k8s-deploy ~]# docker-compose up -d   #启动部署工具,大概会下载1GB左右的文件
    [root@k8s-deploy ~]# netstat -tnlp    #查看88端口是否启动,没有问题就可以访问该端口,登录到web页面

    3.访问部署工具的浏览器页面(部署机IP及端口88),开始部署工作

    点击开始按钮后,点击+图标开始添加一个集群:

    点击该集群图标进入添加主机界面
    点击右上角“添加主机按钮”

    反复依次添加完整个集群的5台服务器加harbor服务器:

    点击下一步进行服务组件定义

    点击右上角“添加组件”按钮添加服务组件,选择docker,因为所有主机都需要安装,因此无需选择服务器:

     

    再添加镜像仓库组件

    继续添加etcd组件,这里我们将其合并部署于k8s master节点,也可以挑选单独的主机进行部署:

     

    添加k8s组件,这里分为master和minion nodes

    备注:

    这里kubernetes entry point是为了HA场景,比如此次试验我们在每一个k8s master节点同时各部署了haproxy和keepalived组件,其产生的虚IP是172.16.150.156:6444,端口是6444,那么我们在这里应该填写为172.16.150.156:6444:6444,如果您只安装一个master,那么可以填写为master的入口,例如172.16.150.156:6444:6443

    接下来是设置高可用组件(haproxy+keepalived):

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

    设置完成的界面如下:

    点击下一步,执行部署流程:,在接下来的部署过程中,屏幕会有日志及图标颜色的动态变化, 耐心等待最后部署界面所有组件颜色变为绿色即可
    结束 K8S 高可用集群的部署工作。

     四、验证

    五、其他

    1.各组件yaml文件路径,其中/etc/kubernetes/manifests/下的组件表示将会被创建为static pod

    2.influxdb存储问题

    [root@k8s-master-03 kubernetes]# grep volumes: -A  3  ./influxdb.yaml 
          volumes:
          - name: influxdb-storage
            emptyDir: {}
    ---

    influxdb默认使用的存储类型为emptyDir,意味着pod被重建之后数据会丢失,如果需要使用influxdb建议使用持久存储

    3.Chrome浏览器无法访问dashboard问题

    解决方法:https://www.cnblogs.com/panwenbin-logs/p/10052554.html  ,此文档中有关于相关问题的解决方法

    #本文内容完全抄自官方文档 

     




     

  • 相关阅读:
    26 转义符 re模块 方法 random模块 collection模块的Counter方法
    25 正则表达式
    24 from 模块 import 名字
    24 from 模块 import 名字
    24 from 模块 import 名字
    23 析构方法 items系列 hash方法 eq方法
    21 isinstance issubclass 反射 _str_ _new_ _len_ _call_
    20 属性, 类方法, 静态方法. python2与python3的区别.
    python(1)
    python之字符串格式化
  • 原文地址:https://www.cnblogs.com/panwenbin-logs/p/10114658.html
Copyright © 2011-2022 走看看