diff --git a/translated/tech/LXD/Part 10 - LXD 2.0--LXD and Juju.md b/published/LXD/Part 10 - LXD 2.0--LXD and Juju.md similarity index 78% rename from translated/tech/LXD/Part 10 - LXD 2.0--LXD and Juju.md rename to published/LXD/Part 10 - LXD 2.0--LXD and Juju.md index 969374da74..bfaf180bcb 100644 --- a/translated/tech/LXD/Part 10 - LXD 2.0--LXD and Juju.md +++ b/published/LXD/Part 10 - LXD 2.0--LXD and Juju.md @@ -1,26 +1,25 @@ -LXD 2.0 系列(十):LXD和Juju +LXD 2.0 系列(十):LXD 和 Juju ====================================== 这是 [LXD 2.0 系列介绍文章][1]的第十篇。 - ![LXD logo](https://linuxcontainers.org/static/img/containers.png) +![LXD logo](https://linuxcontainers.org/static/img/containers.png) -介绍 -============================================================ +### 介绍 -Juju是Canonical的服务建模和部署工具。 它支持非常广泛的云提供商,使您能够轻松地在任何云上部署任何您想要的服务。 +Juju 是 Canonical 的服务建模和部署工具。 它支持非常广泛的云服务提供商,使您能够轻松地在任何云上部署任何您想要的服务。 -此外,Juju 2.0还支持LXD,既适用于本地部署,也适合开发,并且可以在云实例或物理机上共同协作。 +此外,Juju 2.0 还支持 LXD,既适用于本地部署,也适合开发,并且可以在云实例或物理机上共同协作。 本篇文章将关注本地使用,通过一个没有任何Juju经验的LXD用户来体验。 -# 要求 +### 要求 -本篇文章假设你已经安装了LXD 2.0并且配置完毕(看前面的文章),并且是在Ubuntu 16.04 LTS上运行的。 +本篇文章假设你已经安装了 LXD 2.0 并且配置完毕(看前面的文章),并且是在 Ubuntu 16.04 LTS 上运行的。 -# 设置 Juju +### 设置 Juju -第一件事是在Ubuntu 16.04上安装Juju 2.0。这个很简单: +第一件事是在 Ubuntu 16.04 上安装 Juju 2.0。这个很简单: ``` stgraber@dakara:~$ sudo apt install juju @@ -52,7 +51,7 @@ Setting up juju-2.0 (2.0~beta7-0ubuntu1.16.04.1) ... Setting up juju (2.0~beta7-0ubuntu1.16.04.1) ... ``` -安装完成后,我们可以使用LXD启动一个新的“控制器”。这意味着Juju不会修改你主机上的任何东西,它会在LXD容器中安装它的管理服务。 +安装完成后,我们可以使用 LXD 启动一个新的“控制器”。这意味着 Juju 不会修改你主机上的任何东西,它会在 LXD 容器中安装它的管理服务。 现在我们创建一个“test”控制器: @@ -86,7 +85,7 @@ Waiting for API to become available: upgrade in progress (upgrade in progress) Bootstrap complete, local.test now available. ``` -这会花费一点时间,这时你可以看到一个正在运行的一个新的LXD容器: +这会花费一点时间,这时你可以看到一个正在运行的一个新的 LXD 容器: ``` stgraber@dakara:~$ lxc list juju- @@ -97,7 +96,7 @@ stgraber@dakara:~$ lxc list juju- +-----------------------------------------------------+---------+----------------------+------+------------+-----------+ ``` -在Juju这边,你可以确认它有响应,并且还没有服务运行: +在 Juju 这边,你可以确认它是有响应的,并且还没有服务运行: ``` stgraber@dakara:~$ juju status @@ -111,7 +110,7 @@ ID WORKLOAD-STATUS JUJU-STATUS VERSION MACHINE PORTS PUBLIC-ADDRESS MESSAGE ID STATE DNS INS-ID SERIES AZ ``` -你也可以在浏览器中访问Juju的GUI界面: +你也可以在浏览器中访问 Juju 的 GUI 界面: ``` stgraber@dakara:~$ juju gui @@ -120,13 +119,13 @@ If it does not open, open this URL: https://10.178.150.72:17070/gui/97fa390d-96ad-44df-8b59-e15fdcfc636b/ ``` - ![Juju web UI](https://www.stgraber.org/wp-content/uploads/2016/06/juju-gui.png) +![Juju web UI](https://www.stgraber.org/wp-content/uploads/2016/06/juju-gui.png) -尽管我更倾向使用命令行,因此我会在接下来使用。 +不过我更倾向使用命令行,因此我会在接下来使用。 -# 部署一个minecraft服务 +### 部署一个 minecraft 服务 -让我们先来一个简单的,部署在一个容器中使用一个Juju单元的服务。 +让我们先来一个简单的,部署在一个容器中使用一个 Juju 单元的服务。 ``` stgraber@dakara:~$ juju deploy cs:trusty/minecraft @@ -134,7 +133,7 @@ Added charm "cs:trusty/minecraft-3" to the model. Deploying charm "cs:trusty/minecraft-3" with the charm series "trusty". ``` -返回会很快,然而这不意味着服务已经启动并运行了。你应该使用“juju status”来查看: +命令返回会很快,然而这不意味着服务已经启动并运行了。你应该使用 `juju status` 来查看: ``` stgraber@dakara:~$ juju status @@ -152,7 +151,7 @@ ID STATE DNS INS-ID SERIES AZ ``` -我们可以看到它正在忙于在刚刚创建的LXD容器中安装java。 +我们可以看到它正在忙于在刚刚创建的 LXD 容器中安装 java。 ``` stgraber@dakara:~$ lxc list juju- @@ -182,7 +181,7 @@ ID STATE DNS INS-ID SERIES AZ 1 started 10.178.150.74 juju-97fa390d-96ad-44df-8b59-e15fdcfc636b-machine-1 trusty ``` -这时你就可以启动你的Minecraft客户端了,它指向10.178.150.74,端口是25565。现在可以在新的minecraft服务器上玩了! +这时你就可以启动你的 Minecraft 客户端了,将其指向 10.178.150.74,端口是 25565。现在可以在新的 minecraft 服务器上玩了! 当你不再需要它,只需运行: @@ -192,13 +191,13 @@ stgraber@dakara:~$ juju destroy-service minecraft 只要等待几秒就好了。 -# 部署一个更复杂的web应用 +### 部署一个更复杂的 web 应用 -Juju的主要工作是建模复杂的服务,并以可扩展的方式部署它们。 +Juju 的主要工作是建模复杂的服务,并以可扩展的方式部署它们。 -为了更好地展示,让我们部署一个Juju “组合”。 这个组合是由网站,API,数据库,静态Web服务器和反向代理组成的基本Web服务。 +为了更好地展示,让我们部署一个 Juju “组合”。 这个组合是由网站,API,数据库,静态 Web 服务器和反向代理组成的基本 Web 服务。 -所以这将扩展到4个互联的LXD容器。 +所以这将扩展到 4 个互联的 LXD 容器。 ``` stgraber@dakara:~$ juju deploy cs:~charmers/bundle/web-infrastructure-in-a-box @@ -228,7 +227,7 @@ added nginx-proxy/0 unit to new machine deployment of bundle "cs:~charmers/bundle/web-infrastructure-in-a-box-10" completed ``` -几秒后,你会看到LXD容器在运行了: +几秒后,你会看到 LXD 容器在运行了: ``` stgraber@dakara:~$ lxc list juju- @@ -283,15 +282,15 @@ ID STATE DNS INS-ID SERIES AZ 5 started 10.178.150.214 juju-97fa390d-96ad-44df-8b59-e15fdcfc636b-machine-5 trusty ``` -这时你就可以在80端口访问http://10.178.150.214,并且会看到一个Juju学院页面。 +这时你就可以在 80 端口访问 http://10.178.150.214,并且会看到一个 Juju 学院页面。 [ ![Juju Academy web service](https://www.stgraber.org/wp-content/uploads/2016/06/juju-academy.png) ][2] -# 清理所有东西 +### 清理所有东西 -如果你不需要Juju创建的容器并且不在乎下次需要再次启动,最简单的方法是: +如果你不需要 Juju 创建的容器并且不在乎下次需要再次启动,最简单的方法是: ``` stgraber@dakara:~$ juju destroy-controller test --destroy-all-models @@ -328,24 +327,36 @@ stgraber@dakara:~$ lxc list juju- +------+-------+------+------+------+-----------+ ``` -# 总结 +### 总结 -Juju 2.0内置的LXD支持使得可以用一种非常干净的方式来测试各种服务。 +Juju 2.0 内置的 LXD 支持使得可以用一种非常干净的方式来测试各种服务。 -在Juju charm store中有很多预制的“组合”可以用来部署,甚至可以用多个“charm”来组合你想要的架构。 +在 Juju charm store 中有很多预制的“组合”可以用来部署,甚至可以用多个“charm”来组合你想要的架构。 -Juju与LXD是一个完美的解决方案,从一个小的Web服务到大规模的基础设施都可以简单开发,这些都在你自己的机器上,并且不会在你的系统上造成混乱! +Juju 与 LXD 是一个完美的解决方案,从一个小的 Web 服务到大规模的基础设施都可以简单开发,这些都在你自己的机器上,并且不会在你的系统上造成混乱! + +### 额外信息 + +Juju 网站: http://www.ubuntu.com/cloud/juju +Juju charm store : https://jujucharms.com + +LXD 的主站在: https://linuxcontainers.org/lxd +LXD 的 GitHub 仓库: https://github.com/lxc/lxd +LXD 的邮件列表: https://lists.linuxcontainers.org +LXD 的 IRC 频道: #lxcontainers on irc.freenode.net +如果你不想或者不能在你的机器上安装 LXD ,你可以在 web 上试试[在线版的 LXD](https://linuxcontainers.org/lxd/try-it)。 -------------------------------------------------------------------------- -作者简介:我是Stéphane Graber。我是LXC和LXD项目的领导者,目前在加拿大魁北克蒙特利尔的家所在的Canonical有限公司担任LXD的技术主管。 + +作者简介:我是 Stéphane Graber。我是 LXC 和 LXD 项目的领导者,目前在加拿大魁北克蒙特利尔的家所在的Canonical 有限公司担任 LXD 的技术主管。 -------------------------------------------------------------------------------- via: https://www.stgraber.org/2016/06/06/lxd-2-0-lxd-and-juju-1012/ -作者:[ Stéphane Graber][a] +作者:[Stéphane Graber][a] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出