zoukankan      html  css  js  c++  java
  • rancher-HA快速搭建

                                                                                           Rancher-Kebernetes安装文档
     
    版本:
    rancher: V1.6
    docker:  V1.12.3
    mysql:    mysql
     
    HA部署的要求:
     
    一、rancher server节点:
    1、8G或者16G及以上
     
    二、rancher agent節點要求:
    1、支持docker的linux系统,Ubuntu,REHL/Centos7
    2、docker版本建议是v1.12.3(其他版本可能会出现kubernetes的UI無法顯示),docker的storage driver不支持默认的 devicemapper using loopback,需要改为overlay或者overlay2
    3、9345,8080端口要求各节点互相访问
    4、不建议使用selinux组件
    5、各节点内存至少1GB以上
     
    三、數據庫MYSQL:
    1、MYSQL內存至少1GB,版本5.7
    2、默認一個rancher server 需要50个mysql的连接,例如:3个节点的Rancher则需要至少150个连接
    3、高性能磁盘
    4、HA集群需要mysql主從
     
    my.cnf要求:
    • 每个Rancher Server节点需要50个连接 (例如:3个节点的Rancher则需要至少150个连接)
    • MYSQL配置要求
      • 选项1: 用默认COMPACT选项运行Antelope
      • 选项2: 运行MySQL 5.7,使用Barracuda。默认选项ROW_FORMAT需设置成Dynamic
     
     
    防火墻要求:
     
     
     

     
    架构图:
     
     

     
    安装布署:
     
    1、在线布署。(因为涉及拉取镜像,因此可能慢一点)
     
    1.1- mysql布署 (mysql主主结构)
          用ansible在两台mysql同时执行以下脚本,注意需要修改一下node節點的IP,如
          ansible mysql -m script -a "/root/ansible-shell/mysql_master.sh"
         
          詳情,可以查看我的另外一個腳本,搭建的話,我這里就跳過了!
     
    1.2 - MYSQL導入數據庫
     
    mysql -e "CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';"
    mysql -e "GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'Cattle@123';"
    mysql -e "GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'Cattle@123';"
    mysql -e "flush privileges;"
     
    database: cattle
    user: cattle
    password: Cattle@123

     
    2- Rancher-server安装布署(各節點)
     
    2.1--安装指定docker版本 (所有节点)
            刪除原有Docker
           systemctl  stop docker
            yum -y remove docker
         
           安裝RPM包
           rpm -ivh docker-engine-debuginfo-1.12.3-1.el7.centos.x86_64.rpm  docker-engine-1.12.3-1.el7.centos.x86_64.rpm  docker-engine-selinux-1.12.3-1.el7.centos.noarch.rpm
     
        檢查Docker版本
        docker -v
        Docker version 1.12.3, build 6b644ec
         
        修改docker的儲存方式和指定鏡像庫
        在/usr/lib/systemd/system/docker.services啟動項裡面修改為 =overlay --insecure-registry=10.134.171.55
        如下圖:
       
        
       重新加载并启动docker
       systemctl  daemon-reload 
       systemctl start docker
     
    2.2-安装rancher-server
     
    假设:节点分別是192.168.1.10,192.168.1.11,192.168.1.12,mysql數據庫是192.168.1.15
    分別在節點上執行
     
    docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:stable
    --db-host 192.168.1.15 --db-port 3306 --db-user cattle --db-pass Cattle@123 --db-name cattle
    --advertise-address   192.168.1.10
     
    docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:stable
    --db-host 192.168.1.15 --db-port 3306 --db-user cattle --db-pass Cattle@123 --db-name cattle
    --advertise-address   192.168.1.11
     
    docker run -d --restart=unless-stopped -p 8080:8080 -p 9345:9345 rancher/server:stable
    --db-host 192.168.1.15 --db-port 3306 --db-user cattle --db-pass Cattle@123 --db-name cattle
    --advertise-address   192.168.1.12
     
     
    2.3 --內網離線情況下,請把rancher server的鏡像包,上傳后,再執行以上命令。
     
     

    3- HA-proxy布署
     
    3.1-安裝布署
    安裝包
    yum -y install  haproxy.x86_64
     
    修改配置
    vim /etc/haproxy/haproxy.cfg   ,修改<rancher_server_1_IP>就可以了

    global
      maxconn 4096
      ssl-server-verify none
     
    defaults
      mode http
      balance roundrobin
      option redispatch
      option forwardfor
     
      timeout connect 5s
      timeout queue 5s
      timeout client 36000s
      timeout server 36000s
     
    frontend http-in
      mode http
      bind *:443 ssl crt /etc/haproxy/certificate.pem
      default_backend rancher_servers
     
      # Add headers for SSL offloading
      http-request set-header X-Forwarded-Proto https if { ssl_fc }
      http-request set-header X-Forwarded-Ssl on if { ssl_fc }
     
      acl is_websocket hdr(Upgrade) -i WebSocket
      acl is_websocket hdr_beg(Host) -i ws
      use_backend rancher_servers if is_websocket
     
    backend rancher_servers
      server websrv1 <rancher_server_1_IP>:8080 weight 1 maxconn 1024
      server websrv2 <rancher_server_2_IP>:8080 weight 1 maxconn 1024
      server websrv3 <rancher_server_3_IP>:8080 weight 1 maxconn 1024

     
    啟動haproxy
    systemctl start haproxy
    systemctl enable haproxy
     
    3.2-高可用方案:
     
    安裝keepalive, 把haproxy-1和haproxy-2實現高可用,得到訪問VIP
     

    4、登錄rancher-server页面,进行环境配置,初次登陆默认是没有密码的
     
    4-1,配置kubernetes環境
     
    点击 添加环境。每个环境都有自己的名字和描述,你可以选择你要使用的环境模板
     
     
     
    點擊創建,完成kubernetes的環境創建!
     
     
    4-2: 获取添加主机的链接
     
     左上角环境管理,切换到刚刚创建的K8S环境,点击下面的添加主机:
     
    在打开的页面,复制下面的链接
     
     
    4.3- 在各个agent端里面执行上面的命令
     
    4.4- 基础架构==>點擊主機,查看增加agent的狀態
     
    4.5-所有容器啟動后,點擊kebernetes==>儀錶板,查看kebernete集群信息
     
       

     
  • 相关阅读:
    UI界面思想
    ARM汇编语言(3)(寄存器读写控制外设)
    ARM汇编(2)(指令)
    ARM汇编语言(1)(基本概念)
    QT软件初次使用中遇到的若干问题及思考
    webpack4打包html中img后src为“[object Module]”问题(已解决)
    gulp dev报错:ReferenceError:primordials is not defined(已解决)
    Ubuntu20.04安装yarn报错gpg: can't connect to the agent: IPC connect call failed(已解决)
    手摸手教程之ubuntu20.04更改国内镜像源(附其他版本ubuntu换源教程,最新详细教程)
    Alert提示框的vue组件编写
  • 原文地址:https://www.cnblogs.com/to-be-rich/p/9310539.html
Copyright © 2011-2022 走看看