zoukankan      html  css  js  c++  java
  • docker rancher 体验 (未完待续.....)

    docker rancher 体验

    官方 github
    https://github.com/rancher/rancher


    环境说明:

    10.6.0.140
    10.6.0.187
    10.6.0.188


    修改主机名:
    10.6.0.140 = hostnamectl --static set-hostname reancher-manager
    10.6.0.187 = hostnamectl --static set-hostname reancher-node-1
    10.6.0.188 = hostnamectl --static set-hostname reancher-node-2

    [root@reancher-manager ~]#mkdir -p /opt/rencher/mysql
    
    [root@reancher-manager ~]#docker run -d --name rencher --restart=always -v /opt/rencher/mysql:/var/lib/mysql -p 8080:8080 rancher/server
    
    [root@reancher-manager ~]#docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                              NAMES
    c8209da7add0        rancher/server      "/usr/bin/s6-svscan /"   12 minutes ago      Up 12 minutes       3306/tcp, 0.0.0.0:8080->8080/tcp   rencher

    使用自己的mysql数据库,可使用如下参数:

    docker run -d --restart=always -p 8080:8080
    -e CATTLE_DB_CATTLE_MYSQL_HOST=<hostname or IP of MySQL instance>
    -e CATTLE_DB_CATTLE_MYSQL_PORT=<port>
    -e CATTLE_DB_CATTLE_MYSQL_NAME=<Name of database>
    -e CATTLE_DB_CATTLE_USERNAME=<Username>
    -e CATTLE_DB_CATTLE_PASSWORD=<Password>
    rancher/server:v1.1.3

    浏览器访问:

    http://10.6.0.140:8080

    显示如下:

    1.

    2. 填写访问地址,如果为私网IP ,会提示。


    3. node 节点 复制: docker run -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://10.6.0.140:8080/v1/scripts/8944D0EC8BCFEB4F127C:1472544000000:BIX8IC8bWsRbx60NMhka4AmxmpQ

    进行安装rancher-agent

    [root@reancher-node-1 ~]# docker ps -a
    CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS                     PORTS               NAMES
    6c7f533527ec        rancher/agent:v1.0.2   "/run.sh run"            4 minutes ago       Up 4 minutes                                   rancher-agent
    7566aa61cdbe        rancher/agent:v1.0.2   "/run.sh state"          4 minutes ago       Exited (0) 4 minutes ago                       rancher-agent-state
    032d85c88779        rancher/agent:v1.0.2   "/run.sh http://10.6."   5 minutes ago       Exited (0) 4 minutes ago                       fervent_morse

    4. 安装完毕,等待5分钟左右,在 WEB UI 界面,可以看到如下:


    5. 点击如下: 添加 容器

     

    6. 部署 stack 与 service

    Add stack


    7 启动 service

     

    显示 Active 既可


    轻松生成 10 个 Containers

     

    8 点击 Load Balance 生成一个 负载均衡器

    点击完成,选择 Link 可查看关系图


    生成 2个 Load Balance , 2个 node 节点都映射80端口


    2个 LB 10个 nginx 容器


    访问 http://10.6.0.187 与 http://10.6.0.188 :

    Rancher 中  网络+负载均衡  实现 与 说明

    依赖镜像:rancher/agent-instance:v0.8.3  

    Rancher 网络是 采用SDN技术所建容器为虚拟ip地址,各host之间容器采用ipsec隧道实现跨主机通信,使用的是udp的500和4500端口。

    启动任务时,在各个host部署容器之前会起一个Network  Agent容器,负责组建网络环境。   

    10. 破坏性测试 (以下为别人测试)

    server 是以容器方式运行,Mysql数据库保存了任务数据以及任务逻辑关系


    破坏server端

    1.

    操作:在server端和agent端正常运行状态下,stop掉server容器

    结果:业务不受影响。start重启容器后恢复管理功能。


    2.

    操作:将server端容器rm删除掉, Mysql数据未保存,重新再起一个server容器。

    结果:1.当前业务不受影响

    2.新server仍然能够识别和管理各个agent,因为agent端是连server的ip端口,ip不变就能连上

    3.agent端原有的任务容器的命名和逻辑关系没有了。

    3.

    操作:将server端容器rm删除掉(将mysql数据/var/lib/mysql 映射至宿主机),重新再起一个server容器。

    结果:新起的容器能够识别任务状态,命名,逻辑关系。恢复到之前的状态。

    破坏agent端

    4.

    操作:host命令行下删除掉agent容器

    结果:不影响当前业务状态,server端显示host失联,无法对该agent下发任务进行扩容和缩容。

    重新启动agent后恢复正常。

    5.

    操作:server控制端删除agent端的业务容器(例如删除nginx容器)

    结果:删除后数秒内,在另一个host上重新启动一个新的业务容器。

    6.

    操作:host命令行下删除agent端的业务容器(例如删除nginx容器)

    结果:删除后数秒内,在当前host上重新启动一个新的业务容器。

    7.

    操作:host命令行下删除掉agent容器后,再删除一个业务容器

    结果:server端因为与agent失联,导致无法更新该host上的容器变化,没有新启动任何容器。

  • 相关阅读:
    根据屏幕大小,加载不同大小的图片
    规范命名CSS
    iframe框架加载完成后执行函数
    js获取IP地址
    80端口被System占用 造成Apache不能启动的解方案
    自定义一个仿Spinner
    让你的代码量减少3倍!使用kotlin开发Android(一)
    屏幕适配
    一个旋转菜单
    手势监听GestureDetector 案例
  • 原文地址:https://www.cnblogs.com/jicki/p/5822707.html
Copyright © 2011-2022 走看看