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. SpringBoot 单文件和多文件上传

    单.多文件上传:单文件上传使用upload.html ,多文件上传使用uploads.html 创建一个Springboot application, POM 中加入 spring-boot-star ...

  2. Java常考面试题整理(二)

    21.Iterator和ListIterator的区别是什么? 参考答案: 下面列出了他们的区别: Iterator可以用来遍历Set和List集合,但是ListIterator只能用来遍历List. ...

  3. rocketmq的一些内容

    分布式开放消息系统(RocketMQ)的原理与实践 作者 CHEN川 关注 2016.02.25 15:43* 字数 6784 阅读 122302评论 41喜欢 321赞赏 7 一年前为了一次内部分享 ...

  4. 跨域请求配置 Amazon AWS S3 腾讯云 阿里云 COS OSS 文件桶解决方案以及推荐 Lebal:Research

    跨域请求配置 跨域请求指的就是不同的域名和端口之间的访问.由于 ajax 的同源策略影响.跨域请求默认是不被允许的. 使用@font-face外挂字体时,可能遇到跨域请求CROS问题:F12控制台报错 ...

  5. 网易云课堂_C++程序设计入门(下)_第10单元:月映千江未减明 – 模板_第10单元 - 单元作业:OJ编程 - 创建数组类模板

    第10单元 - 单元作业:OJ编程 - 创建数组类模板 查看帮助 返回   温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提 ...

  6. What is an Activation object in JavaScript ?

    ********************* from Professional JavaScript for Web Development Execution Context And Scope T ...

  7. [转] 浅谈JS中的变量及作用域

    Situation One <script> var i; function sayHello() { var x=100; alert(x); x++; } sayHello();   ...

  8. 【计算机视觉】【图像处理】【VS开发】【Qt开发】opencv之深拷贝及浅拷贝,IplImage装换为Mat

    原文:opencv之深拷贝及浅拷贝,IplImage装换为Mat  一.(1) 浅拷贝: Mat B; B = image // 第一种方式 Mat C(image); // 第二种方式 这两种方式称 ...

  9. flaskdebug模式

    #从flask这个包中导入Flask这个类 #Flask这个类是项目的核心,以后很多操作都是基于这个类的对象 #注册url.注册蓝图等都是基于这个类的对象 from flask import Flas ...

  10. 线程间通信共享变量和queue

    在多线程中,数据是共享,如何在多线程安全的通信,是首先要可虑的问题的 #线程间的通信 import timeimport threadingfrom threading import RLock de ...