如何在KVM或Xen虚拟机下安装LXD容器
为了安全和易于管理,如何在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到容器服务。