docker容器技术与应用_关于容器技术的新应用和用例

docker容器技术与应用

随着容器化成为主流,许多人正在寻找容器技术的新应用和用例。 Red Hat的高级首席软件工程师Jan Pazdziora在想要对FreeIPA进行容器化时面临传统Docker的局限性。 这导致他创建了Docker-freeipa开源工作。

Jan在今年的LinuxCon Europe上就该项目进行了演讲 。 Jan在开放源代码方面拥有丰富的经验,我们花了很多时间讨论各种话题,从Docker的复杂用例到整个开源软件,再到Perl的未来。

您的演讲主题“容器中的复杂应用程序”既有趣又令人困惑,因为我们通常不希望Docker以这种方式使用。 你能告诉我们一些吗?

在探索容器技术以及将其用于FreeIPA的并行安装以进行测试和其他目的的可能性时,我当然尝试“遵循本书”并将各个部分正确地隔离到单独的容器中。 但是,服务器由多个相互连接的组件组成,配置了许多OS级组件和库。 例如,Kerberos配置用于验证各个部分之间的通信,因此它需要对所有部分可用。 我需要将许多配置目录和文件绑定挂载到许多容器中,这对于普通的Docker来说很容易出错。

此外,通过使设置一致并易于从管理员的角度实现,设置所有组件的配置程序ipa-server-install在FreeIPA项目的总体价值中发挥着重要作用。 它假定所有零件都已配置并在一台计算机上运行。 我们本来可以等待容器化工作,直到将其重构以支持在多个主机上安装,使用Docker工具重写逻辑,或者直接使用配置工具并适应容器内的环境。 由于设置工具在启用单个服务并重新启动它们时会大量使用systemctl调用,因此在容器中使用systemd是最初的计划。

最终,我们使用了一个自定义的systemctl来模拟我们所需服务所需的足够的systemd功能。 在保持解决方案精简的同时,这给了我们最大的控制权。

您如何看待集装箱化状态? 在将容器视为关键任务和企业就绪之前,需要做什么?

这取决于用例。 对于其中的某些容器,容器已经存在,组织和公司正在使用它们。 对于某些部署,将可能需要额外的管道,以使构建解决方案的人员能够轻松,灵活地控制容器和主机环境的组合,以实现安全设置。 重要的是要记住,容器实际上是多种不同的技术,在特定的部署中可能不会全部使用。

您可以拥有容器化的应用程序,该应用程序仅使用cgroup设置资源限制,使用文件系统名称空间使用特定的库或JVM版本,也许使用SELinux进行容器隔离,但不需要UID或PID命名空间。 与虚拟机不同,容器的边界可以更灵活,有时甚至模糊。

Docker-freeipa上的工作实际上是使容器企业做好准备(将身份管理引入容器化环境中)的工作的一部分,而不仅仅是服务器端能够在容器中运行FreeIPA。 该项目还包含带有系统安全服务守护程序(SSSD)的客户端分支,并且我们积极探索在容器中使用外部身份和身份验证的方法。

Docker安全性是一个巨大的问题。 仍然需要做些什么来填补Docker中的安全漏洞?

我认为某些问题源于人们将Linux容器技术和Docker容器在功能上等同于虚拟机的事实,只是占用空间较小,而不是增强的chroot环境。 他们基于从各种来源下载的随机图像运行过程的粗心大意是由于易于使用的结果,这需要通过教育和提高意识来解决,同时还需要借助使其变得更加明显的工具来解决。并运行,以及如何运行。 为了更深入地了解Docker的安全性, Dan Walsh积极从事Docker内部工作,因此更加胜任。

如您所说,Docker的传统方法是将每个组件部署在一个独立的容器中并将它们链接在一起。 随着应用程序变得越来越复杂,这正成为一种限制,这就是您试图使用Docker-freeipa解决的问题。 您是否认为捆绑小型容器并创建超级容器的“ Docker编排服务”存在范围?

如果一个应用程序由四个容器组成,并且您需要它们全部运行以为用户提供价值,那么人们将寻找比--link和-v选项更持久的方式来描述容器之间的关系。 Docker运行命令。 答案可能是Docker Compose,Kubernetes Pods或类似项目。

编排本身应该作为容器运行还是只是某个守护程序的文件和运行时状态中的定义,我不敢猜测。

您在身份管理领域拥有丰富的经验。 传统上,专有产品占主导地位,诸如OpenAMOpenIDM之类的开源解决方案一直在慢慢产生影响。 开源身份管理是否已准备好投入生产? 您是否有有关如何部署开源IM的示例?

有不同级别的身份管理软件。 人们通常会混淆他们,因为这是一个复杂的领域。 OpenAM和OpenIDM是基础架构和云之上的更多Web应用程序级技术。 我不会评论这些技术及其对企业的准备情况。 最好征询与这些项目密切合作的人的意见。

底层的基础架构和云需要平台级的身份管理功能。 对于Windows,传统上已由Active Directory和相关集成组件产品提供的整个生态系统解决。 在开源世界中,可以通过跨林Kerberos信任与Active Directory很好地集成的FreeIPA担当此角色。 它绝对可以用于生产,并且已经部署在多个生产环境中。 红帽在红帽企业版Linux中提供了一个受支持的版本,称为身份管理 (IdM)。 在过去的几年中,我们已经看到在Fedora,Red Hat Enterprise Linux和CentOS平台上的生产部署稳定增长。

组织使用它们来集中管理对其上运行的Linux机器和服务的访问,有时是成千上万的用户。 然后,安装在主机上的客户端SSSD使用PAM(可插入身份验证模块)和其他本机机制来实施策略。 通常,经过身份验证的用户来自Active Directory领域,而IdM解决方案将两个领域联系起来,使企业可以使用最适合该任务的技术自由地部署基础结构的各个部分。

您也曾是CPAN的撰稿人。 Perl的低入门门槛吸引了许多程序员,并被正确地称为“ Internet的磁带”。 关于Perl不再重要和一种垂死的语言,已经有很多说法。 作为长期的拥护者,您对Perl的未来有何看法?

借助云服务以及容器化,可以并有望将解决方案创建为能够使用某些开放协议或格式处理和交换数据的各种组件的组合。 尽管我不希望再看到CGI时代所使用的Perl,但是用Perl 5(或6?)编写的组件可以使用并在未来数十年提供价值。

开始有不时使用该语言的新项目,很高兴在人们的git仓库中不时看到旧的友好代码。 也许下一个庞大的社交网络正在Perl的某个地方开发。

您能告诉我们一些您在Red Hat的角色吗? 在您的正式工作中,您有多少时间花在其他开源项目上?

在Red Hat,我负责将身份管理技术集成到我们的产品中。 这使我们的客户拥有来自外部身份管理系统(如IdM或Active Directory)的用户,或来自外部组织的用户(通过使用SAML或其他协议的联合身份)来使用具有单点登录,中央访问控制或类似预期功能的产品。 然后,另一部分是复杂系统的安全性,我们将尝试避免将密码用于各种系统和数据库帐户,并寻求使用更可维护的机制(GSS-API和Kerberos或SSL证书)的方式。

由于Red Hat的理念是“上游优先”,并且我们的产品是开源的,因此我们显然通常首先尝试在上游项目中启用这些功能。 在其他开放源代码项目中,我可能没有太多贡献,因为我最近专注于宣传和支持并帮助他人进行这些贡献,而不是亲自提出请求。 但是我在磁盘上有80多个项目的git-clones和svn-checkouts,我每天都在处理它们。

2015年欧洲LinuxCon
系列

本文是都柏林LinuxCon欧洲系列 LinuxCon的一部分。 在LinuxCon Europe上,开发人员,系统管理员,架构师和所有级别的技术人才齐聚一堂,共同学习,协作和解决问题,以进一步发展Linux平台。 欧洲LinuxCon将于2015年10月5日至7日在爱尔兰都柏林举行

翻译自: https://opensource.com/business/15/9/linuxcon-eu-interview-jan-pazdziora-red-hat

docker容器技术与应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值