如何在KVM或Xen虚拟机下安装LXD容器

时间:2020-01-09 10:39:23  来源:igfitidea点击:

为了安全和易于管理,如何在XEN或KVM驱动的云服务器上安装LXD。
如何在采用KVM虚拟化技术的Ubuntu Linux服务器上安装LXD?
您可以实现Linux容器(LXD/LXC)来对您的云服务器进行分区。
仅授予云服务器,其文件和资源访问正确的服务的权限,例如Apache,Nginx,MySQL,Proxy,Memcached等。

Canonicals LXD是一个纯容器的虚拟机管理程序,它以惊人的速度和密度运行具有VM风格操作的未修改的Linux操作系统和应用程序。
在此快速教程中,您将学习如何在Linode托管的KVM云服务器下安装LXD容器的最新稳定版本,以在Ubuntu Linux 16.04.xx LTS服务器上安装安全机制。

第1步LTS与反向移植版本

有两个版本

  • 建议将LTS版本用于生产环境。
  • 要获得LXD的所有最新功能和每月更新,请使用"功能发布分支"。

步骤2安装lxd

执行以下apt命令或apt-get命令以安装LXD LTS版本:

$ sudo apt-get install lxd

或者

$ sudo apt install lxd

要在Xenial上使用backported安装最新的稳定版本,请运行:

$ sudo apt install -t xenial-backports lxd lxd-client

步骤3为lxd添加用户帐户

执行以下命令以添加名为Hyman的用户,运行:

$ sudo adduser Hyman

确保Hyman是名为lxd group的辅助组的一部分,执行:

$ sudo usermod -a -G lxd Hyman

验证它,运行id命令,如下所示:

$ id Hyman

输出示例:

uid=1002(Hyman) gid=1002(Hyman) groups=1002(Hyman),118(lxd)

步骤4配置lxd

要进行初始的LXD配置,请运行:

$ sudo lxd init

输出示例:

第5步-创建和使用第一个容器

首次以Hyman用户身份登录:

$ ssh [email protected]

或者

$ su - Hyman

验证lxc客户端正在与LXD守护程序进行对话:

$ lxc list

创建第一个容器的语法如下:

lxc launch images:{distro}/{version}/{arch} {container-name-here}

要列出各种Linux发行版的所有可用镜像,请运行:

$ lxc image list images:

要创建CentOS Linux v7.x容器:

$ lxc launch images:centos/7/amd64 my-cenots

输出示例:

Creating my-cenots
Retrieving image: 100% (16.80MB/s)
Starting my-cenots

要创建Ubuntu Linux 16.4 LTS容器:

$ lxc launch images:ubuntu/xenial/amd64 my-ubuntu

步骤6登录到您的第一个容器

执行以下命令:

$ lxc exec my-centos bash
$ lxc exec my-ubuntu bash

现在,您可以更新容器或安装所需的软件。

步骤6锁定root用户

您不需要在容器中创建的root用户或默认用户(例如ubuntu/centos):

$ lxc exec my-ubuntu bash

锁定根帐户访问权限,运行:

# passwd -l root

使用userdel命令删除不需要的用户帐户,运行:

# userdel -r ubuntu

步骤7基本的Linux容器管理命令

让我们看一些重要的命令来管理您的容器。

启动一个容器

$ lxc start containerName

停止容器

$ lxc stop containerName

重新启动容器

$ lxc restart containerName

删除容器

$ lxc delete containerName

获取有关运行容器的信息

$ lxc info containerName

在容器中运行指定的命令

$ lxc exec containerName command1
$ lxc exec containerName command1 opt1
$ lxc exec containerName date
$ lxc exec containerName -- command1 -arg1 -arg2
$ lxc exec my-cenots -- yum update -y

引导时自动启动LXD VM

$ lxc config set containerName boot.autostart true
$ lxc config set my-centos boot.autostart true

创建容器的只读快照

$ lxc snapshot containerName snapShotName
$ lxc snapshot my-cenots snap0
$ lxc info my-cenots

将容器状态还原到以前的快照

$ lxc restore containerName snapShotName
$ lxc restore my-cenots snap0
$ lxc info my-cenots
$ lxc exec my-cenots bash

我建议您让内置的DHCP根据名称或MAC地址将静态IP分配给LXD容器/VM,以便于管理(包括互相交谈)。
我建议您按以下方式设置LAMP堆栈:

$ lxc launch images:ubuntu/xenial/amd64 db1
$ lxc launch images:ubuntu/xenial/amd64 nginx1
$ lxc launch images:ubuntu/xenial/amd64 apache-php1
$ lxc launch images:ubuntu/xenial/amd64 memcached

一旦LXC VM启动并运行。
登录到每个容器并设置服务,即在apache-php1 VM上安装Apache和PHP。
在云服务器上使用Nginx(或任何其他代理服务器)或iptables将流量从公共IP地址重定向到端口80/443到容器服务。