博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web服务器中启用作业储存_如何在Kubernetes中启用无服务器计算
阅读量:2526 次
发布时间:2019-05-11

本文共 3253 字,大约阅读时间需要 10 分钟。

web服务器中启用作业储存

在本系列的前两篇文章中,介绍在开放源代码平台上使用无服务器平台的过程,我介绍了以及使用流行的语言以及在Apache OpenWhisk上使用容器来构建组件。

在第三篇文章中,我将您在环境中启用无服务器。 Kubernetes是管理无服务器工作负载和微服务应用程序容器的最受欢迎的平台,并使用细粒度的部署模型来更快,更轻松地处理工作负载。

请记住,无服务器不仅可以帮助您在将消耗模型用于实际服务使用时减少基础架构管理,而且还提供了云平台所提供服务的许多功能。 无服务器或FaaS(功能即服务)平台有很多,但Kuberenetes是构建无服务器平台的一流公民,因为有超过基于Kubernetes的 。

但是,Kubernetes不允许您以本机方式为无服务器工作负载构建,提供和管理应用程序容器。 例如,如果您想在Kubernetes上构建以从源代码构建,测试和部署云原生应用程序,则需要使用自己的发布管理工具并将其与Kubernetes集成。

同样,除非您使用基于Kubernetes构建的独立的无服务器或FaaS平台(例如 , 或 ,否则很难将Kubernetes与无服务器计算结合使用。 更重要的是,开发人员仍然很难从Kubernetes环境中了解如何处理来自云原生应用程序的无服务器工作负载的功能。

基尼特语

为开发人员而生,他们无需依赖额外的无服务器或FaaS框架以及许多自定义工具,就可以在本地创建无服务器体验。 Knative有三个主要组件- , 和 -用于解决普通模式和最佳实践开发在Kubernetes平台无服务器应用程序。

要了解更多信息,让我们看一下使用Knative提高开发效率并从开发人员的角度解决Kubernetes的困难的常规开发过程。

步骤1:使用或从头开始生成您的云原生应用程序。 开始使用实施业务逻辑,并且您还可以进行组装测试以查看该功能在许多本地测试工具中是否正常运行。

Spring Initializr screenshot
Thorntail Project Generator screenshot

步骤2:通过Knative Build组件从源代码存储库中构建容器映像。 您可以定义多个步骤,例如安装依赖项,运行集成测试以及将容器映像推送到安全的映像注册表中,以使用现有的Kubernetes原语。 更重要的是,Knative Build使开发人员的日常工作变得更加轻松和简单-“无聊却又困难”。 这是Build YAML的示例:

apiVersion      
: build.knative.dev/v1alpha1
kind
: Build
metadata :
  name
: docker-build
spec :
  serviceAccountName
: build-bot
  source :
    git :
      revision
: master
      url
: https://github.com/redhat-developer-demos/knative-tutorial-event-greeter.git
  steps
:
  - args
:    - --context=/workspace/java/springboot
    - --dockerfile=/workspace/java/springboot/Dockerfile
    - --destination=docker.io/demo/event-greeter:0.0.1
    env :
    - name
: DOCKER_CONFIG
      value
: /builder/home/.docker
    image
: gcr.io/kaniko-project/executor
    name
: docker-push

步骤3:通过Knative Serving组件将容器应用程序部署并作为无服务器工作负载提供服务。 此步骤显示了Knative的优点,它可以自动在Kubernetes上自动扩展无服务器容器,然后在特定时间段(例如两分钟)内没有对容器的请求时将它们缩减到零。 更重要的是, 将以多种安全方式自动处理无服务器工作负载的进出网络流量。 这是Serving YAML的示例:

apiVersion      
: serving.knative.dev/v1alpha1
kind
: Service
metadata :
  name
: greeter
spec :
  runLatest
:
    configuration :
      revisionTemplate :
        spec :
          container :
            image
: dev.local/rhdevelopers/greeter:0.0.1

步骤4:通过Knative的Eventing组件将运行中的无服务器容器绑定到各种事件平台,例如SaaS,FaS和Kubernetes。 在此步骤中,您可以定义事件通道和订阅,这些事件和订阅是通过消息传递平台(例如或传递到您的服务的。 这是事件来源YAML的示例:

apiVersion      
: sources.eventing.knative.dev/v1alpha1
kind
: CronJobSource
metadata :
  name
: test-cronjob-source
spec :
  schedule
:
"* * * * *"
  data
: '
{
"message"
:
"Event sourcing!!!!"
} '
  sink :
    apiVersion
: eventing.knative.dev/v1alpha1
    kind
: Channel
    name
: ch-event-greeter

结论

使用Knative开发将在Kubernetes环境中构建无服务器应用程序节省大量时间。 通过专注于开发无服务器应用程序,功能或云原生容器,它还可以使开发人员的工作更加轻松。


接下来要读什么

翻译自:

web服务器中启用作业储存

转载地址:http://kqczd.baihongyu.com/

你可能感兴趣的文章
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_7_字节输出流的续写和换行...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_1_字符输入流_Reader类&FileRead...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_9_字节输入流读取字节数据...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_3_字符输出流_Writer类&FileWriter类...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_11_字节输入流一次读取多个字节...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_5_flush方法和close方法的区别...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_13_使用字节流读取中文的问题...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_7_字符输出流的续写和换行...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_2_字符输入流读取字符数据...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_9_JDK7和JDK9流中异常的处理...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_4字符输出流的基本使用_写出单个字符...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_2_Properties集合中的方法store...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_6_字符输出流写数据的其他方法...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_2_BufferedOutputStream_字节缓冲...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_8_使用try_catch_finally处理流中的异常...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_3_BufferedInputStream_字节缓冲...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_1_使用Properties集合存储数据,遍历取出集合中的数据...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_4_缓冲流的效率测试_复制文件...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_3_Properties集合中的方法load...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_07 缓冲流_5_BufferedWriter_字符缓冲输出流...
查看>>