From 59e1e8216f334510447f03d8b18cd7d0b3971cf3 Mon Sep 17 00:00:00 2001 From: "Xingyu.Wang" Date: Fri, 5 Apr 2019 11:05:40 +0800 Subject: [PATCH] PRF:20180205 Rancher - Container Management Application.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @arrowfeng 恭喜你完成了第一篇翻译。要是能翻译完再自行检查一遍就更好了。 --- ...cher - Container Management Application.md | 176 +++++++++--------- 1 file changed, 90 insertions(+), 86 deletions(-) diff --git a/translated/tech/20180205 Rancher - Container Management Application.md b/translated/tech/20180205 Rancher - Container Management Application.md index 65fe604b81..82f5a9ef6f 100644 --- a/translated/tech/20180205 Rancher - Container Management Application.md +++ b/translated/tech/20180205 Rancher - Container Management Application.md @@ -1,132 +1,127 @@ - -Rancher - 容器管理平台 +Rancher:一个全面的可用于产品环境的容器管理平台 ====== -Docker作为一款容器化应用的新兴软件, 被大多数IT公司使用来减少基础设施平台建设的成本。 -通常,没有GUI的docker软件对于Linux管理员很友好,但是对于开发者来说很不友好。当把它搬到生产环境上来,那么它对Linux管理员来说也相当不友好。那么,什么最佳解决方案可以轻松的管理docker。 +Docker 作为一款容器化应用的新兴软件,被大多数 IT 公司使用来减少基础设施平台的成本。 -仅有的方式那就是提供GUI。Docker API允许第三方平台接入Docker。在市场上有许多docker GUI应用可用。我们已经写了一篇关于Portainer应用的文章。今天我们来讨论另一个应用,Rancher。 +通常,没有 GUI 的 Docker 软件对于 Linux 管理员来说很容易,但是对于开发者来就有点困难。当把它搬到生产环境上来,那么它对 Linux 管理员来说也相当不友好。那么,轻松管理 Docker 的最佳解决方案是什么呢? -容器让软件开发更容易,让开发者写代码更快且更好的运行它们。但是,在生产环境上运行容器却很困难。 +唯一的办法就是提供 GUI。Docker API 允许第三方应用接入 Docker。在市场上有许多 Docker GUI 应用。我们已经写过一篇关于 Portainer 应用的文章。今天我们来讨论另一个应用,Rancher。 -**推荐阅读 :** [Portainer – A Simple Docker Management GUI][1] +容器让软件开发更容易,让开发者更快的写代码、更好的运行它们。但是,在生产环境上运行容器却很困难。 -### What is Rancher -[Rancher][2]是一个完整的容器管理平台,在任意基础设施平台的生产环境上,它让容器的部署和运行更容易。它提供了诸如多主机网络,全局、局部负载均衡和卷快照等基础设施服务。它整合原生Docker的管理能力,如Docker Machine和Docker Swarm。它提供了丰富的用户体验,让devops管理员以一个更大的规模在生产环境上运行Docker。 +**推荐阅读:** [Portainer:一个简单的 Docker 管理图形工具][1] -以下文章导航到在Linux系统上安装Docker。 +### Rancher 简介 -**推荐阅读 :** -**(#)** [How to install Docker in Linux][3] -**(#)** [How to play with Docker images on Linux][4] -**(#)** [How to play with Docker containers on Linux][5] -**(#)** [How to Install, Run Applications inside Docker Containers][6] +[Rancher][2] 是一个全面的容器管理平台,它可以让容器在各种基础设施平台的生产环境上部署和运行更容易。它提供了诸如多主机网络、全局/本地负载均衡和卷快照等基础设施服务。它整合了原生 Docker 的管理能力,如 Docker Machine 和 Docker Swarm。它提供了丰富的用户体验,让 DevOps 管理员在更大规模的生产环境上运行 Docker。 + +访问以下文章可以了解 Linux 系统上安装 Docker。 + +**推荐阅读:** + +- [如何在 Linux 上安装 Docker][3] +- [如何在 Linux 上使用 Docker 镜像][4] +- [如何在 Linux 上使用 Docker 容器][5] +- [如何在 Docker 容器内安装和运行应用][6] ### Rancher 特性 - * 在两分钟内安装Kubernetes。 - * 单机启动应用(90个流行的Docker应用)。 - * 部署和管理Docker更容易。 + * 可以在两分钟内安装 Kubernetes。 + * 一键启动应用(90 个流行的 Docker 应用)。 + * 部署和管理 Docker 更容易。 * 全面的生产级容器管理平台。 - * 在生产环境上快速部署容器。 + * 可以在生产环境上快速部署容器。 * 强大的自动部署和运营容器技术。 * 模块化基础设施服务。 * 丰富的编排工具。 - * Rancher支持多种认证机制。 + * Rancher 支持多种认证机制。 +### 怎样安装 Rancher +由于 Rancher 是以轻量级的 Docker 容器方式运行,所以它的安装非常简单。Rancher 是由一组 Docker 容器部署的。只需要简单的启动两个容器就能运行 Rancher。一个容器用作管理服务器,另一个容器在各个节点上作为代理。在 Linux 系统下简单的运行下列命令就能部署 Rancher。 -### 怎样安装Rancher +Rancher 服务器提供了两个不同的安装包标签如 `stable` 和 `latest`。下列命令将会拉取适合的 Rancher 镜像并安装到你的操作系统上。Rancher 服务器仅需要两分钟就可以启动。 -由于Rancher是以轻量级的Docker容器方式运行,所以它的安装非常简单。Rancher是由一组Docker容器部署。只需要简单的启动两个容器就能运行Rancher。一个容器用作管理服务,另一个容器在各个节点上作为代理。在Linux系统下简单的运行下列命令就能部署Rancher。 + * `latest`:这个标签是他们的最新开发构建。这些构建将通过 Rancher CI 的自动化框架进行验证,不建议在生产环境使用。 + * `stable`:这是最新的稳定发行版本,推荐在生产环境使用。 -Rancher服务提供了两个不同的安装包标签如`stable`和`latest`。下列命令将会拉去适合的rancher镜像并安装到你的操作系统上。Rancher server仅需要几分钟就可以启动。 +Rancher 的安装方法有多种。在这篇教程中我们仅讨论两种方法。 - * `latest` : 这个标签是他们的最新开发构建。这些构建将通过rancher CI的自动化框架进行验证,不建议在生产环境使用。 - * `stable` : 这是最新的稳定发行版本,推荐在生产环境使用。 + * 以单一容器的方式安装 Rancher(内嵌 Rancher 数据库) + * 以单一容器的方式安装 Rancher(外部数据库) +### 方法 - 1 -Rancher的安装方法有多种。在这边教程中我们仅讨论两种方法。 +运行下列命令以单一容器的方式安装 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 +### 方法 - 2 + +你可以在启动 Rancher 服务器时指向外部数据库,而不是使用自带的内部数据库。首先创建所需的数据库,数据库用户为同一个。 -你可以开始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去连接外部数据库。 +运行下列命令启动 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,使用下列的命令去开始。 + +如果你想测试 Rancher 2.0,使用下列的命令去启动。 + ``` $ sudo docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/server:preview - ``` -### 通过GUI访问 & 安装Rancher +### 通过 GUI 访问 & 安装 Rancher -浏览器输入 `http://hostname:8080` or `http://server_ip:8080` 去访问 rancher GUI. -![03efbb176e40781f5e2231fa83dfaa8a.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p27) +浏览器输入 `http://hostname:8080` 或 `http://server_ip:8080` 去访问 rancher GUI. +![][8] ### 怎样注册主机 -注册你的主机URL允许去连接到Rancher API。这是一次性设置。 +注册你的主机 URL 允许它连接到 Rancher API。这是一次性设置。 -接下来,点击主菜单下面的`Add a Host`链接或者点击主菜单上的INFRASTRUCTURE >> Add Hosts,点击保存按钮。 -![ef2ea6c909315f19fd0e112761e9cee4.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p9) +接下来,点击主菜单下面的 “Add a Host” 链接或者点击主菜单上的 “INFRASTRUCTURE >> Add Hosts”,点击 “Save” 按钮。 +![][9] -在rancher里默认访问控制认证机制是没有打开的,因此我们首先需要通过一些方法打开访问控制认证,否则任何人都不能访问GUI。 +默认情况下,Rancher 里的访问控制认证禁止了访问,因此我们首先需要通过一些方法打开访问控制认证,否则任何人都不能访问 GUI。 -点击 >> Admin >> Access Control , 输入下列的值最后点击`打开认证`按钮去打开它。以我的案例,我通过`本地认证`的方式打开。 +点击 “>> Admin >> Access Control”,输入下列的值最后点击 “Enable Authentication” 按钮去打开它。在我这里,是通过 “local authentication” 的方式打开的。 - * **`Login UserName`** 输入你期望的登录名 - * **`Full Name`** 输入你的全名 - * **`Password`** 输入你期望的密码 - * **`Confirm Password`** 再一次确认密码 + * “Login UserName”: 输入你期望的登录名 + * “Full Name”: 输入你的全名 + * “Password”: 输入你期望的密码 + * “Confirm Password”: 再一次确认密码 +![][10] +注销然后使用新的登录凭证重新登录: -![f7c28cc334daccc0d9acf78950818251.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p11) - -注销然后使用新的登录凭证重新登陆 -![5657104cbd4822c111bd117a7f928826.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p12) +![][11] 现在,我能看到本地认证已经被打开。 -![458648bd4ba0cee4b8e716825b5356f2.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p13) +![][12] ### 怎样添加主机 -点击注册你的主机后,它将带你进入下一个页面,在那里你能选择不同云服务提供商的Linux主机。我们将添加一个主机运行Rancher服务,因此选择`自定义`选项然后输入必要的信息。 +注册你的主机后,它将带你进入下一个页面,在那里你能选择不同云服务提供商的 Linux 主机。我们将添加一个主机运行 Rancher 服务,因此选择“custom”选项然后输入必要的信息。 + +在第 4 步输入你服务器的公有 IP,运行第 5 步列出的命令,最后点击 “close” 按钮。 -在第四部输入你服务器的公有IP,运行第5步列出的命令,最后点击`close`按钮。 -![38af35f3b207f4ba1c826ecf160aefee.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p14) ``` - $ 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 @@ -149,54 +144,63 @@ 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 页面。 -![4620832d7f277d6d84ace7ca6d486d17.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p15) +![][13] + +等待几秒钟后新添加的主机将会出现。点击 “Infrastructure >> Hosts” 页面。 + +![][14] ### 怎样查看容器 -只需要点击下列位置就能列出所有容器。点击 >> INFRASTRUCTURE >> Containers -![f62d012ee89c9c2bee58fe1204eb0a65.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p16) +只需要点击下列位置就能列出所有容器。点击 “Infrastructure >> Containers” 页面。 +![][15] ### 怎样创建容器 -非常简单, 只需点击下列位置就能创建容器。 +非常简单,只需点击下列位置就能创建容器。 -点击 >> INFRASTRUCTURE >> Containers >> “Add Container” 然后输入每个你需要的信息。 方便测试, 我将创建一个latest标签的Centos容器。 -![4c6ff6b04c543b573e2aa1330de087d2.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p21) +点击 “Infrastructure >> Containers >> Add Container” 然后输入每个你需要的信息。为了测试,我将创建一个 `latest` 标签的 CentOS 容器。 -在同样的列表位置,点击 INFRASTRUCTURE >> Containers -![317f86d0860ad46576bedefe8c26f0a3.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p22) +![][16] -点击`Container`名展示容器的性能信息,如CPU,内存,网络和存储。 -![26e909d243f490b8fc856eadeb4e2f7d.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p19) +在同样的列表位置,点击 “ Infrastructure >> Containers”。 -选择特定容器,然后点击最右边的`三点`按钮或者点击`Actions`按钮对容器进行管理,如停止,启动,克隆,重启等。 -![0aa0e91f32426274c3d209c4e4dc5c46.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p23) +![][17] -如果你想控制台访问容器,只需要点击action按钮中的`Execute Shell`选项即可。 -![83c3b6c9e959fa8d8946e6449e854e43.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p24) +点击容器名展示容器的性能信息,如 CPU、内存、网络和存储。 + +![][18] + +选择特定容器,然后点击最右边的“三点”按钮或者点击“Actions”按钮对容器进行管理,如停止、启动、克隆、重启等。 + +![][19] + +如果你想控制台访问容器,只需要点击 “Actions” 按钮中的 “Execute Shell” 选项即可。 + +![][20] ### 怎样从应用目录部署容器 Rancher 提供了一个应用模版目录,让部署变的很容易,只需要单击一下就可以。 -它维护了多数流行应用,这些应用由Rancher社区贡献。 -![d38aeb44d759a7eb4e787c5a273d5bfa.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p25) +它维护了多数流行应用,这些应用由 Rancher 社区贡献。 -点击 >> Catalog >> All >> 选择你需要的应用 >> 最后点击运行去部署。 -![aad6948878609c1605fcf1091395cc8b.png](evernotecid://362D54D6-01E1-4A00-A4F0-91F1094EAA56/appyinxiangcom/11631496/ENResource/p26) +![][21] + +点击 “Catalog >> All >> Choose the required application”,最后点击 “Launch” 去部署。 + +![][22] -------------------------------------------------------------------------------- -浏览: https://www.2daygeek.com/rancher-a-complete-container-management-platform-for-production-environment/ +via: https://www.2daygeek.com/rancher-a-complete-container-management-platform-for-production-environment/ 作者:[Magesh Maruthamuthu][a] 译者:[arrowfeng](https://github.com/arrowfeng) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出