什么是容器Linux,您应该使用它吗?

Linux操作系统具有多种风格。尽管Linux操作系统(如Ubuntu)相当普遍,但其他操作系统仍以利基市场为目标。有面向安全性的Kali Linux。轻量级发行版,例如Xubuntu甚至Hannah Montana Linux(!)。对于桌面使用,香草Linux操作系统运行良好。但是,对于诸如运行服务器之类的特殊任务,最好找到量身定制的版本。

容器越来越受欢迎。容器Linux(以前称为CoreOS)是设计用于简单容器化部署的Linux操作系统。它是最新的小众Linux操作系统之一。查看此概述并动手研究Container Linux。

动手操作Container Linux:背景知识

在深入研究Container Linux之前,让我们首先简要概述服务器。建筑。容器Linux专为集群部署而设计。集群部署听起来很复杂,但是却很简单。本质上,计算机集群由多个可协同工作的服务器组成。因此,它们充当一个单元或系统,而不是多个。此外,群集中的计算机具有执行相同功能的节点或服务器。因此,节点是一台机器,而集群是一组可以协同工作的服务器。

大多数常见的Container Linux部署都在集群环境中。该发行版以前称为CoreOS,甚至包括仅从一台计算机启动集群的方法。但是,Container Linux的定义功能是对容器的依赖。

与传统的桌面操作系统不同,所有应用程序都在容器中运行。虽然虚拟机(VM)和容器都使用虚拟化方法,但是容器不同。与VM不同,容器使用与主机相同的操作系统内核。因为容器化的应用程序和主机使用相同的内核,所以容器部署受益于效率的提高。在虚拟机配置中,每个VM都运行一个应用程序和一个来宾操作系统。它运行在主机操作系统和硬件之上。

包含容器的部署改为在虚拟化软件之上的自己容器中运行应用程序。 Docker仍然是最受欢迎的容器软件,尽管chroot,LXC和Linux-VServer属于Docker替代方案。

容器Linux的动手实践:为什么要使用容器?

好,所以容器是一种虚拟化方法。为什么选择容器化环境?通常,容器可提高性能。通过避免使用单独的操作系统,而使用共享内核,可以最大程度地提高CPU,存储和内存的效率。

由于不需要像在VM配置中那样运行多个操作系统实例,因此您可以可以运行更多的容器。性能增强源于对单个操作系统的需求。同样,您可以比在虚拟机环境中更快地创建容器。因此,容器更适合保持敏捷性并允许持续交付和持续集成。

敏捷开发专注于迭代和不可预测性因素。您可以阅读《敏捷宣言》,以进一步了解敏捷哲学。但是,尽管容器具有优势,但它并不是一种完美的虚拟化方法。由于容器共享主机操作系统内核,因此存在安全风险。任何影响容器的漏洞或破坏都可以访问操作系统。但是,有一种解决方法是在虚拟机中的操作系统上运行容器化的应用程序。这样可确保主机操作系统与单个容器主机操作系统隔离。

容器化还要求容器使用相同的操作系统。使用虚拟机,每个应用程序都有自己的操作系统。因此,您不能在容器化的Linux环境中运行为Windows Server设计的应用程序,反之亦然。

容器Linux的动手实践:什么是容器Linux?

CoreOS,或者现在称为Container Linux的是开源Linux操作系统。这是一个针对集群部署的轻量级发行版。更具体地说,CoreOS专注于简单,可靠,可扩展的部署。您将找不到包管理器。相反,Container Linux要求所有应用程序都必须在容器中运行。 Container Linux使用Chrome操作系统作为基础。因此,Container Linux仍然非常轻巧。为了进行测试,我在运行HP Envy m6-1205dx AMD A10的便携式笔记本电脑上的虚拟机中运行了以前称为CoreOS的Linux操作系统。系统资源消耗保持在较低水平。

由于Container Linux避开了几种传统的台式机Linux操作系统功能,因此使发行版轻巧。与台式机操作系统不同,您找不到软件包管理器。相反,所有应用程序都作为Docker容器运行。这使得可移植性和服务隔离。如果您要使用台式机环境,那么就不走运了。容器Linux缺少图形用户界面。相反,所有内容都基于命令行。 CoreUpdate仪表板确实提供有关计算机运行状况,运行服务和群集运行状况的信息。但是,它仅作为Premium Managed Linux订阅中的组件提供。

Container Linux是轻量级的,旨在用于容器化和集群化。由于没有台式机环境,因此配置的功能与在CentOS或Ubuntu等Linux操作系统上不同。首次启动时,Container Linux将加载一个云配置文件。您需要在cloud-config中输入信息。这可能有些棘手,尤其是对于不熟悉cloud-config的用户。但这是一个必不可少的文件,它使Container Linux能够加载必需的服务,更改参数和管理集群。

此外, etcd 和<代码类=“ =" language-bash“> fleet 守护程序仍然是Container Linux不可或缺的。默认情况下,这两种服务都在启动时启动。此外,在启动时,cloud-config文件使主机知道如何加入现有集群。 etcd 守护程序为群集中的主机分发和存储数据。这对于维护配置和发现服务至关重要。 fleet 守护程序类似于分布式init。该守护程序链接到集群中主机的系统化初始化,并负责诸如服务调度之类的任务。

fleet 集群仅运行一个 etcd 是唯一的数据存储。诸如群集存在,单元状态和单元文件之类的信息都存储在 etcd 守护程序中。此外,它是车队代理和引擎通信的媒介。

动手操作容器Linux:谁应该使用它?

Container Linux是免费下载的,轻巧且相当简单的容器在虚拟机中安装。任何需要快速,可伸缩,容器化部署的人都应该选择Container Linux。通常,系统管理员和数据库管理员将从Container Linux中受益最多。由于Container Linux没有桌面环境,因此最适合集群管理和服务器设置。如果您正在寻找Linux服务器操作系统,Container Linux是12个最佳Linux服务器发行版之一。

Air Pair具有对CoreOS奖励的出色记录。本文将高可用性,生产环境维护,软件版本控制以及etcd作为使用Container Linux的主要内容。值得注意的是,还有一个非常敬业的开源社区。 Container Linux是为经验丰富的Linux用户量身定制的。帮助文档虽然很全面,但确实具有一定程度的Linux熟悉度。新手和初学者在初始安装时可能会遇到一些麻烦。

更具体地说,cloud-config可能是一个挑战。 YouTube用户Setyoso Nugroho在一个CoreOS安装视频的评论部分中说:“不错的教程!在CoreOS中学习#cloud-config文件配置时,这非常令人困惑。"虽然配置并不十分困难,但是Container Linux拥有对VIM编辑器等Linux功能的强大掌握。

Container-On With Container Linux :如何安装

有很多安装Container Linux的方法。根据CoreOS网站,官方平台包括Amazon EC2,DigitalOcean,Microsoft Azure,裸机和OpenStack。除了Oracle Linux,CentOS和Suse之外,CoreOS是少数与Azure兼容的Linux操作系统之一。

打开VirtualBox,系统会提示您输入虚拟机名称,操作系统类型,和版本。我称我为CoreOS。对于类型,选择Linux。作为版本,使用Linux 2.6 / 3.x / 4 / x(64位)。单击下一步。

现在,您需要分配RAM。 CoreOS建议至少要有1024 MB的RAM。

选择RAM后,您需要添加一个虚拟硬盘。使用立即创建虚拟硬盘选项。

在下一个屏幕上,系统将提示您输入硬盘文件类型。选择VDI或VirtualBox磁盘映像。

After that, configure your storage space. I recommend using a dynamically allocated hard disk file.

然后选择文件位置和大小。我将默认的CoreOS保留为名称,并选择了8 GB的文件数据大小。

With your CoreOS VirtualBox virtual machine properly configured, go ahead and click the green Start button.

单击“开始"后,您将需要选择启动盘。导航到拥有CoreOS ISO的文件夹,然后继续。

启动CoreOS ISO后,Container Linux将开始加载。最终,您会看到一行显示您的CoreOS版本和命令行的内容:

core@localhost

键入:

sudo openssl passwd -1 > cloud-config-file

该命令行会显示一条警告,告知您如果无法打开配置文件。输入所需的密码,然后继续。接下来输入:

cat cloud-config-file

这将返回一个长字符串并创建一个新的cloud-config文件。现在,在可视编辑器中打开cloud-config:

vi cloud-config-file

这会加载您可以编辑的cloud-config文件。 CoreOS包括一个高级的云配置示例文件:

我的样子:

#cloud-configusers: moepasswd: [SSL password]groups:- sudo- docker

您可以通过输入以下内容来检查您的云配置文件:

cat cloud-config-file

返回您的配置文件。如果一切正常,请继续安装CoreOS:

sudo coreos-install -d /dev/sda -C stable -c cloud-config-file

,您会看到一条消息,提示您正在下载,编写和验证CoreOS。完成后,您会看到一条消息,内容为“成功! CoreOS [version]已安装在/ dev / sda上。"

关闭您的CoreOS虚拟机,然后将其启动。开始备份时,请确保卸载CoreOS ISO,否则实时CD将再次运行。

CoreOS将加载,并且您将在命令行中出现登录提示:

localhost login:

输入您的用户名和密码。这将加载一条消息,提示“ Container Linux by CoreOS [version]"和一个新的命令行。

动手操作容器Linux:下一步

现在该容器Linux通过正确安装CoreOS,您可以开始设置容器和集群。 CoreOS文档具有出色的快速入门指南。有关使用etcd进行服务发现的信息,以及有关使用Docker进行容器管理的部分。我执行了一些快速测试,例如“ Hello World" Docker pull。另外,我安装了Plex Docker映像,因为我是媒体服务器爱好者。最后,我为群集管理设置了舰队。

What you’ll want to do first is configure the main components of Container Linux:

  • etcd
  • Docker
  • Fleet
  • 通过配置这三个主要基础,您可以准备进行服务发现,群集管理和设置容器。然后,您可以开始对应用程序进行容器化,并在安全的Docker容器中安全地测试桌面应用程序。

    动手操作容器Linux:最终思路

    我不经常使用容器,但是容器Linux简化了部署。样本配置文件非常出色。请注意,对于初学者来说,一些非官方的视频安装教程使CoreOS的安装更加容易。尽管CoreOS声称Container Linux是轻量级的,但我最初还是持怀疑态度。但是,我在资源消耗非常低的虚拟机中启动了Container Linux。而且因为我想测试Container Linux是否真的是轻量级的,所以我使用了老化的HP笔记本电脑,没有遇到任何问题。

    但是,初始安装中的某些步骤对初学者并不十分友好。设置Container Linux需要对Linux有一定的了解。值得注意的是,我没有尝试过CoreUpdate提供的付费更新功能CoreUpdate仪表板。尽管我在使用命令行方面没有问题,但是用于监视的图形环境将是一个不错的补充。

    系统管理员和数据库管理员从Container Linux中受益最多。但是,对于家庭服务器,这是创建集群环境的一种简单而轻巧的方法。此外,借助Container Linux,您可以从一台计算机上启动集群。但是Container Linux是使用容器的绝佳入门。如果您想了解有关Docker和容器的更多信息,Container Linux在虚拟机中的运行非常好,并提供了入门所需的所有资源。

    这是一个非常好的即用型除了经验丰富的DevOps工程师,系统管理员和数据库管理员外,还为Container新手提供解决方案。最终,CoreOS的Container Linux是创建可扩展,高效,容器化环境的简单方法。

    您是否正在使用CoreOS?你打算吗?在下面的评论部分,让我们知道您如何在Linux上进行容器化!

    标签: Linux Linux Distro