手动安装 Knative

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 本章主要介绍如何在已有 Kubernetes 集群上执行 Knative 的自定义安装。Knative的模块化组件可以允许您安装所需的组件。

本文选自《Knative 云原生应用开发指南》
knative海报.png

本章主要介绍如何在已有 Kubernetes 集群上执行 Knative 的自定义安装。Knative的模块化组件可以允许您安装所需的组件。

准备工作

  • 本安装操作中的步骤bash适用于MacOS或Linux环境。对于Windows,某些命令可能需要调整。
  • 本安装操作假定您具有现有的Kubernetes集群,可以在其上轻松安装和运行Alpha级软件。
  • Knative需要Kubernetes集群v1.14或更高版本,以及可兼容 kubectl。

安装Istio

Knative 依赖 Istio 进行流量路由和入口。您可以选择注入 Istio sidecar 并启用 Istio 服务网格,但是并非所有Knative组件都需要它。

如果您的云平台提供了托管的Istio安装,则建议您以这种方式安装Istio,除非您需要自定义安装功能。

如果您希望手动安装Istio,或者云提供商不提供托管的Istio安装,或者您要使用Minkube或类似的本地安装Knative,请参阅《 安装Istio for Knative》指南

注意:可以使用 AmbassadorGloo替代Istio。

安装Knative组件

每个Knative组件必须单独安装。您可以根据需要决定安装哪些组件和内置监控插件。

注意:如果首次尝试安装失败,请尝试重新运行命令。很可能会在第二次尝试中成功。

选择Knative安装文件

可以使用以下 Knative 安装文件:

安装Knative

  1. 如果要从 Knative 0.3.x 升级,请执行以下操作:将 domain 和静态 IP 地址更新为与 istio-ingressgateway 关联, 而不是 knative-ingressgateway。然后运行以下命令清理剩余的资源:
kubectl delete svc knative-ingressgateway -n istio-system
kubectl delete deploy knative-ingressgateway -n istio-system

如果安装了Knative Eventing Sources组件,则还需要在升级之前删除以下资源:

kubectl delete statefulset/controller-manager -n knative-sources
  1. 要安装 Knative 组件或插件,请在kubectl apply命令中指定文件名 。为了防止由于资源安装顺序导致安装失败,请首先运行带有该 -l knative.dev/crd-install=true 标志的安装命令,然后再次运行没有 --selector 标志的安装命令。

    示例安装命令:
  • 如果需要使用内置监控插件,安装 Knative Serving 组件,请运行以下命令:

    • 仅安装CRD:
kubectl apply --selector knative.dev/crd-install=true \
  --filename https://github.com/knative/serving/releases/download/{{ <版本> }}/serving.yaml \
  --filename https://github.com/knative/serving/releases/download/{{ <版本> }}/monitoring.yaml
  • 删除--selector knative.dev/crd-install=true 标志,然后运行命令以安装Serving组件和监控插件:
kubectl apply --filename https://github.com/knative/serving/releases/download/{{ <版本> }}/serving.yaml \
  --filename https://github.com/knative/serving/releases/download/{{ <版本> }/monitoring.yaml
  • 如果不使用内置监控插件的情况下安装所有Knative组件,请运行以下命令。

    • 仅安装CRD:
kubectl apply --selector knative.dev/crd-install=true \
  --filename https://github.com/knative/serving/releases/download/{{< version >}}/serving.yaml \
  --filename https://github.com/knative/eventing/releases/download/{{< version >}}/release.yaml
  • 删除--selector knative.dev/crd-install=true 标志,然后运行命令以安装所有Knative组件,包括Eventing资源:
kubectl apply --filename https://github.com/knative/serving/releases/download/{{ <版本> }}/serving.yaml \
--filename https://github.com/knative/eventing/releases/download/{{ <版本> }}/release.yaml
  1. 根据选择安装的内容,通过运行以下一个或多个命令来查看安装状态:
kubectl get pods --namespace knative-serving
kubectl get pods --namespace knative-eventing
  1. 如果安装了内置监控插件,请运行以下命令:
kubectl get pods --namespace knative-monitoring

其它

考虑到国内用户有可能拉取不断外部镜像,安装文件可参考:https://github.com/knative-sample/knative-release/tree/v0.10.0

阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的技术圈。”

相关文章
|
4月前
|
Kubernetes Linux iOS开发
Istio1.12:安装和快速入门
Istio1.12:安装和快速入门
68 0
|
11月前
|
消息中间件 存储 Kubernetes
【无服务器架构】Knative Eventing 介绍
【无服务器架构】Knative Eventing 介绍
|
Kubernetes Cloud Native Serverless
Knative Eventing
Knative Eventing
103 0
|
Kubernetes Serverless 容器
Knative Serving
Knative Serving
91 0
|
Perl
在 minikube 上部署 knative
在 minikube 上部署 knative 流程简介。
217 0
|
Kubernetes API 容器
解读 Knative Eventing v0.12.0 新特性
本文针对 Knative Eventing v0.12.0 版本新功能特性进行解读,让你快速对 v0.12.0 版本有所了解。
1097 0
|
Kubernetes 网络协议 Java
|
Kubernetes Cloud Native Serverless
在阿里云上一键安装 Knative
本文介绍一下如何在阿里云容器服务中一键安装 Knative。
在阿里云上一键安装 Knative
|
设计模式 Kubernetes 数据格式
解读 Knative Eventing v0.11.0 新特性
Knative Eventing v0.11.0 版本已经于 12 月 10 号正式发布。本次发布围绕 Eventing 事件源接入及事件可用性等相关功能展开。本文通过解读这些功能特性,让你快速对 v0.11.0 版本有所了解。
2446 0
|
Perl
简单了解 Knative Eventing 0.9 版本新特性
Knative Eventing v0.9 版本已经于 9 月 18 号正式发布。本次发布 Eventing 中相关功能更新并不多。本篇文章带你简单了解这些功能新特性。
5855 0