OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行

2020年1月Red Hat发布了OpenShift 4.3。新版本OpenShift在云原生应用DevOps方面有了不少新特性,例如支持.NETCore 3.0(OpenShift 4.3会支持更新的.NETCore 3.1)、将基于Kubernetes原生的Tekton Pipeline做为缺省CI/CD、管理控制台可以自动根据Kubernetes对象的API提示YAML语法等等,本文介绍一个和部署Knative应用相关新特性。

OpenShift 4.2是怎样创建Knative服务的

在OpenShift 4.2中,我们只能用使用Knative的客户端(kn)将一个Container Image发布成一个Serverless的服务,例如:

$ kn service create hello-world --image=openshift/hello-openshift

在OpenShift 4.3应该是将OpenShift的Souce-2-Image功能和Kn功能打通了,这样在部署应用的时候可以直接选择以Knative的Serverless方式部署应用。下面我们说明如何直接将Web应用当成Serverless运行。

创建OpenShift 4.3的Knative环境

在OpenShift 4.3中用Operator安装Knative的过程和OpenShift 4.2一样,因此可参考《OpenShift 4 之Knative(1) - 创建Knative无服务器架构环境》一文配置一个Knative环境(注意:只需根据参考链接中的容完成到“Knative Serving环境”这步即可)。

直接将Web应用当成Serverless运行

  1. 登录OpenShift控制台,然后进入Developer视图。
  2. 创建一个名为serverless的项目。
  3. 在左面菜单中点击“+Add”,然后进入“From Git”
    OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第1张图片
  4. 按下图填写Git Repo URL为“https://github.com/sclorg/cakephp-ex.git”,然后在Build区域选中“PHP”。
    OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第2张图片
  5. 在Resources区域选择“Knative Service”,然后点击最下面的Create。
    OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第3张图片
  6. 界面跳转到Topology,会看到Web应用部署进度,最后部署完可以看到当前部署了1个Pod。OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第4张图片
  7. 稍等一段时间,部署会减到0个Pod。
    OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第5张图片
  8. 点击上图“Set Traffic Distribution”,会看到下面的对话框。由于我们只部署了一个Revision,所以关闭对话框即可。
    OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第6张图片
    如果此步配置了多个Revision,则Topology显示如下图:
    OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第7张图片
  9. 访问应用图标中的Open URL ,可以看到部署的Pod会先增加到1个,然后Web应用界面才出来。OpenShift 4.3 之新特性 - 直接将Web应用当成Serverless运行_第8张图片
  10. 回到Administration视图,在Serverless中可以分别看到Service、Revisions、Routes。
    在这里插入图片描述

你可能感兴趣的:(OpenShift,4,Knative)