Rancher - 容器管理平台

作者: olaH | 来源:发表于2019-04-20 22:11 被阅读9次

    沉舟侧畔千帆过 病树床头万木春

    ======
    Docker作为一款容器化应用的新兴软件, 被大多数IT公司使用来减少基础设施平台建设的成本。

    通常,没有GUI的docker软件对于Linux管理员很友好,但是对于开发者来说很不友好。当把它搬到生产环境上来,那么它对Linux管理员来说也相当不友好。那么,什么最佳解决方案可以轻松的管理docker。

    仅有的方式那就是提供GUI。Docker API允许第三方平台接入Docker。在市场上有许多docker GUI应用可用。我们已经写了一篇关于Portainer应用的文章。今天我们来讨论另一个应用,Rancher。

    容器让软件开发更容易,让开发者写代码更快且更好的运行它们。但是,在生产环境上运行容器却很困难。

    什么是 Rancher

    [Rancher][2]是一个完整的容器管理平台,在任意基础设施平台的生产环境上,它让容器的部署和运行更容易。它提供了诸如多主机网络,全局、局部负载均衡和卷快照等基础设施服务。它整合原生Docker的管理能力,如Docker Machine和Docker Swarm。它提供了丰富的用户体验,让devops管理员以一个更大的规模在生产环境上运行Docker。

    以下文章导航到在Linux系统上安装Docker。

    推荐阅读 :
    (#) [怎样在Linux上安装Docker][3]
    (#) [怎样在Linux上玩转Docker Image][4]
    (#) [怎样在Linux上玩转Docker Container][5]
    (#) [怎样在Docker容器中安装,运行应用程序][6]

    Rancher 特性

    • 在两分钟内安装Kubernetes。
    • 单机启动应用(90个流行的Docker应用)。
    • 部署和管理Docker更容易。
    • 全面的生产级容器管理平台。
    • 在生产环境上快速部署容器。
    • 强大的自动部署和运营容器技术。
    • 模块化基础设施服务。
    • 丰富的编排工具。
    • Rancher支持多种认证机制。

    怎样安装Rancher

    由于Rancher是以轻量级的Docker容器方式运行,所以它的安装非常简单。Rancher是由一组Docker容器部署。只需要简单的启动两个容器就能运行Rancher。一个容器用作管理服务,另一个容器在各个节点上作为代理。在Linux系统下简单的运行下列命令就能部署Rancher。

    Rancher服务提供了两个不同的安装包标签如stablelatest。下列命令将会拉去适合的rancher镜像并安装到你的操作系统上。Rancher server仅需要几分钟就可以启动。

    • latest : 这个标签是他们的最新开发构建。这些构建将通过rancher CI的自动化框架进行验证,不建议在生产环境使用。
    • stable : 这是最新的稳定发行版本,推荐在生产环境使用。

    Rancher的安装方法有多种。在这边教程中我们仅讨论两种方法。

    • 以单一容器的方式安装Rancher(内嵌Rancher数据库)
    • 以单一容器的方式安装Rancher(外部数据库)

    方法-1

    运行下列命令以单一容器的方式安装rancher服务(内嵌数据库)

    $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:stable
    
    $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server:latest
    
    

    方法-2

    你可以开始Rancher服务时指向外部数据库,而不是使用内部数据库。首先创建所需的数据库,数据库用户为同一个。

    > CREATE DATABASE IF NOT EXISTS cattle COLLATE = 'utf8_general_ci' CHARACTER SET = 'utf8';
    > GRANT ALL ON cattle.* TO 'cattle'@'%' IDENTIFIED BY 'cattle';
    > GRANT ALL ON cattle.* TO 'cattle'@'localhost' IDENTIFIED BY 'cattle';
    
    

    运行下列命令开始Rancher去连接外部数据库。

    $ sudo docker run -d --restart=unless-stopped -p 8080:8080 rancher/server \
     --db-host myhost.example.com --db-port 3306 --db-user username --db-pass password --db-name cattle
    
    

    如果你想测试Rancher 2.0,使用下列的命令去开始。

    $ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/server:preview
    
    

    通过GUI访问 & 安装Rancher

    浏览器输入 http://hostname:8080 or http://server_ip:8080 去访问 rancher GUI.

    image.png

    怎样注册主机

    注册你的主机URL允许去连接到Rancher API。这是一次性设置。

    接下来,点击主菜单下面的Add a Host链接或者点击主菜单上的INFRASTRUCTURE >> Add Hosts,点击保存按钮。

    image.png

    在rancher里默认访问控制认证机制是没有打开的,因此我们首先需要通过一些方法打开访问控制认证,否则任何人都不能访问GUI。

    点击 >> Admin >> Access Control , 输入下列的值最后点击打开认证按钮去打开它。以我的案例,我通过本地认证的方式打开。

    • Login UserName 输入你期望的登录名
    • Full Name 输入你的全名
    • Password 输入你期望的密码
    • Confirm Password 再一次确认密码
    image.png

    注销然后使用新的登录凭证重新登陆

    image.png

    现在,我能看到本地认证已经被打开。

    image.png

    怎样添加主机

    点击注册你的主机后,它将带你进入下一个页面,在那里你能选择不同云服务提供商的Linux主机。我们将添加一个主机运行Rancher服务,因此选择自定义选项然后输入必要的信息。

    在第四部输入你服务器的公有IP,运行第5步列出的命令,最后点击close按钮。

    image.png
    
    $ sudo docker run -e CATTLE_AGENT_IP="192.168.56.2"  --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.56.2:8080/v1/scripts/16A52B9BE2BAB87BB0F5:1546214400000:ODACe3sfis5V6U8E3JASL8jQ
    
    INFO: Running Agent Registration Process, CATTLE_URL=http://192.168.56.2:8080/v1
    INFO: Attempting to connect to: http://192.168.56.2:8080/v1
    INFO: http://192.168.56.2:8080/v1 is accessible
    INFO: Configured Host Registration URL info: CATTLE_URL=http://192.168.56.2:8080/v1 ENV_URL=http://192.168.56.2:8080/v1
    INFO: Inspecting host capabilities
    INFO: Boot2Docker: false
    INFO: Host writable: true
    INFO: Token: xxxxxxxx
    INFO: Running registration
    INFO: Printing Environment
    INFO: ENV: CATTLE_ACCESS_KEY=9946BD1DCBCFEF3439F8
    INFO: ENV: CATTLE_AGENT_IP=192.168.56.2
    INFO: ENV: CATTLE_HOME=/var/lib/cattle
    INFO: ENV: CATTLE_REGISTRATION_ACCESS_KEY=registrationToken
    INFO: ENV: CATTLE_REGISTRATION_SECRET_KEY=xxxxxxx
    INFO: ENV: CATTLE_SECRET_KEY=xxxxxxx
    INFO: ENV: CATTLE_URL=http://192.168.56.2:8080/v1
    INFO: ENV: DETECTED_CATTLE_AGENT_IP=172.17.0.1
    INFO: ENV: RANCHER_AGENT_IMAGE=rancher/agent:v1.2.11
    INFO: Launched Rancher Agent: e83b22afd0c023dabc62404f3e74abb1fa99b9a178b05b1728186c9bfca71e8d
    
    

    等待几秒钟后新添加的主机将会出现。点击INFRASTRUCTURE >> Hosts 页面。

    image.png

    怎样查看容器

    只需要点击下列位置就能列出所有容器。点击 >> INFRASTRUCTURE >> Containers

    image.png

    怎样创建容器

    非常简单, 只需点击下列位置就能创建容器。

    点击 >> INFRASTRUCTURE >> Containers >> “Add Container” 然后输入每个你需要的信息。 方便测试, 我将创建一个latest标签的Centos容器。

    image.png

    在同样的列表位置,点击 INFRASTRUCTURE >> Containers

    image.png

    点击Container名展示容器的性能信息,如CPU,内存,网络和存储。

    image.png

    选择特定容器,然后点击最右边的三点按钮或者点击Actions按钮对容器进行管理,如停止,启动,克隆,重启等。

    image.png

    如果你想控制台访问容器,只需要点击action按钮中的Execute Shell选项即可。

    image.png

    怎样从应用目录部署容器

    Rancher 提供了一个应用模版目录,让部署变的很容易,只需要单击一下就可以。
    它维护了多数流行应用,这些应用由Rancher社区贡献。

    image.png

    点击 >> Catalog >> All >> 选择你需要的应用 >> 最后点击运行去部署。

    image.png

    本文由 LCTT 原创编译,Linux中国 荣誉推出,并由来翻译,特此转载。

    相关文章

      网友评论

        本文标题:Rancher - 容器管理平台

        本文链接:https://www.haomeiwen.com/subject/csrrgqtx.html