IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> knative简介 -> 正文阅读

[系统运维]knative简介

Knative简介

编写时间:2021-12-04

1.Knative定义

knative基于 Kubernetes 的平台,用于部署和管理现代无服务器工作负载

Knative 的目标是在基于 Kubernetes 之上为整个开发生命周期提供帮助。它的具体实现方式是:首先使你作为开发人员能够以你想要的语言和以你想要的方式来编写代码,其次帮助你构建和打包应用程序,最后帮助你运行和伸缩应用程序。

Knative 主要由 Build、Serving 和 Eventing 三大核心组件构成。Knative 正是依靠这三个核心组件,驱动着 Knative 这艘ServerLess巨轮前行。

友情链接:ServerLess介绍

2.Knative的主要功能

  • 在几秒钟内建立可扩展、安全、无状态的服务。
  • 针对常见应用用例的具有更高级别抽象的重点 API。
  • 可插拔组件让您可以使用自己的日志记录和监控、网络和服务网格。
  • 在 Kubernetes 运行的任何地方运行 Knative,无需担心供应商锁定。
  • 无缝开发者体验,支持 GitOps、DockerOps、ManualOps 等。
  • 支持许多常用工具和框架,例如 Django、Ruby on Rails、Spring 等。

3.Knative的核心组件

3.1 Build组件

通过灵活的插件化的构建系统将用户源代码构建成容器。
提示:原生的knative-build组件弃用,官方推荐使用Tekton Pipelines作为构建组件。

Tekton Pipelines 项目定义了一组 Kubernetes自定义资源,用作构建块,您可以从中组装 CI/CD 管道。安装后,Tekton Pipelines 可通过 Kubernetes CLI (kubectl) 和 API 调用使用,就像 Pod 和其他资源一样。它提供的一套标准化、可移植、可复用的容器镜像构建方式,通过系统化、工程化的方式,减少了镜像构建时间及成本。

Tekton Pipelines 是云原生的:

  • 在 Kubernetes 上运行
  • 将 Kubernetes 集群作为第一类类型
  • 使用容器作为构建块

Tekton 管道解耦:

  • 一个 Pipeline 可用于部署到任何 k8s 集群
  • 组成流水线的任务可以很容易地单独运行
  • 可以在不同资源运行之间轻松交换,如git、repos。

Tekton 管道类型为:

  • 类型化资源的概念意味着对于诸如 an 之类的资源Image,实现可以很容易地换出(例如,使用 kaniko与 buildkit 构建)
    在这里插入图片描述

3.2 Serving

基于负载自动伸缩,包括在没有负载时缩减到零。允许你为多个修订版本(revision)应用创建流量策略,从而能够通过 URL轻松路由到目标应用程序。

Knative 作为 Severless 框架最终是用来提供服务的, 那么 Knative Serving 应运而生。

其特性如下:

  • 快速部署无服务器容器。
  • 自动缩放包括将 pod 缩放到零。
  • 支持多个网络层,例如 Ambassador、Contour、Kourier、Gloo 和 Istio,以便集成到现有环境中。
  • 已部署代码和配置的时间点快照。

Knative Serving 中定义了以下 CRD 资源:

  • Service: 自动管理工作负载整个生命周期。负责创建 Route、Configuration 以及 Revision 资源,以确保您的应用程序为服务的每次更新提供路由、配置和新修订。通过 Service 可以指定将流量路由到最新版本或固定版本。
  • Route:负责映射网络端点到一个或多个 Revision。可以通过多种方式管理流量,包括灰度发布和重命名路由。
  • Configuration: 负责保持 Deployment 的期望状态,提供了代码和配置之间提供了清晰的分离,并遵循十二因素应用程序方法。修改一次 Configuration 产生一个 Revision。
  • Revision:Revision 是对工作负载所做的每次修改的代码和配置的时间点快照。修订是不可变的对象,只要有用就可以保留。Knative Serving Revisions 可以根据传入的流量自动放大和缩小。

在这里插入图片描述
友情链接:Knative-serving资源详解

3.3 Eventing

使得生产和消费事件变得容易。抽象出事件源,并允许操作人员使用自己选择的消息传递层。

Knative Eventing 提供了将事件从事件生成器路由到接收器的工具,使开发人员能够在他们的应用程序中使用事件驱动架构。旨在满足云原生开发中通用需求, 以提供可组合的方式绑定事件源和事件消费者。其设计目标:

  • Knative Eventing 提供的服务是松散耦合,可独立开发和部署。服务可跨平台使用(如 Kubernetes, VMs, SaaS 或者 FaaS)
  • 事件的生产者和事件的消费者是相互独立的。任何事件的生产者(事件源)可以先于事件的消费者监听之前产生事件,同样事件的消费者可以先于事件产生之前监听事件
  • 支持第三方的服务对接该 Eventing 系统
  • 确保跨服务的互操作性

Knative Eventing 使用标准的 HTTP POST 请求在事件生产者和接收器之间发送和接收事件。这些事件符合CloudEvents 规范,支持以任何编程语言创建、解析、发送和接收事件。
在这里插入图片描述

如上图所示,Eventing 主要由事件源(Event Source)、事件处理(Flow)以及事件消费者(Event Consumer)三部分构成。

友情链接: Knative-eventing资源详解

4. 总结

Knative 使用 Build 提供云原生“从源代码到容器”的镜像构建能力,通过 Serving 部署容器并提供通用的服务模型,同时以 Eventing 提供事件全局订阅、传递和管理能力,实现事件驱动。这就是 Knative 呈现给我们的标准 Serverless 编排框架。

5. 参考

Knative核心概念介绍
Knative官网

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-05 12:23:43  更:2021-12-05 12:24:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:18:26-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码