|
|
|
|
挪动端

通博8888官网容器平安的10个层面

容器提供了打包使用顺序的一种复杂办法,它完成了从开辟到测试到投入消费零碎的无缝通报。它也有助于确保跨差别情况的连接性,包罗物理效劳器、假造机、以及私有云或公有云。这些益处使得一些构造为了更方便地摆设和办理为他们提拔业务代价的使用顺序,而疾速地接纳了容器技能。

作者:Daniel Oh泉源:通博8888官网中国|2018-03-12 20:18

http://s4.51cto.com/oss/201803/12/c8510925addb6906afefc1c6c830b9c3.png-wh_651x-s_1441726634.png

使用这些战略来维护容器处理方案的各个层面和容器生命周期的各个阶段的平安。

容器提供了打包使用顺序的一种复杂办法,它完成了从开辟到测试到投入消费零碎的无缝通报。它也有助于确保跨差别情况的连接性,包罗物理效劳器、假造机、以及私有云或公有云。这些益处使得一些构造为了更方便地摆设和办理为他们提拔业务代价的使用顺序,而疾速地接纳了容器技能。

企业需求高度平安,在容器中运转中心效劳的任何人都市问,“容器平安吗?”以及“我们能信托运转在容器中的使用顺序吗?”

对容器停止平安维护就像是对运转中的历程停止平安维护一样。在你摆设和运转你的容器之前,你需求去思索整个处理方案各个层面的平安。你也需求去思索贯串了使用顺序和容器整个生命周期的平安。

请实验从这十个要害的要素去确保容器处理方案栈差别层面、以及容器生命周期的差别阶段的平安。

1. 容器宿主机操纵零碎和多租户情况

由于容器将使用顺序和它的依赖作为一个单位来处置,使得开辟者构建和晋级使用顺序变得愈加容易,而且,容器可以启用多租户技能将很多使用顺序和效劳摆设到一台共享主机上。在一台独自的主机上以容器方法摆设多个使用顺序、按需启动和封闭单个容器都是很容易的。为完全完成这种打包和摆设技能的劣势,运营团队需求运转容器的适宜情况。运营者需求一个平安的操纵零碎,它可以在界限上维护容器平安、沉着器中维护主机内核,以及维护容器相互之间的平安。

容器是断绝而资源受限的 通博8888官网 历程,容许你在一个共享的宿主机内核上运转沙盒化的使用顺序。维护容器的办法与维护你的 通博8888官网 中运转的任何历程的办法是一样的。低落权限黑白常紧张的,也是维护容器平安的最佳理论。最好运用尽能够小的权限去创立容器。容器应该以一个平凡用户的权限来运转,而不是 root 权限的用户。在 通博8888官网 中可以运用多个层面的平安加固手腕,通博8888官网 定名空间、平安强化 通博8888官网(SE通博8888官网)、cgroups 、capabilities(LCTT 译注:通博8888官网 内核的一个平安特性,它冲破了传统的平凡用户与 root 用户的观点,在历程级提供更好的平安控制)、以及平安盘算形式( seccomp ),这五种 通博8888官网 的平安特性可以用于维护容器的平安。

2. 容器内容(运用可信泉源)

在谈到平安时,起首要思索你的容器外面有什么?比方 ,有些时分,使用顺序和根底设备是由许多可用组件所组成的。它们中的一些是开源的软件包,比方,通博8888官网 操纵零碎、Apache Web 效劳器、Red Hat JBoss 企业使用平台、PostgreSQL,以及 Node.js。这些软件包的容器化版本曾经可以运用了,因而,你没有须要本人去构建它们。但是,关于你从一些内部泉源下载的任何代码,你需求晓得这些软件包的原始泉源,是谁构建的它,以及这些包外面能否包括歹意代码。

3. 容器注册(平安拜访容器镜像)

你的团队的容器构建于下载的大众容器镜像,因而,拜访和晋级这些下载的容器镜像以及外部构建镜像,与办理和下载别的范例的二进制文件的方法是相反的,这一点至关紧张。很多公有的注册库支持容器镜像的存储。选择一个公有的注册库,可以帮你将存储在它的注册中的容器镜像完成战略主动化。

4. 平安性与构建进程

在一个容器化情况中,软件构建进程是软件生命周期的一个阶段,它将所需的运转时库和使用顺序代码集成到一同。办理这个构建进程关于维护软件栈平安来说是很要害的。恪守“一次构建,四处摆设”的准绳,可以确保构建进程的后果正是消费零碎中需求的。坚持容器的恒定稳定也很紧张 — 换句话说便是,不要对正在运转的容器打补丁,而是,重新构建和摆设它们。

不管是由于你处于一个高强度羁系的行业中,照旧只盼望复杂地优化你的团队的效果,设计你的容器镜像办理以及构建进程,可以运用容器层的劣势来完成控制别离,因而,你应该去这么做:

  • 运营团队办理根底镜像
  • 架构师办理两头件、运转时、数据库,以及别的处理方案
  • 开辟者专注于使用顺序层面,而且只写代码

最初,标志好你的定制构建容器,如许可以确保在构建和摆设时不会搞杂乱。

5. 控制幸亏统一个集群外部署使用

假如是在构建进程中呈现的任何题目,或许在镜像被摆设之后发明的任何破绽,那么,请在基于战略的、主动化东西上添加别的的平安层。

我们来看一下,一个使用顺序的构建运用了三个容器镜像层:内核、两头件,以及使用顺序。假如在内核镜像中发明了题目,那么只能重新构建镜像。一旦构建完成,镜像就会被公布到容器平台注册库中。这个平台可以主动检测到发作变革的镜像。关于基于这个镜像的别的构建将被触发一个预界说的举措,平台将本人重新构建使用镜像,兼并该修复的库。

一旦构建完成,镜像将被公布到容器平台的外部注册库中。在它的外部注册库中,会立刻检测到镜像发作变革,使用顺序在这里将会被触发一个预界说的举措,主动摆设更新镜像,确保运转在消费零碎中的代码总是运用更新后的最新的镜像。一切的这些功用协同任务,将平安功用集成到你的继续集成和继续摆设(CI/CD)进程和管道中。

6. 容器编配:维护容器平台平安

固然了,使用顺序很少会以单一容器分发。乃至,复杂的使用顺序普通状况下都市有一个前端、一个后端、以及一个数据库。而在容器中以微效劳形式摆设的使用顺序,意味着使用顺序将摆设在多个容器中,偶然它们在统一台宿主机上,偶然它们是散布在多个宿主机或许节点上,如上面的图所示:

在大范围的容器摆设时,你应该思索:

  • 哪个容器应该被摆设在哪个宿主机上?
  • 谁人宿主机应该有什么样的功能?
  • 哪个容器需求拜访别的容器?它们之间怎样发明相互?
  • 你怎样控制和办理对共享资源的拜访,像网络和存储?
  • 怎样监督容器安康情况?
  • 怎样去主动扩展功能以满意使用顺序的需求?
  • 怎样在满意平安需求的同时启用开辟者的自助效劳?

思索到开辟者和运营者的才能,提供基于脚色的拜访控制是容器平台的要害要素。比方,编配办理效劳器是中央拜访点,应该承受最初级另外平安反省。API 是范围化的主动容器平台办理的要害,可以用于为 pod、效劳,以及复制控制器验证和设置装备摆设数据;在入站恳求上实行项目验证;以及挪用别的次要零碎组件上的触发器。

7. 网络断绝

在容器中摆设古代微效劳使用,常常意味着跨多个节点在多个容器上摆设。思索到网络进攻,你需求一种在一个集群中的使用之间的互相断绝的办法。一个典范的私有云容器效劳,像 Google 容器引擎(GKE)、Azure 容器效劳,或许 Amazon Web 效劳(AWS)容器效劳,是单租户效劳。他们让你在你初始化树立的假造机集群上运转你的容器。关于多租户容器的平安,你需求容器平台为你启用一个单一集群,而且联系流量以断绝差别的用户、团队、使用、以及在这个集群中的情况。

运用网络定名空间,容器内的每个聚集(即各人熟知的 “pod”)都市失掉它本人的 IP 和绑定的端口范畴,以此来从一个节点上断绝每个 pod 网络。除运用上面所述的方法之外,默许状况下,来自差别定名空间(项目)的 pod 并不克不及发送或许接纳别的 pod 上的包和差别项目标效劳。你可以运用这些特性在统一个集群内断绝开辟者情况、测试情况,以及消费情况。但是,如许会招致 IP 地点和端口数目的激增,使得网络办理愈加庞大。别的,容器是被设计为重复运用的,你应该在处置这种庞大性的东西上停止投入。在容器平台上比拟受欢送的东西是运用 软件界说网络 (SDN) 提供一个界说的网络集群,它容许跨差别集群的容器停止通讯。

8. 存储

容器即可被用于无形态使用,也可被用于有形态使用。维护外加的存储是维护有形态效劳的一个要害要素。容器平台对多种受欢送的存储提供了插件,包罗网络文件零碎(NFS)、AWS 弹性块存储(EBS)、GCE 耐久磁盘、GlusterFS、iSCSI、 RADOS(Ceph)、Cinder 等等。

一个耐久卷(PV)可以经过资源提供者支持的任何方法装载到一个主机上。提供者有差别的功能,而每个 PV 的拜访形式被设置为特定的卷支持的特定形式。比方,NFS 可以支持多路客户端同时读/写,但是,一个特定的 NFS 的 PV 可以在效劳器上被公布为只读形式。每个 PV 有它本人的一组反响特定 PV 功能的拜访形式的描绘,比方,ReadWriteOnce、ReadOnlyMany、以及 ReadWriteMany。

9. API 办理、终端平安、以及单点登录(SSO)

维护你的使用平安,包罗办理使用、以及 API 的认证和受权。

Web SSO 才能是古代使用顺序的一个要害局部。在构建它们的使用时,容器平台带来了开辟者可以运用的多种容器化效劳。

API 是微效劳组成的使用顺序的要害地点。这些使用顺序有多个独立的 API 效劳,这招致了终端效劳数目的激增,它就需求额定的办理东西。引荐运用 API 办理东西。一切的 API 平台应该提供多种 API 认证和平安所需求的规范选项,这些选项既可以独自运用,也可以组合运用,以用于公布证书或许控制拜访。

这些选项包罗规范的 API key、使用 ID 和密钥对,以及 OAuth 2.0。

10. 在一个结合集群中的脚色和拜访办理

在 2016 年 7 月份,Kubernetes 1.3 引入了 Kubernetes 结合集群。这是一个令人高兴的新特性之一,它是在 Kubernetes 下游、以后的 Kubernetes 1.6 beta 中援用的。结合是用于摆设和拜访跨多集群运转在私有云或企业数据中央的使用顺序效劳的。多个集群可以用于去完成使用顺序的高可用性,使用顺序可以跨多个可用地区,或许去启用摆设大众办理,或许跨差别的供给商停止迁徙,比方,AWS、Google Cloud、以及 Azure。

当办理结合集群时,你必需确保你的编配东西可以提供你所需求的跨差别摆设平台的实例的平安性。普通来说,认证和受权是很要害的 —— 不管你的使用顺序运转在什么中央,将数据平安牢靠地通报给它们,以及办理跨集群的多租户使用顺序。Kubernetes 扩展了结合集群,包罗春联合的机密数据、结合的定名空间、以及 Ingress objects 的支持。

选择一个容器平台

固然,它并不只关乎平安。你需求提供一个你的开辟者团队和运营团队有相干经历的容器平台。他们需求一个平安的、企业级的基于容器的使用平台,它可以同时满意开辟者和运营者的需求,并且还可以进步操纵服从和根底设备应用率。

想从 Daniel 在 欧盟开源峰会 上的 容器平安的十个层面 的演讲中学习更多知识吗?这个峰会已于 10 月 23 - 26 日在 Prague 举行。

【编辑引荐】

  1. 9个进步零碎运转速率的轻量级通博8888官网使用
  2. 通博8888官网下最好的图片截取和视频截录东西
  3. 在通博8888官网中主动设置装备摆设IPv6地点
  4. 为初学者引见的通博8888官网 tee下令(6个例子)
  5. 为初学者复杂引见通博8888官网 ldd下令
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
各人都在看
猜你喜好

读 书 +更多

Visual C# 2005从入门到通晓

Microsoft Visual C#功用弱小、运用复杂。本书片面引见了怎样应用Visual Studio2005和NET Framework来停止C#编程。作者将C#的种种特性娓娓...

订阅51CTO邮刊

点击这里检查样刊

订阅51CTO邮刊