knative 安装

本文安装版本 knative 0.6。

准备

安装 knative 前需要事先安装 Kubernetes 集群Istio

安装

下载安装所需要的文件。以下选择的是全安装,如果不想要 knative 的全部功能,可自行选择不需要的 yaml。由于所有的镜像都是来自墙外,需要科 学上网。

cd /opt;mkdir knative;cd knative

wget https://github.com/knative/serving/releases/download/v0.6.0/serving.yaml
wget https://github.com/knative/build/releases/download/v0.6.0/build.yaml
wget https://github.com/knative/eventing/releases/download/v0.6.0/release.yaml
wget https://github.com/knative/eventing-sources/releases/download/v0.6.0/eventing-sources.yaml
wget https://github.com/knative/serving/releases/download/v0.6.0/monitoring.yaml
wget https://raw.githubusercontent.com/knative/serving/v0.6.0/third_party/config/build/clusterrole.yaml

安装 CRD。

kubectl apply --selector knative.dev/crd-install=true -f .

安装服务。

kubectl apply -f serving.yaml --selector networking.knative.dev/certificate-provider!=cert-manager \
-f build.yaml -f release.yaml -f eventing-sources.yaml \
-f monitoring.yaml -f clusterrole.yaml

查看 knative 的组件是否已全部就绪(处于 running 或 Completed 状态)。

kubectl get pods -n knative-serving
kubectl get pods -n knative-build
kubectl get pods -n knative-eventing
kubectl get pods -n knative-sources
kubectl get pods -n knative-monitoring

也可以用 watch 方式实时查看是否已就绪。

kubectl get pods --all-namespaces --watch | grep -E "knative-serving|knative-build|knative-eventing|knative-sources|knative-monitoring"

在安装过程中可能会碰到很多 pod 处于 pending 状态,一般都是由于资源不够导致。

自制镜像安装

由于很多镜像来自墙外,在国内不能愉快的玩耍。这就需要自制镜像。具体过程可看自制镜像

下面是 knative 0.6 里需要用到的镜像,我这里已经自制完成,可直接下载

[root@test-1 download]# cat down.sh
#!/bin/bash
down_docker=(
mathlsj/knative-serving-cmd-webhook:0.6
mathlsj/knative-serving-cmd-networking-istio:0.6
mathlsj/knative-serving-cmd-networking-certmanager:0.6
mathlsj/knative-serving-cmd-controller:0.6
mathlsj/knative-serving-cmd-queue:0.6
mathlsj/knative-serving-cmd-autoscaler:0.6
mathlsj/knative-serving-cmd-activator:0.6
mathlsj/knative-eventing-cmd-apiserver_receive_adapter:0.6
mathlsj/knative-eventing-cmd-broker-filter:0.6
mathlsj/knative-eventing-cmd-broker-ingress:0.6
mathlsj/knative-eventing-cmd-controller:0.6
mathlsj/knative-eventing-cmd-cronjob_receive_adapter:0.6
mathlsj/knative-eventing-cmd-in_memory-controller:0.6
mathlsj/knative-eventing-cmd-in_memory-dispatcher:0.6
mathlsj/knative-eventing-cmd-sources_controller:0.6
mathlsj/knative-eventing-cmd-webhook:0.6
mathlsj/knative-eventing-sources-cmd-github_receive_adapter:0.6
mathlsj/knative-eventing-sources-cmd-manager:0.6
mathlsj/knative-build-cmd-controller:0.6
mathlsj/knative-build-cmd-creds-init:0.6
mathlsj/knative-build-cmd-git-init:0.6
mathlsj/knative-build-cmd-nop:0.6
mathlsj/knative-build-cmd-webhook:0.6
) down_other=(
mathlsj/knative-addon-resizer:1.7
mathlsj/knative-elasticsearch:v5.6.4
mathlsj/knative-fluentd-elasticsearch:v2.0.4
mathlsj/knative-cloud-builders-gcs-fetcher:0.6
) for var in ${down_docker[@]};do
docker pull $var
done for var_other in ${down_other[@]};do
docker pull $var_other
done

自制镜像完成后,knative 的镜像是用 sha256 方式来 pull的。在本地我们不能通过 docker tag 的方式重新打包,只能修改 yaml 里的所有配置。配置修改后 yaml 文件已放在 github 上,有需要的大家自己下载。github地址

配置文件修改完后,后继的操作和原安装步骤一样。

knative 安装的更多相关文章

  1. Serverless 工程实践 | 零基础上手 Knative 应用

    作者|刘宇 前言:Knative 是一款基于 Kubernetes 的 Serverless 框架.其目标是制定云原生.跨平台的 Serverless 编排标准. Knative 介绍 Knative ...

  2. Knative 实战:基于 Kafka 实现消息推送

    作者 | 元毅 阿里云智能事业群高级开发工程师 导读:当前在 Knative 中已经提供了对 Kafka 事件源的支持,那么如何基于 Kafka 实现消息推送呢?本文作者将以阿里云 Kafka 产品为 ...

  3. Knative 实践:从源代码到服务的自动化部署

    通过之前的文章,相信大家已经熟悉了 Serving.Eventing 以及 Tekton.那么在实际使用中,我们往往会遇到一些复杂的场景,这时候就需要各个组件之间进行协作处理.例如我们提交源代码之后是 ...

  4. Knative 初体验:CICD 极速入门

    Knative 社区很早就在讨论用 Tekton 替换 Build 模块的相关事宜.Knative Build 官方已经正式说明不再建议使用 Knative Build 了. 如果你知道 Knativ ...

  5. Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler

    Knative Serving 默认情况下,提供了开箱即用的快速.基于请求的自动扩缩容功能 - Knative Pod Autoscaler(KPA).下面带你体验如何在 Knative 中玩转 Au ...

  6. Knative 基本功能深入剖析:Knative Serving 的流量灰度和版本管理

    作者|冬岛 阿里云技术专家 本篇主要介绍 Knative Serving 的流量灰度,通过一个 rest-api 的例子演示如何创建不同的 Revision.如何在不同的 Revision 之间按照流 ...

  7. Knative 初体验:Eventing Hello World

    作者 | 阿里云智能事业群高级开发工程师 元毅 基于事件驱动是Serveless的核心功能之一,通过事件驱动服务,满足了用户按需付费(Pay-as-you-go)的需求.在之前的文章中我们介绍过 Kn ...

  8. Microk8s 安装helm3

    Microk8s 安装helm3 原本使用官方的命令时这样的.但是使用的是官方的源,网络极不稳定.就出现了下面的状况.解决方法是更改为国内的源. microk8s enable helm3 curl: ...

  9. SmartIDE v0.1.18 已经发布 - 助力阿里国产IDE OpenSumi 插件安装提速10倍、Dapr和Jupyter支持、CLI k8s支持

    SmartIDE v0.1.18 (cli build 3538) 已经发布,在过去的Sprint 18中,我们集中精力推进对 k8s 远程工作区 的支持,同时继续扩展SmartIDE对不同技术栈的支 ...

随机推荐

  1. Mysql 里CHAR和VARCHAR的最大长度及一些注意事项

    先写出结论: Mysql 5中 非空CHAR的最大总长度是255[字节]:非空VARCHAR的最大总长度是65533[字节]. 可空CHAR的最大总长度是254[字节]:可空VARCHAR的最大总长度 ...

  2. 前端开发——让算法"动"起来

    正文 当然在我们不清楚具体操作细节前我们可以先假设一下,我们能够用什么来实现.按照以前看过的排序动画我将其分为 1.Js操作Dom,再搭配简单的css 2.Canvas动画 之后在查资料的时候发现还有 ...

  3. MyExcel 2.2.0 版本发布,支持公式导出

    MyExcel,是一个集导入.导出.加密Excel等多项功能的java工具包. 相关链接 MyExcel 的详细介绍:点击查看 MyExcel 的下载地址:点击下载

  4. 将 vue 的项目放在 手机上查看 及 测试 bug

    首先:我们应该让电脑和手机 处在同一个局域网下面,最简单的方法,就是让手机链接电脑的 WiFi ,或者让电脑链接手机的 WiFi ,然后得到我们的 ip 地址 在电脑上获取 ip 地址就行 获取方法: ...

  5. mysql5.7.25搭建mysql-5.7.25.tar.gz包(亲验)

    STEP 1. 下载 去往官方下载MySQL包.http://dev.mysql.com mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz STEP 2. 解压缩 ...

  6. 托管C++中System::String^ 转换为 char*

    https://docs.microsoft.com/en-us/cpp/dotnet/how-to-convert-system-string-to-standard-string?view=vs- ...

  7. navivate 下载

    https://www.jianshu.com/p/5f693b4c9468?mType=Group

  8. 下载的管理类MyDownloadManager

    import android.content.Intent; import android.net.Uri; import java.io.File; import java.io.FileOutpu ...

  9. Kotlin 的 @JvmStatic 和 @JvmField 注解

    这是关于 Java 静态方法和静态变量的一段代码: public class TestStatic { private int otherField = 0; public static final ...

  10. Platform区分不同平台

    用于区分平台 OS 属性 表示当前的平台类型.只有 ios 与 android 两个值.如可以使用为同一个属性在不同的平台上赋不同的值 const styles = StyleSheet.create ...