• Rancher容器编排


    什么是Rancher

      是一个开源的企业级PaaS容器管理平台。Rancher提供了在生产环境中使用的管理Docker和Kubernetes的全栈化容器部署与管理平台。可以使用任何公有云或者私有云的Linux主机资源。Linux主机可以是虚拟机,也可以是物理机Rancher仅需要主机有CPU,内存,本地磁盘和网络资源,从Rancher的角度来说,一台云厂商提供的云主机和一台自己的物理机是一样的。能够非常方便的进行容器编排与调度。

    安装

    安装启动(下载很会慢)

    docker run -d --restart=unless-stopped -p 8888:8080 rancher/server

      我们访问宿主机的8888端口就可以访问了,右下角可以设置为中文显示。默认是没有账号密码的,我们可以在访问控制里面设置账号密码。

    创建环境

      我们开发可能分为  测试、预发布、正式环境。首先需要在环境管理里面创建环境。还可以为环境指定可访问用户,以及相应的读写权限。

    添加主机

      比如我们创建好了一个测试环境分组,那么就可以为该分组指定服务器信息了。首先指定 rancher 地址,点击保存。

      然后指定运行 rancher-server 的地址(申明这是服务端,如果是客户端留空即可),再将下面的 命令 复制到客户端去执行。我们的服务端也需要像 客户端 一样被 rancher 管理,所以我们服务端也是要执行这个命令的。

      添加完之后刷新,就可以在  “基础架构——主机”  里面看到注册上去的主机了(可能要几十秒,注册要时间)。同理也可以看到服务器里面的容器。

    添加应用

      添加好主机后。在 “应用” 里面我们选择 “用户” ,点击添加应用。(下面是导入容器的配置,跳过不选。)

    添加服务(部署容器)

    redis

      首先,比如我们要安装 reids 镜像,不知道版本号。可以在 https://hub.docker.com/ 里面搜索 redis ,然后找到 redis 镜像,选择 tag ,就可以看到它的各个版本号。比如我们现在需要安装 redis:6.2.4 。可以在这里复制对应的版本号。

      【指定名称 & 端口映射】在这里就可以指定容器名称和端口映射。等同于docker 的 --name   -p 命令(填入我们刚才复制好的版本号)

      【指定运行机器】

      【磁盘映射】等同于docker 的 -v 命令

      【启动命令】比如 密码 123456  redis-server --appendonly yes --requirepass 123456

      创建完成过,他就会自动启动,后续想改配置点击升级就好。升级完还可以回滚。

    rabbitmq

    docker run -d 
    --hostname rabbit_host1 
    --name rabbitmq1 
    -p 15672:15672 -p 5672:5672 
    -e RABBITMQ_DEFAULT_USER=admin 
    -e RABBITMQ_DEFAULT_PASS=wulei 
    --privileged=true 
    -v /usr/local/rabbitmq/1/lib:/var/lib/rabbitmq
    -v /usr/local/rabbitmq/1/log:/var/log/rabbitmq
    rabbitmq:3.8.14-management

    mysql

    docker run 
    -p 3307:3306 
    --name wulei_mysql 
    -v /usr/local/docker/mysql/conf:/etc/mysql 
    -v /usr/local/docker/mysql/logs:/var/log/mysql
    -v /usr/local/docker/mysql/data:/var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=wulei 
    -d mysql:5.7

    容器迁移

      我们在测试环境部署好应用所需容器后,后续上线不可能自己在部署一套,那么直接将测试环境的配置导出即可,然后在正式环境创建应用的时候,导入配置文件。

    动态扩容

      系统运行可能会遇到高峰时期,为了缓解单个服务的压力,我们可以直接点击左边按钮  扩/缩容。

      但是这样还是不够智能化,我们应该希望是根据流量动态判断是否需要阔扩容。我们可以在 “API ——> Webhooks” 里面添加接收器,可以指定 扩/缩容 的规则,然后我们就会得到一个地址,通过post请求执行这个地址,就会自动执行我们这个 扩/缩容 的规则。然后我们可以通过脚本 监控服务器压力 或 请求量,来动态执行这个地址就好了。

  • 相关阅读:
    关于生成并发唯一性流水号的解决方案
    父页面得到<iframe>
    struts2 convention配置中常见配置选项及说明
    Struts2下关于Calendar,date的一些处理
    怎样将用户名和密码保存到Cookie中?【转】
    如何调用用户控件(UserControl)的方法 .
    Struts遍历标签<s:iterator>总结 .
    在事业的开展上保持归零的心态
    这种日子最轻松,这样的人生最快乐
    诚实是人世间最珍贵的宝物,是每个人都应当坚守的伟大情操
  • 原文地址:https://www.cnblogs.com/wlwl/p/15019684.html
Copyright © 2020-2023  润新知