OpenShift 4 之Knative(1) - 创建Knative无服务器架构环境
《OpenShift 4.x HOL教程汇总》
说明:本文已经在OpenShift 4.10环境中验证
在OpenShift 4中提供了基于Knative的Serverless(无服务器架构)的运行环境,该环境相关资源是通过名为“OpenShift Serverless”的Operator创建的。本文说明如何创建一套基于Knative的Serverless运行环境。
安装步骤
- 安装Knative环境
- 安装OpenShift Serverless Operator
- 安装Knative Serving环境
- 安装Knative Eventing环境
- 安装客户端
- 安装Knative客户端
- 安装其他客户端
- 运行Hello应用验证Knative Serving环境
- 查看“无服务器”控制台
- 参考
安装Knative环境
安装OpenShift Serverless Operator
- 用集群管理员登录OpenShift Console控制台,进入Administrator视图。
- 进入Operators中的OperatorHub菜单,然后找到“OpenShift Serverless”,点击进入。
- 然后在右滑页面中点击Install。
- 在“Install Operator”页面中接受默认选项,再点击Install。
- 此后OpenShift会安装OpenShift Serverless环境,完成后可以在“Installed Operators”页面中查看安装完成的Red Hat OpenShift Serverless。
安装Knative Serving环境
- 如果此时没有名为knative-serving的项目,则创建它,然后再并切换到该项目。
- 进入前面创建的“OpenShift Serverless”,点击“Knative Serving”下方的Create Instance链接。
- 在“Create Knative Serving”页面用缺省配置创建一个“Knative Serving”。
kind: KnativeServing
apiVersion: operator.knative.dev/v1alpha1
metadata:name: knative-servingnamespace: knative-serving
spec: {}
- 执行命令查看Knative Serving状态,完成后应为以下状态:
$ oc get knativeserving.operator.knative.dev/knative-serving -n knative-serving --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}'
DependenciesInstalled=True
DeploymentsAvailable=True
InstallSucceeded=True
Ready=True
VersionMigrationEligible=True
- 执行命令查看Knative Serving相关的Pod运行情况。
$ oc get pod -n knative-serving
NAME READY STATUS RESTARTS AGE
activator-75dfd89ddf-sbjhq 2/2 Running 0 2m26s
activator-75dfd89ddf-zd9ln 2/2 Running 0 2m26s
autoscaler-554f694ff7-8vpzc 2/2 Running 0 2m26s
autoscaler-554f694ff7-hxqdn 2/2 Running 0 2m26s
autoscaler-hpa-8459cdb7ff-lsxk9 2/2 Running 0 2m23s
autoscaler-hpa-8459cdb7ff-tr8zl 2/2 Running 0 2m23s
controller-9d97cfd75-jz6k4 2/2 Running 0 2m17s
controller-9d97cfd75-tqvks 2/2 Running 0 2m2s
domain-mapping-85f976d845-2sj6t 2/2 Running 0 2m25s
domain-mapping-85f976d845-6r9pp 2/2 Running 0 2m25s
domainmapping-webhook-6f86f7fdcf-54b4h 2/2 Running 0 2m25s
domainmapping-webhook-6f86f7fdcf-gzl72 2/2 Running 0 2m25s
storage-version-migration-serving-serving-0.26.0-wwz74 0/1 Completed 0 2m23s
webhook-745c7b586d-8s7tc 2/2 Running 0 2m24s
webhook-745c7b586d-wfgsk 2/2 Running 0 2m24s
安装Knative Eventing环境
- 如果此时没有名为knative-eventing的项目,则创建它,然后再并切换到该项目。
- 进入前面创建的“OpenShift Serverless”,点击“Knative Eventing”下方的Create Instance链接。
- 在“Create Knative Eventing”页面用缺省配置创建一个“Knative Eventing”。
kind: KnativeEventing
apiVersion: operator.knative.dev/v1alpha1
metadata:name: knative-eventingnamespace: knative-eventing
spec: {}
- 我们可以查看pod的资源,在部署完成应该有如下运行的pod。
NAME READY STATUS RESTARTS AGE
eventing-controller-6f7bb85d7-jjz7d 2/2 Running 0 3m18s
eventing-controller-6f7bb85d7-wxpq4 2/2 Running 0 3m18s
eventing-webhook-5b55d5b588-pg7w2 2/2 Running 0 3m17s
eventing-webhook-5b55d5b588-x6xs7 2/2 Running 0 3m17s
imc-controller-7b788b9687-dndvc 2/2 Running 0 3m13s
imc-controller-7b788b9687-tps8h 2/2 Running 0 3m13s
imc-dispatcher-5976cc978-gx4sx 2/2 Running 0 3m13s
imc-dispatcher-5976cc978-mndzq 2/2 Running 0 3m13s
mt-broker-controller-76d66bb7bc-fdcgt 2/2 Running 0 3m11s
mt-broker-controller-76d66bb7bc-k5272 2/2 Running 0 3m11s
mt-broker-filter-7c88cb89b5-p77k4 2/2 Running 0 3m12s
mt-broker-filter-7c88cb89b5-xj28v 2/2 Running 0 3m12s
mt-broker-ingress-d5f9cbf49-5ggfz 2/2 Running 0 3m11s
mt-broker-ingress-d5f9cbf49-wts6t 2/2 Running 0 3m11s
strg-version-migration-eventing-eventing-0.26.0-xpnlt 0/1 Completed 0 3m10s
sugar-controller-6f8d87db6b-4qfxp 2/2 Running 0 3m11s
sugar-controller-6f8d87db6b-qbnd4 2/2 Running 0 3m11s
- 执行以下命令,查看knative-eventing对象的状态。
$ oc get knativeeventing.operator.knative.dev/knative-eventing -n knative-eventing --template='{{range .status.conditions}}{{printf "%s=%s\n" .type .status}}{{end}}'
DependenciesInstalled=True
DeploymentsAvailable=True
InstallSucceeded=True
Ready=True
VersionMigrationEligible=True
安装客户端
安装Knative客户端
执行命令下载Knative客户端程序。
$ curl -L https://mirror.openshift.com/pub/openshift-v4/clients/serverless/latest/kn-linux-amd64.tar.gz | tar -xzf -
$ sudo mv kn /usr/local/bin
安装其他客户端
执行命令下载以下客户端程序,它们会在后面操作中使用到。
$ curl -Lo stern https://github.com/wercker/stern/releases/download/1.9.0/stern_linux_amd64
$ curl -Lo hey https://hey-release.s3.us-east-2.amazonaws.com/hey_linux_amd64
$ curl -Lo yq https://github.com/mikefarah/yq/releases/download/3.2.1/yq_linux_amd64
$ chmod +x stern hey yq
$ sudo mv stern hey yq /usr/local/bin
运行Hello应用验证Knative Serving环境
将openshift/hello-openshift镜像作为Serverless的Service部署,然后访问验证。
$ oc new-project hello-openshift
$ kn service create hello-world --image=openshift/hello-openshift
Creating service 'hello-world' in namespace 'hello-openshift':0.237s The Route is still working to reflect the latest desired specification.0.267s Configuration "hello-world" is waiting for a Revision to become ready.27.592s ...27.780s Ingress has not yet been reconciled.27.880s Ready to serve.Service 'hello-world' created to latest revision 'hello-world-00001' is available at URL:
https://hello-world-hello-openshift.apps.cluster-229bt.229bt.sandbox886.opentlc.com$ kn route list
NAME URL READY
hello-world https://hello-world-hello-openshift.apps.cluster-229bt.229bt.sandbox886.opentlc.com True$ curl $(kn route list hello-world --no-headers | awk 'NR==1 {print $2}')
Hello OpenShift!
查看“无服务器”控制台
以下是管理员的“无服务器”控制台:
参考
以下示例需要安装JDK11环境。
https://github.com/knative/docs/tree/main/code-samples/serving/hello-world/helloworld-java-spring
OpenShift 4 之Knative(1) - 创建Knative无服务器架构环境相关推荐
- 一文看懂当红Serverless:为何AWS、阿里云和腾讯云都在发力「无服务器架构」
冠望 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要说目前软件架构中热度十二分的话题,当属Serverless. 通常我们会将其翻译为"无服务器架构". 尽管成天被称为& ...
- c#服务器后端_一文看懂Serverless:AWS阿里云腾讯云都在发力「无服务器架构」
冠望 发自 凹非寺 量子位 报道 | 公众号 QbitAI 要说目前软件架构中热度十二分的话题,当属Serverless. 通常我们会将其翻译为"无服务器架构". 尽管成天被称为& ...
- 【奋战云原生】无服务器架构的优点和缺点
无服务器计算是一种执行模型, 云服务提供商 通过资源的动态分配,负责执行部分代码.在此模型中,客户只需为实际使用的资源量付费. 代码通常 运行在无状态容器 中,可以由各种事件触发,包括 HTTP 请求 ...
- 详细!看看顶级互联网公司都在研究的无服务器架构!
无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amazon.Google 和 Microsoft)都在大力投入这 ...
- 无服务器架构正在蚕食基础设施
云计算时代出现了大量XaaS形式的概念,从IaaS.PaaS.SaaS 到容器云引领的CaaS,再到火热的微服务架构,它们都在试着将各种软.硬件资源等抽象为一种服务提供给开发者使用,让他们不再担心基础 ...
- Faas 和无服务器架构
Faas 和无服务器架构 从IaaS.PaaS.SaaS到CaaS,再到火热的微服务架构,人们孜孜不倦的追求着将硬件资源抽象化,从虚拟机到容器, 再到现在的无服务器架构,FaaS是Functions ...
- 无服务器架构 - 从使用场景分析其6大特性
2019独角兽企业重金招聘Python工程师标准>>> 无服务器架构 - 从使用场景分析其6大特性 博客分类: 架构 首先我应该提到,"无服务器"技术肯定有服务器 ...
- 无服务器架构_如何开始使用无服务器架构
无服务器架构 Traditionally, when you wanted to build a web app or API, you'd usually have to spend signifi ...
- plsql无监听程序_详细!看看顶级互联网公司都在研究的无服务器架构!
无服务器计算(Severless computing,简称 Serverless)现在是软件架构圈中的热门话题,国外三大云计算供应商(Amazon.Google 和 Microsoft)都在大力投入这 ...
最新文章
- 实战:基于深度学习的道路损坏检测
- 对ZNNT-5NM力矩传感器进行标定
- Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件
- 【软考-软件设计师】编译程序基本原理
- 文件夹修改名字 matlab,matlab用 movefile更改文件夹内文件名字
- C#实现RTP数据包传输
- 私有云搭建 OpenStack(centos7.3, centos-release-openstack-ocata)
- 前端学习(1737):前端调试值测试窗口的切换
- etlgr是什么服务器_ETL是指什么 - 金融行业 - ITPUB论坛-中国专业的IT技术社区
- 信息学奥赛一本通(1281:最长上升子序列)
- 【多线程】什么是线程安全?
- 使用 Rust 构建分布式 Key-Value Store
- Linux内核源码如何学习?
- coreldraw sp2精简版 x4_coreldraw x4 sp2 精简版
- Java实现输出PDF
- QAC静态测试配置及使用教程
- 基本共射放大电路的动态分析以及放大电路Q点的稳定
- Outlook 2013 pst/ost邮件数据文件迁移实现
- python题库刷题网站_python在线刷题网站
- QQ图片文件夹说明及清理
热门文章
- 全国计算机一级考试试题大题,2016年全国计算机一级考试试题汇集
- html5+上下左右边界顺序,详解canvas绘制多张图的排列顺序问题
- android 多媒体文件信息,Android如何获取多媒体文件信息
- oracle 索引_分享三个Oracle数据库索引监控脚本,值得收藏
- 传统红色纹样图案背景|中式海报必备素材
- 水果手绘插画素材|一眼就想吃了!
- 可以参考临摹借鉴的中国风新年海报模板
- 设计潮流趋势|背景图案素材,增加设计对比和补充前景元素
- UI设计素材专辑|轻松解决键配色方案
- UI设计师应该知道的,APP设计师的辅助小工具网站集合导航