俯瞰云原生,这便是供应层
来源 | K8sMeetup社区
作者 | Catherine Paganini,Jason Morgan
头图 | 下载于视觉中国
在都在说云原生,它的技术图谱你真的了解吗?中,我们对 CNCF 的云原生技术生态做了整体的介绍。从本篇开始,将详细介绍云原生全景图的每一层。
云原生全景图的最底层是供应层(provisioning)。这一层包含构建云原生基础设施的工具,如基础设施的创建、管理、配置流程的自动化,以及容器镜像的扫描、签名和存储等。供应层也跟安全相关,该层中的一些工具可用于设置和实施策略,将身份验证和授权内置到应用程序和平台中,以及处理 secret 分发等。
接下来让我们看一下供应层的每个类别,它所扮演的角色以及这些技术如何帮助应用程序适应新的云原生环境。
自动化和配置
是什么
自动化和配置工具可加快计算资源(虚拟机、网络、防火墙规则、负载均衡器等)的创建和配置过程。这些工具可以处理基础设施构建过程中不同部分的内容,大多数工具都可与该空间中其他项目和产品集成。
解决的问题
传统上,IT 流程依赖高强度的手动发布过程,周期冗长,通常可达 3-6 个月。这些周期伴随着许多人工流程和管控,让生产环境的变更非常缓慢。这种缓慢的发布周期和静态的环境与云原生开发不匹配。为了缩短开发周期,必须动态配置基础设施且无需人工干预。
如何解决问题
供应层的这些工具使工程师无需人工干预即可构建计算环境。通过代码化环境设置,只需点击按钮即可实现环境配置。手动设置容易出错,但是一旦进行了编码,环境创建就会与所需的确切状态相匹配,这是一个巨大的优势。
尽管不同工具实现的方法不同,但它们都是通过自动化来简化配置资源过程中的人工操作。
对应工具
当我们从老式的人工驱动构建方式过渡到云环境所需的按需扩展模式时,会发现以前的模式和工具已经无法满足需求,组织也无法维持一个需要创建、配置和管理服务器的 7×24 员工队伍。Terraform 之类的自动化工具减少了扩展数服务器和相关网络以及防火墙规则所需的工作量。Puppet,Chef 和 Ansible 之类的工具可以在服务器和应用程序启动时以编程方式配置它们,并允许开发人员使用它们。
一些工具直接与 AWS 或 vSphere 等平台提供的基础设施 API 进行交互,还有一些工具则侧重于配置单个计算机以使其成为 Kubernetes 集群的一部分。Chef 和 Terraform 这类的工具可以进行互操作以配置环境。OpenStack 这类工具可提供 IaaS 环境让其他工具使用。
从根本上讲,在这一层,你需要一个或多个工具来为 Kubernetes 集群搭建计算环境、CPU、内存、存储和网络。此外,你还需要其中的一些工具来创建和管理 Kubernetes 集群本身。
在撰写本文时,该领域中有三个 CNCF 项目:KubeEdge(一个沙盒项目)以及 Kubespray 和 Kops(后两个是 Kubernetes 子项目,虽然未在全景图中列出,但它们也属于 CNCF)。此类别中的大多数工具都提供开源和付费版本。
Container Registry
是什么
在定义 Container Registry 之前,我们首先讨论三个紧密相关的概念:
容器是执行流程的一组技术约束。容器内启动的进程会相信它们正在自己的专用计算机上运行,而不是在与其他进程(类似于虚拟机)共享的计算机上运行。简而言之,容器可以使你在任何环境中都能控制自己的代码运行。
镜像是运行容器及其过程所需的一组存档文件。你可以将其视为模板的一种形式,可以在其上创建无限数量的容器。
仓库是存储镜像的空间。
回到 Container Registry,这是分类和存储仓库的专用 Web 应用程序。
镜像包含执行程序(在容器内)所需的信息,并存储在仓库中,仓库被分类和分组。构建、运行和管理容器的工具需要访问(通过引用仓库)这些镜像。
解决的问题
云原生应用程序被打包后以容器的方式运行。Container Registry 负责存储和提供这些容器镜像。
如何解决
通过在一个地方集中存储所有容器镜像,这些容器镜像可以很容易地被应用程序的开发者访问。
对应工具
Container Registry 要么存储和分发镜像,要么以某种方式增强现有仓库。本质上,它是一种 Web API,允许容器引擎存储和检索镜像。许多 Container Registry 提供接口,使容器扫描/签名工具来增强所存储镜像的安全性。有些 Container Registry 能以特别有效的方式分发或复制图像。任何使用容器的环境都需要使用一个或多个仓库。
该空间中的工具可以提供集成功能,以扫描,签名和检查它们存储的镜像。在撰写本文时,Dragonfly 和 Harbor 是该领域中的 CNCF 项目,而 Harbor 最近成为了第一个遵循 OCI 的仓库。主要的云提供商都提供自己的托管仓库,其他仓库可以独立部署,也可以通过 Helm 之类的工具直接部署到 Kubernetes 集群中。
安全和合规
是什么
云原生应用程序的目标是快速迭代。为了定期发布代码,必须确保代码和操作环境是安全的,并且只能由获得授权的工程师访问。这一部分的工具和项目可以用安全的方式创建和运行现代应用程序。
解决什么问题
这些工具和项目可为平台和应用程序加强、监控和实施安全性。它们使你能在容器和 Kubernetes 环境中设置策略(用于合规性),深入了解存在的漏洞,捕获错误配置,并加固容器和集群。
如何解决
为了安全地运行容器,必须对其进行扫描以查找已知漏洞,并对其进行签名以确保它们未被篡改。Kubernetes 默认的访问控制比较宽松,对于想攻击系统的人来说, Kubernetes 集群很容易成为目标。该空间中的工具和项目有助于增强群集,并在系统运行异常时提供工具来检测。
对应工具
为了在动态、快速发展的环境中安全运行,我们必须将安全性视为平台和应用程序开发生命周期的一部分。这部分的工具种类繁多,可解决安全领域不同方面的问题。大多数工具属于以下类别:
审计和合规;
生产环境强化工具的路径:
代码扫描
漏洞扫描
镜像签名
策略制定和执行
网络层安全
其中的一些工具和项目很少会被直接使用。例如 Trivy、Claire 和 Notary,它们会被 Registry 或其他扫描工具所利用。还有一些工具是现代应用程序平台的关键强化组件,例如 Falco 或 Open Policy Agent(OPA)。
该领域有许多成熟的供应商提供解决方案,也有很多创业公司的业务是把 Kubernetes 原生框架推向市场。在撰写本文时,Falco、Notary/TUF 和 OPA 是该领域中仅有的 CNCF 项目。
密钥和身份管理
是什么
在进入到密钥管理之前,我们首先定义一下密钥。密钥是用于加密或签名数据的字符串。和现实中的钥匙一样,密钥锁定(加密)数据,只有拥有正确密钥的人才能解锁(解密)数据。
随着应用程序和操作开始适应新的云原生环境,安全工具也在不断发展以满足新的需求。此类别中的工具和项目可用于安全地存储密码和其他 secrets(例如 API 密钥,加密密钥等敏感数据)、从微服务环境中安全删除密码和 secret 等。
解决的问题
云原生环境是高度动态的,需要完全编程(无人参与)和自动化的按需 secret 分发。应用程序还必须知道给定的请求是否来自有效来源(身份验证),以及该请求是否有权执行操作(授权)。通常将其称为 AuthN 和 AuthZ。
如何解决
每个工具或项目实施的方法不同,但他们都提供:
安全分发 secret 或密钥的方法。
身份认证或(和)授权的服务或规范。
对应的工具
此类别中的工具可以分为两组:
一些工具专注于密钥生成、存储、管理和轮转。
另一些专注于单点登录和身份管理。
拿 Vault 来说,它是一个通用的密钥管理工具,可管理不同类型的密钥。而 Keycloak 则是一个身份代理工具,可用于管理不同服务的访问密钥。
在撰写本文时,SPIFFE/SPIRE 是该领域中唯一的 CNCF 项目。
供应层专注于构建云原生平台和应用程序的基础,其中的工具涉及基础设施供应、容器注册表以及安全性。本文是详细介绍了云原生全景图的最底层。在下一篇文章中,我们将重点介绍运行时层,探索云原生存储、容器运行时和网络的相关内容。
原文链接:https://thenewstack.io/the-cloud-native-landscape-the-provisioning-layer-explained/
更多阅读推荐
都在说云原生,它的技术图谱你真的了解吗?
SRE 是如何保障稳定性的
如何写出让 CPU 跑得更快的代码?
Serverless 在 SaaS 领域的最佳实践
云原生人物志|Pulsar翟佳:社区的信任最重要
一目了然的 Docker 环境配置指南
俯瞰云原生,这便是供应层相关推荐
- 三探云原生全景图,这次聊聊运行时层
在<俯瞰云原生,这便是供应层>我们介绍了云原生全景图的最底层:供应层,本文将带大家了解运行时层,这一层包含了容器在云原生环境中运行所需的一切. 作者 | Catherine Paganin ...
- 云原生全景图之五:应用程序定义和开发层
作者 | Catherine Paganini.Jason Morgan 来源 | K8sMeetup 头图 | 下载于视觉中国 前文介绍了如何将所有应用程序组件作为整体来编排和管理(编排和管理层). ...
- 云原生全景图之六 | 托管 Kubernetes 和 PaaS 解决什么问题
作者 | Catherine Paganini.Jason Morgan 来源 | K8sMeetup 头图 | 下载于视觉中国 在本系列之前的文章中,我们讨论了 CNCF 云原生全景图的各层:供应层 ...
- 从开源视角分析,搞定边缘计算云原生方案选型
作者 | lanliang 来源 | 边缘计算社区 头图 | 下载于视觉中国 随着Kubernetes已经成为容器编排和调度的事实标准,各大公有云厂商都已经基于Kubernetes提供了完善的Kube ...
- 13种重要的云原生工具,让交付过程更快
来源 | SDNLAB 责编 | 寇雪芹 头图 | 下载于视觉中国 SUSE收购Rancher Pure Storage收购Portworx Veeam收购Kasten VMware收购Octarin ...
- 听一个内行人讲云原生简史
作者 | 吕建伟 责编 | 寇雪芹 头图 | 下载于视觉中国 引子 1999年,发生在我自己身上的几件事: 1.买了两张盗版光盘:Sun Solaris OS.红帽Linux. 2.正在用COM+.M ...
- 云原生人物志 | Pulsar翟佳:社区的信任最重要
云原生已无处不在,<云原生人物志>是CSDN重磅推出的系列原创采访,我们关注云原生中每一个技术人.公司的身影.知微见著,窥见云原生价值与趋势. 编辑 | 宋 慧 出品 | CSDN云计算 ...
- 乱中有变,云原生从“大爆发”说起 | CSDN人物志
[编者按]云原生已无处不在,<云原生人物志>是CSDN重磅推出的系列原创采访,我们关注云原生中每一个技术人.公司的身影.知微见著,窥见云原生价值与趋势. 2021新年之初,来听听Tetra ...
- 疫情中的2021,云原生会走向哪里
头图 | 付费下载于视觉中国 翻译 | Daixiang(华为云原生团队) 查看全文 http://www.taodudu.cc/news/show-1096860.html 相关文章: " ...
最新文章
- 被京东和腾讯赶走的中年白领,不会有人同情
- LED数码管仿真显示程序
- 2022年了我才发现Chrome原来可以直接生成二维码...
- 2005年存储市场关键词TOP10
- Linux系统管理命令:date、free、ps、du、kill、uname
- ext 部署到 tomcat服务器下,通过http8080端口查看
- 《OD学spark》20161022
- 多线程 NSThread 的使用
- mysql之jdbc连接数据库和sql注入的问题
- 基于KMeans的指数择时策略
- ieee期刊的科技写作思路曹文平_如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?...
- 都有哪些较好用的项目管理软件?
- win10下安装Elasticsearch和kibana教程
- 如何在Chrome中为Gmail启用桌面通知
- 十分钟教你写个软件防火墙!powershell。
- 计算机网络复习笔记 之协议相关
- Android开发辅助工具类 Utils
- 河南工业大学c语言考试题库,c语言题库(编程)河南工业大学 河工大 c语言期末考试题库...
- 为什么我的u盘计算机无法识别u盘启动,电脑无法识别u盘怎么办 无法读取u盘解决方法...
- 是否应该使用utf-8 bom——因DirectVobSub不支持utf-8 no bom带来的问题
热门文章
- linux 禁用smb服务,Samba 4.11 发布,更好的可扩展性与默认禁用SMB1
- chrome控制台如何把vw显示成px_你可能不知道的chrome调试技巧
- leetcode42 --- trap
- bcp out 带列名导出_从零开始学习 MySQL 系列索引、视图、导入和导出
- amd插帧技术如何开启_联想ThinkPad笔记本电脑如何开启CPU的虚拟化技术图文教程...
- adb android源码分析,Android Adb 源码解析(base on Android 9.0)
- PPT下载下来是php,用php下载jpg,doc,ppt文件已损坏
- 悬浮球多功能_一个悬浮球,怎么可以这么贴心~
- 旋转矩阵公式生成器_坐标变换(8)—复特征值与旋转
- 双非高校硕士一作发学校首篇Nature后,选择离开科研当公务员,本人及导师回应...