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. javascript学习笔记之DOM

    DOM(文档对象模型),描述了一个层次化的节点树 一.DOM NODE相关公共属性与方法 DOM中所有节点都实现了NODE接口,该接口的公共属性和方法如下: 1.节点基本属性 1)NodeType 节 ...

  2. 暂时跳过的Leetcode题目

    963 最小面积矩形 II 有数学几何的味道,感觉这不是笔试面试的重点. 932 漂亮数组 构造题

  3. web服务基础

    Web服务基础 用户访问网站的基本流程 我们每天都会用web客户端上网,浏览器就是一个web客户端,例如谷歌浏览器,以及火狐浏览器等. 当我们输入www.oldboyedu.com/时候,很快就能看到 ...

  4. C++入门经典-例3.2-根据分数判断是否优秀

    1:代码如下: // 3.2.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> using ...

  5. spark MLlib 概念 4: 协同过滤(CF)

    1. 定义 协同过滤(Collaborative Filtering)有狭义和广义两种意义: 广义协同过滤:对来源不同的数据,根据他们的共同点做过滤处理. Collaborative filterin ...

  6. Mysql 基础操作命令

    1,查看mysql的建表语句 show create table tableName; #tableName 库中已存在的表名

  7. HTML技巧:怎样禁止图片拖动复制

    用jQuery实现代码: <script> var imgs=$("img"); imgs.on("contextmenu",function(){ ...

  8. SpringBoot 启动流程

    SpringBoot 启动流程 加载 resources/META-INF/spring.factories 中配置的 ApplicationContextInitializer 和 Applicat ...

  9. 将训练好的tensorflow模型移植到android应用中

    具体步骤如下: 1.  TFLiteConverter保存模型 修改网络模型代码,将模型通过TFLiteConverter转化成为 TensorFlow Lite FlatBuffer即为.tflit ...

  10. MySQL 数据库架构

    1 架构 master-slave性能,qps,tps,cpu,disk,memory,network,raid卡,fashion卡, 并发量:同一时刻需要db处理 连接量: 大表:1000w行或者表 ...