热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

knativeservingv1.0.0安装

knative-serving安装Knative-serving-v1.0.0安装1.前提条件2.文件来源说明3.运行yaml文件3.1可能遇到的问题4.查看pod是否创建完成5.

knative-serving安装

  • Knative-serving-v1.0.0安装
    • 1. 前提条件
    • 2. 文件来源说明
    • 3. 运行yaml文件
      • 3.1 可能遇到的问题
    • 4. 查看pod是否创建完成
    • 5.配置为knative网络默认使用Kourier
    • 6.设置所属域
      • 6.1 配置无负载均衡的所属域
      • 6.2 配置带有负载均衡的所属域
    • 7.验证
    • 8. 具体使用方式
    • 9. 参考
    • 其他意外状况


Knative-serving-v1.0.0安装

编写时间:2021-12-05
修改时间:2021-12-08 添加了k8s版本、执行yaml文件可能出现的问题、负载均衡下dns配置、删除检测环境
修改时间:2021-12-18 修改访问helloworld的命令的解释
友情链接:knative简介


1. 前提条件


knative与kubernetes的对应关系参考:knative计划
kubernetes 建议 v1.21之上

kubernetes环境要求:

  • 如果是单节点集群,建议至少需要6个CPU、6G内存、30G磁盘
  • 如果是多节点集群,建议每个节点至少需要2个CPU、4G内存、20G磁盘
  • 需要有kubectl命令行工具
  • 需要有docker命令行工具

2. 文件来源说明


文件需要自行获取


  • yaml文件:gitee地址
  • docker镜像:docker hub 地址

3. 运行yaml文件


1: serving-crds.yaml和serving-core.yaml是安装knative-serving的yaml文件
2: kourier.yaml是安装knative网络层的yaml文件

kubectl apply -f serving-crds.yaml
kubectl apply -f serving-core.yaml
kubectl apply -f kourier.yaml

3.1 可能遇到的问题

apiVersion版本不对,请修改yaml文件的内容,之后再次执行

# 问题详情
Warning: policy/v1beta1 PodDisruptionBudget is deprecated in v1.21+, unavailable in v1.25+; use policy/v1 PodDisruptionBudget# 问题原因:policy/v1beta1在k8sv1.21+以上版本已改为policy/v1# 修改文件,之后重新执行
sed -i "s/policy\/v1beta1/policy\/v1/g" XXX.yaml

4. 查看pod是否创建完成

kubectl get pod -n knative-serving
kubectl get pod -n kourier-system

5.配置为knative网络默认使用Kourier

kubectl patch configmap/config-network \-n knative-serving \--type merge \-p '{"data":{"ingress.class":"kourier.ingress.networking.knative.dev"}}'

6.设置所属域


6.1 配置无负载均衡的所属域

kubectl patch configmap/config-domain \-n knative-serving \--type merge \-p '{"data":{"127.0.0.1.nip.io":""}}'# 配置此项需要将service的类型改为NodePort,使用以下命令
kubectl patch service/kourier \
-n kourier-system \
--type merge \
-p '{"spec":{"type":"NodePort"}}'

6.2 配置带有负载均衡的所属域


使用sslip.io作为默认 DNS 后缀

kubectl apply -f serving-default-domain.yamlkubectl patch configmap/config-domain \-n knative-serving \--type merge \-p '{"data":{"sslip.io":""}}'

7.验证


  1. 创建serving-test的命名空间

kubectl create namespace serving-test

  1. 运行helloworld-go.yaml文件

kubectl apply -f helloworld-go.yaml

  1. 等待pod创建

kubectl get pod -n serving-test

  1. 获取请求头

kubectl get route -n serving-test

  1. 访问helloworld

1: :是kubectl get route -n serving-test获取的url,去掉urlhttp://
2: 是knative-serving的网络服务ip和端口,kourier网络可以通过kubectl get service kourier -n kourier-system获取,端口是内部端口
3: 1-2分钟如果没有请求访问,pod会自动扩缩容到0
4: 响应值为Hello World!,表示成功

curl -H "Host: " http://<serving_network_ip>:<serving_network_port>

  1. 删除检测环境

kubectl delete namespaces serving-test

8. 具体使用方式

knative-serving的使用

9. 参考

Knative官网

其他意外状况

如果其他意外情况&#xff0c;还请告知&#xff0c;谢谢


推荐阅读
  • ArcBlock 发布 ABT 节点 1.0.31 版本更新
    2020年11月9日,ArcBlock 区块链基础平台发布了 ABT 节点开发平台的1.0.31版本更新,此次更新带来了多项功能增强与性能优化。 ... [详细]
  • 本文详细介绍了 Java 中 org.w3c.dom.Node 类的 isEqualNode() 方法的功能、参数及返回值,并通过多个实际代码示例来展示其具体应用。此方法用于检测两个节点是否相等,而不仅仅是判断它们是否为同一个对象。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 在 Kubernetes 中,Pod 的调度通常由集群的自动调度策略决定,这些策略主要关注资源充足性和负载均衡。然而,在某些场景下,用户可能需要更精细地控制 Pod 的调度行为,例如将特定的服务(如 GitLab)部署到特定节点上,以提高性能或满足特定需求。本文深入解析了 Kubernetes 的亲和性调度机制,并探讨了多种优化策略,帮助用户实现更高效、更灵活的资源管理。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • CRZ.im:一款极简的网址缩短服务及其安装指南
    本文介绍了一款名为CRZ.im的极简网址缩短服务,该服务采用PHP和SQLite开发,体积小巧,约10KB。本文还提供了详细的安装步骤,包括环境配置、域名解析及Nginx伪静态设置。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 在现代前端开发中,组件化已成为不可或缺的技术,尤其在 React 和 Vue 生态中。然而,组件的管理和测试一直是开发者面临的挑战。本文将介绍如何使用 Storybook 来简化这一过程,提高开发效率。 ... [详细]
  • 深入解析Dubbo:使用与源码分析
    本文详细介绍了Dubbo的使用方法和源码分析,涵盖其架构设计、核心特性和调用流程。 ... [详细]
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 本文详细解析了神州数码DCRS5980交换机的基础配置流程和技术要点。首先,通过进入配置模式(`enable`),设置主机名(`hostname 5980`),并创建VLAN,逐步介绍了设备的初始设置步骤。此外,还涵盖了端口配置、IP地址分配及安全设置等关键环节,为用户提供了全面的配置指导。 ... [详细]
author-avatar
我2你1生1世你知到_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有