Skip to content

Commit

Permalink
Update installation docs and links (knative#3732)
Browse files Browse the repository at this point in the history
  • Loading branch information
abrennan89 authored and RichardJJG committed Jun 30, 2021
1 parent acb5658 commit e1dd2f4
Show file tree
Hide file tree
Showing 10 changed files with 313 additions and 185 deletions.
36 changes: 8 additions & 28 deletions docs/admin/install/README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,18 @@
---
title: "Installing Knative"
weight: 05
type: "docs"
aliases:
- /docs/install/knative-with-any-k8s
- /docs/install/knative-with-aks
- /docs/install/knative-with-ambassador
- /docs/install/knative-with-contour
- /docs/install/knative-with-docker-for-mac
- /docs/install/knative-with-gke
- /docs/install/knative-with-gardener
- /docs/install/knative-with-gloo
- /docs/install/knative-with-icp
- /docs/install/knative-with-iks
- /docs/install/knative-with-microk8s
- /docs/install/knative-with-minikube
- /docs/install/knative-with-minishift
- /docs/install/knative-with-pks
- /docs/install/any-kubernetes-cluster
showlandingtoc: "false"
---

# Installing Knative

!!! tip
You can install a local distribution of Knative for development use by following the [Getting started guide](../getting-started/){_blank}.
You can install a local distribution of Knative for development use by following the [Getting started guide](../../getting-started/){_blank}.

You can install the Serving component, Eventing component, or both on your cluster by using one of the following deployment options:

- Using a [YAML-based installation](./prerequisites)
- Using a YAML-based installation:
- [Install Knative Serving by using YAML](../install/serving/install-serving-with-yaml)
- [Install Knative Eventing by using YAML](../install/eventing/install-eventing-with-yaml)
- Using the [Knative Operator](./knative-with-operators).
- Following the documentation for vendor managed [Knative offerings](../knative-offerings).
- Following the documentation for vendor managed [Knative offerings](../install/knative-offerings).

You can also [upgrade an existing Knative installation](./upgrade-installation).
You can also [upgrade an existing Knative installation](../upgrade/).

**NOTE:** Knative installation instructions assume you are running Mac or Linux with a bash shell.
!!! note
Knative installation instructions assume you are running Mac or Linux with a bash shell.
<!-- TODO: Link to provisioning guide for advanced installation -->
20 changes: 20 additions & 0 deletions docs/admin/install/eventing/eventing-installation-files.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Knative Eventing installation files

This guide provides reference information about the core Knative Eventing YAML files, including:

- The custom resource definitions (CRDs) and core components required to install Knative Eventing.
- Optional components that you can apply to customize your installation.

For information about installing these files, see [Installing Knative Eventing using YAML files](../install-eventing-with-yaml).

The table below describes the installation files included in Knative Eventing:

| File name | Description | Dependencies|
| --- | --- | --- |
| eventing-core.yaml | Required: Knative Eventing core components. | eventing-crds.yaml |
| eventing-crds.yaml | Required: Knative Eventing core CRDs. | none |
| eventing-post-install.yaml | Jobs required for upgrading to a new minor version. | eventing-core.yaml, eventing-crds.yaml |
| eventing-sugar-controller.yaml | Reconciler that watches for labels and annotations on certain resources to inject eventing components. | eventing-core.yaml |
| eventing.yaml | Combines `eventing-core.yaml`, `mt-channel-broker.yaml`, and `in-memory-channel.yaml`. | none |
| in-memory-channel.yaml | Components to configure In-Memory Channels. | eventing-core.yaml |
| mt-channel-broker.yaml | Components to configure Multi-Tenant (MT) Channel Broker. | eventing-core.yaml |
Original file line number Diff line number Diff line change
@@ -1,19 +1,8 @@
---
title: "Installing Knative Eventing using YAML files"
linkTitle: "Install Eventing using YAML"
weight: 03
type: "docs"
showlandingtoc: "false"
---

# Installing Knative Eventing using YAML files

This topic describes how to install Knative Eventing by applying YAML files using the `kubectl` CLI.

## Prerequisites

Before installation, you must meet the prerequisites.
See [Knative Prerequisites](./prerequisites).
--8<-- "prerequisites.md"

## Install the Eventing component

Expand All @@ -31,13 +20,11 @@ To install the Eventing component:
kubectl apply -f {{ artifact(repo="eventing",file="eventing-core.yaml")}}
```

For information about the YAML files in the Knative Serving and Eventing releases, see
[Installation files](./installation-files).

!!! info
For information about the YAML files in Knative Eventing, see [Description Tables for YAML Files](./eventing-installation-files.md).

## Verify the installation


!!! success "Monitor the Knative components until all of the components show a `STATUS` of `Running` or `Completed`:"

```{ .bash .no-copy }
Expand All @@ -55,9 +42,9 @@ Follow the procedure for the channel of your choice:
=== "Apache Kafka Channel"

1. First,
[Install Apache Kafka for Kubernetes](../eventing/samples/kafka/README.md)
[Install Apache Kafka for Kubernetes](../../../../eventing/samples/kafka)

1. Then install the Apache Kafka channel:
1. Then install the Apache Kafka Channel:

```bash
curl -L "{{ artifact(org="knative-sandbox",repo="eventing-kafka",file="channel-consolidated.yaml")}}" \
Expand All @@ -67,8 +54,7 @@ Follow the procedure for the channel of your choice:

!!! tip
To learn more about the Apache Kafka channel, try
[our sample](../eventing/samples/kafka/channel/README.md)

[our sample](../../../../eventing/samples/kafka/channel/)

=== "Google Cloud Pub/Sub Channel"

Expand Down Expand Up @@ -106,8 +92,6 @@ Follow the procedure for the channel of your choice:

<!-- TODO(https://github.com/knative/docs/issues/2153): Add more Channels here -->



## Optional: Install a broker layer:

The tabs below expand to show instructions for installing the broker layer.
Expand All @@ -131,20 +115,18 @@ Follow the procedure for the broker of your choice:
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-broker.yaml")}}
```

For more information, see the [Kafka broker](./../eventing/broker/kafka-broker/) documentation.
For more information, see the [Kafka broker](../../../../eventing/broker/kafka-broker/) documentation.

=== "MT-Channel-based"

The following command installs an implementation of broker that utilizes
channels and runs event routing components in a System Namespace, providing a
smaller and simpler installation.
channels and runs event routing components in a System Namespace, providing a smaller and simpler installation.

```bash
kubectl apply -f {{ artifact(repo="eventing",file="mt-channel-broker.yaml")}}
```

To customize which broker channel implementation is used, update the following
ConfigMap to specify which configurations are used for which namespaces:
To customize which broker channel implementation is used, update the following ConfigMap to specify which configurations are used for which namespaces:

```yaml
apiVersion: v1
Expand Down Expand Up @@ -174,8 +156,7 @@ Follow the procedure for the broker of your choice:
namespace: knative-eventing
```

The referenced `imc-channel` and `kafka-channel` example ConfigMaps would look
like:
The referenced `imc-channel` and `kafka-channel` example ConfigMaps would look like:

```yaml
apiVersion: v1
Expand Down Expand Up @@ -212,12 +193,138 @@ Follow the procedure for the broker of your choice:

For more information, see the [RabbitMQ broker](https://github.com/knative-sandbox/eventing-rabbitmq) in GitHub.

## Next steps
## Install optional Eventing extensions

The tabs below expand to show instructions for installing each Eventing extension.
<!-- This indentation is important for things to render properly. -->

=== "Apache Kafka Sink"

1. Install the Kafka controller:

```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-controller.yaml")}}
```

1. Install the Kafka Sink data plane:

```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka-broker",file="eventing-kafka-sink.yaml")}}
```

For more information, see the [Kafka Sink](../../../eventing/sink/kafka-sink.md) documentation.

=== "Sugar Controller"

<!-- Unclear when this feature came in -->

The following command installs the Eventing Sugar Controller:

```bash
kubectl apply -f {{ artifact(repo="eventing",file="eventing-sugar-controller.yaml")}}
```

The Knative Eventing Sugar Controller will react to special labels and
annotations and produce Eventing resources. For example:

After installing Knative Eventing:
- When a Namespace is labeled with `eventing.knative.dev/injection=enabled`, the
controller will create a default broker in that namespace.
- When a Trigger is annotated with `eventing.knative.dev/injection=enabled`, the
controller will create a Broker named by that Trigger in the Trigger's
Namespace.
- To easily interact with Knative Eventing components, [install the `kn` CLI](/docs/client/install-kn)
The following command enables the default Broker on a namespace (here
`default`):
- To add optional enhancements to your installation, see [Installing optional extensions](./install-extensions)
```bash
kubectl label namespace default eventing.knative.dev/injection=enabled
```
=== "Github Source"
The following command installs the single-tenant Github source:
```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-github",file="github.yaml")}}
```
The single-tenant GitHub source creates one Knative service per GitHub source.
The following command installs the multi-tenant GitHub source:
```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-github",file="mt-github.yaml")}}
```
The multi-tenant GitHub source creates only one Knative service handling all
GitHub sources in the cluster. This source does not support logging or tracing
configuration yet.
To learn more about the Github source, try
[our sample](../../../../eventing/sources/github-source/)
=== "Apache Camel-K Source"
The following command installs the Apache Camel-K Source:
```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-camel",file="camel.yaml")}}
```
To learn more about the Apache Camel-K source, try
[our sample](../../../../eventing/sources/apache-camel-source/)
=== "Apache Kafka Source"
The following command installs the Apache Kafka Source:
```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-kafka",file="source.yaml")}}
```
To learn more about the Apache Kafka source, try
[our sample](../../../../eventing/sources/kafka-source)
=== "GCP Sources"
The following command installs the GCP Sources:
```bash
# This installs both the Sources and the Channel.
kubectl apply -f {{ artifact(org="google",repo="knative-gcp",file="cloud-run-events.yaml")}}
```
To learn more about the Cloud Pub/Sub source, try
[our sample](../../../../eventing/sources/cloud-pubsub-source).
To learn more about the Cloud Storage source, try
[our sample](../../../../eventing/sources/cloud-storage-source).
To learn more about the Cloud Scheduler source, try
[our sample](../../../../eventing/sources/cloud-scheduler-source).
To learn more about the Cloud Audit Logs source, try
[our sample](../../../../eventing/sources/cloud-audit-logs-source).
=== "Apache CouchDB Source"
The following command installs the Apache CouchDB Source:
```bash
kubectl apply -f {{ artifact(org="knative-sandbox",repo="eventing-couchdb",file="couchdb.yaml")}}
```
To learn more about the Apache CouchDB source, read the [documentation](https://github.com/knative-sandbox/eventing-couchdb/blob/main/source/README.md).
=== "VMware Sources and Bindings"
The following command installs the VMware Sources and Bindings:
```bash
kubectl apply -f {{ artifact(org="vmware-tanzu",repo="sources-for-knative",file="release.yaml")}}
```
- [Installing Knative Serving using YAML files](./install-serving-with-yaml)
To learn more about the VMware sources and bindings, try
[our samples](https://github.com/vmware-tanzu/sources-for-knative/tree/master/samples/README.md).
49 changes: 0 additions & 49 deletions docs/admin/install/installation-files.md

This file was deleted.

11 changes: 2 additions & 9 deletions docs/admin/install/knative-offerings.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,3 @@
---
title: "Knative Offerings"
linkTitle: "Knative Offerings"
weight: 15
type: "docs"
---

# Knative Offerings

Knative has a rich community with many vendors participating, and many of those
Expand All @@ -15,11 +8,11 @@ vendors for what is or is not supported.

Here is a list of commercial Knative products (alphabetically):

- [Gardener](https://gardener.cloud/documentation/050-tutorials/content/howto/knative-install/): Install Knative in Gardener's vanilla Kubernetes clusters to add an extra layer of serverless runtime.
- [Gardener](https://gardener.cloud/documentation/tutorials/knative-install/): Install Knative in Gardener's vanilla Kubernetes clusters to add an extra layer of serverless runtime.
- [Google Cloud Run for Anthos](https://cloud.google.com/run/docs/gke/setup): Extend Google Kubernetes Engine with a flexible serverless development platform. With Cloud Run for Anthos, you get the operational flexibility of Kubernetes with the developer experience of serverless, allowing you to deploy and manage Knative-based services on your own cluster, and trigger them with events from Google, 3rd-party sources, and your own applications.
- [Google Cloud Run](https://cloud.google.com/run/docs/setup): A fully-managed Knative-based serverless platform. With no Kubernetes cluster to manage, Cloud Run lets you go from container to production in seconds.
- [IBM Cloud Code Engine](https://cloud.ibm.com/codeengine): A fully-managed serverless platform that runs all your containerized workloads, including http-driven application, batch jobs or event-driven functions.
- [Red Hat Openshift Serverless](https://docs.openshift.com/container-platform/4.6/serverless/serverless-getting-started.html): enables stateful, stateless, and serverless workloads to all run on a single multi-cloud container platform with automated operations. Developers can use a single platform for hosting their microservices, legacy, and serverless applications.
- [Red Hat Openshift Serverless](https://docs.openshift.com/container-platform/4.7/serverless/serverless-getting-started.html): enables stateful, stateless, and serverless workloads to all run on a single multi-cloud container platform with automated operations. Developers can use a single platform for hosting their microservices, legacy, and serverless applications.
- [TriggerMesh Cloud](https://cloud.triggermesh.io): A fully-managed Knative and Tekton cloud-native integration platform. With support for AWS, Azure and Google event sources and brokers.

<!-- TODO: In which category do we put SAP/Kyma? -->
Expand Down
Loading

0 comments on commit e1dd2f4

Please sign in to comment.