俯瞰云原生,这便是供应层

来源 | 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(一个沙盒项目)以及 KubesprayKops(后两个是 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 集群很容易成为目标。该空间中的工具和项目有助于增强群集,并在系统运行异常时提供工具来检测。

对应工具

为了在动态、快速发展的环境中安全运行,我们必须将安全性视为平台和应用程序开发生命周期的一部分。这部分的工具种类繁多,可解决安全领域不同方面的问题。大多数工具属于以下类别:

  • 审计和合规;

  • 生产环境强化工具的路径:

    • 代码扫描

    • 漏洞扫描

    • 镜像签名

  • 策略制定和执行

  • 网络层安全

其中的一些工具和项目很少会被直接使用。例如 TrivyClaireNotary,它们会被 Registry 或其他扫描工具所利用。还有一些工具是现代应用程序平台的关键强化组件,例如 Falco 或 Open Policy Agent(OPA)。

该领域有许多成熟的供应商提供解决方案,也有很多创业公司的业务是把 Kubernetes 原生框架推向市场。在撰写本文时,FalcoNotary/TUFOPA 是该领域中仅有的 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 环境配置指南

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进击的Kubernetes调度系统(一):SchedulingFramework

作者:王庆璨 张凯 前言 Kubernetes已经成为目前事实标准上的容器集群管理平台。它为容器化应用提供了自动化部署、运维、资源调度等全生命周期管理功能。经过3年多的快速发展,Kubernetes在稳定性、扩展性和规模化方面都有了长足进步。 尤其是Kubernete…

HTTP系列学习(笔记三):HTTP的发展历程思维导图

HTTP(HyperText Transfer Protocol)是万维网(World Wide Web)的基础协议。 0.9版本: 1.0版本: 1.1版本: 2.0版本: 2.0进化版本: 为了便于浏览记忆,整理了一份…

为什么说Serverless是云的未来?

作者 | 不瞋 阿里云高级技术专家 每隔几年,IT 界就会出现新突破性的进展。回望整个计算机技术发展史,我们会发现“抽象、解耦、集成”的主题贯穿其中。产业每一次的抽象、解耦、集成,都将创新推向新的高度,也催生出庞大的市场和…

(企业级)HBuilder X 安装蓝叠安卓模拟器

文章目录1. 下载蓝叠模拟器2. 设置 adb链接和root3. 设置竖屏4. 设置uni-app adb 环境变量5. 配置 HBuilderX adb5. 运行6.效果图7.常见模拟器1. 下载蓝叠模拟器 https://www.bluestacks.cn/ 2. 设置 adb链接和root 3. 设置竖屏 4. 设置uni-app adb 环境变量 在 HBuilderX…

小困惑,关于 Serverless 函数计算的字体安装

来源 | Serverless作者 | 孙飞宇头图 | 下载于视觉中国前言首先介绍下在本文出现的几个比较重要的概念:函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情…

一文带你了解MySQL中的各种锁机制!

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! MySQL中的锁机制,按粒度分为行级锁,页级锁,表级锁,其中按用法还分为共享锁和排他锁. 行级锁 行级锁是Mysql中锁…

for循环中let,var 的经典面试题:for循环中 console.log(i)详解

同学们在刚准备面试时肯定见过一道经典面试题&#xff1a; for(var i 0; i < 10; i) {setTimeOut(function(){console.log(i)}) } // 输出 10 10 10 10 10 10 10 10 10 10for(let i 0; i < 10; i) {setTimeOut(function(){console.log(i)}) } // 输出 0 1 2 3 4 5 6 7…

后疫情时代,银行从数字化转型到智能化“迁徙”

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 全球数据智能趋势一览 笔者在搜索了众多机构发表的数据智能发展趋势报告&#xff0c;并做了筛选和甄别后&#xff0c;参考了公…

普通二本学校软件工程专业本科毕业的女生,没有考研,选择直接就业现如今过得怎样呐?

第一篇程序人生 在进入大学之前买的联想笔记本电脑被我之前放在窗户边&#xff0c;一个月之前去上班的时候忘记关窗户&#xff0c;下大雨给淋雨进水了&#xff0c;刚好开机密码的几个键盘失灵了&#xff0c;上周末在网上买了一个键盘&#xff0c;终于可以开机了&#xff0c;为…

阿里云交通数据中台解决方案打造“数字化生产力”

数字经济时代&#xff0c;计算、分析、处理等作为“关键生产要素”已成为行业和社会的共识。但是对于交通领域而言&#xff0c;以往端到端的方式进行平台搭建和应用开发已不能适应数字爆炸和产品快速迭代的要求。交通行业在计算分析方面面临着信息采集难、样式杂、变化快、价值…

一次讲清楚,七种分布式事务的解决方案

来源 | moon聊技术责编 | 寇雪芹头图 | 下载于视觉中国什么是分布式事务分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器「分别位于不同的分布式系统的不同节点之上」。一个大的操作由N多的小的操作共同完成。而这些小的操作又分布在不同的服务上。针…

SpringCloud应用在Kubernetes上的最佳实践—开发篇

作者 | 孤弋 阿里云高级技术专家&#xff0c;负责 EDAS 的开发和用户体验优化工作。 前言 近年来&#xff0c;云原生、Kubernetes、微服务、SpringCloud 这些名词在技术圈内不绝于耳&#xff0c;数据显示&#xff0c;使用 SpringCloud 作为微服务的框架&#xff0c;同时选择…

支持批任务的Coscheduling/Gang scheduling

作者&#xff1a;王庆璨 张凯 进击的Kubernetes调度系统&#xff08;一&#xff09;&#xff1a;Scheduling Framework 进击的Kubernetes调度系统&#xff08;二&#xff09;&#xff1a;支持批任务的Coscheduling/Gang scheduling 前言 首先我们来了解一下什么是Coscheduli…

ESLint is disabled since its execution has not been approved or denied yet

我的vs code有安装eslint插件&#xff0c;但是不这道为什么这两天很多代码校验都不起作用了 一顿操作猛如虎&#xff0c;最后发现代码开始的时候有一条黄线 爆出了一个错误 ESLint is disabled since its execution has not been approved or denied yet. Use the light bulb…

13种重要的云原生工具,让交付过程更快

来源 | SDNLAB责编 | 寇雪芹头图 | 下载于视觉中国SUSE收购RancherPure Storage收购PortworxVeeam收购KastenVMware收购OctarineMirantis收购Lens IDE思科收购Banzai CloudNew Relic收购Pixie Labs云原生市场趋于整合........以上是过去一年云原生行业发生的并购案&#xff0c;…

后疫情时代企业将加速向云服务迁移

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; LogicMonitor的新调查结果表明&#xff0c;COVID-19已成为企业快速实施云迁移的强大催化剂&#xff0c;尽管整体情况仍在发展…

会话拦截限制一台手机登录

文章目录1. 流程图2. 流程简述1. 流程图 2. 流程简述 1.前端传递userId和token2.后端接收userId和token3.校验userId和token是否为空4.校验任一为空&#xff0c;则提示“请登录后再继续操作&#xff01;”5.不为空&#xff0c;通过UserId从redis中获取token6.redis中的token与…

HTML a链接下载文件之图片,文件,乱码等问题

我们在做需求的时候&#xff0c;经常会遇到下载文件 前端下载文件一般分为两种方式&#xff1a; 使用 a 链接进行下载&#xff1a; <a herf"url" >下载</a>向后端发送请求进行下载&#xff1a; methods:{downloadReport(item,index){let date item.…

冗余云计算连接:保持组织运行

云栖号资讯&#xff1a;【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯&#xff0c;还在等什么&#xff0c;快来&#xff01; 在过去的几个月中&#xff0c;人们目睹了组织将其劳动力转移到“在家工作”模式和远程操作的情况。微软公司报告其云计算服务…

杭州湾跨海大桥视频上云,夯实智慧高速“云基建

现阶段&#xff0c;高速公路监控设备覆盖已经有普遍提高&#xff0c;但监控设施的覆盖仅完成了视频的监控功能&#xff0c;没有实现分析提醒功能。传统人工巡检方式工作量大且容易发生事件遗漏、事故发现不及时导致二次事故、人工视频巡检工作量大无法做到实时检测、监控中心绝…