From 5f88e0625762b310cd909ffe8fe3d4efd1aa3a59 Mon Sep 17 00:00:00 2001 From: Matt Ray Date: Mon, 1 Nov 2021 18:07:20 +1100 Subject: [PATCH 1/4] Add installing Tanzu Community Edition prerequisites Signed-off-by: Matt Ray --- docs/guides/installation-tce.md | 55 +++++++++++++++++++++++++++++++++ docs/guides/installation.md | 2 ++ mkdocs.yml | 1 + 3 files changed, 58 insertions(+) create mode 100644 docs/guides/installation-tce.md diff --git a/docs/guides/installation-tce.md b/docs/guides/installation-tce.md new file mode 100644 index 000000000..aa6254321 --- /dev/null +++ b/docs/guides/installation-tce.md @@ -0,0 +1,55 @@ +# TriggerMesh Installation for Tanzu Community Edition + +[Tanzu Community Edition](https://tanzucommunityedition.io/) is a free and open source Kubernetes platform provided by VMware. + +!!! Info "Tanzu Community Edition package repository versions" + The version of `knative-serving` currently in the Tanzu Community Edition package repository is version 0.22 which does not meet TriggerMesh's prerequisites. There is also currently not a `knative-eventing` package available, so please follow the instructions below. + +## Installation + +1. Follow the [Getting Started with Tanzu Community Edition](https://tanzucommunityedition.io/docs/latest/getting-started-standalone/) installation instructions and create your Tanzu cluster on your platform of choice. +1. Ensure you are in the context of your Tanzu cluster +``` +kubectl config use-context -admin@ +``` +1. Install Knative Serving following the [Installing Knative Serving using YAML files](https://knative.dev/docs/admin/install/serving/install-serving-with-yaml/) instructions. +``` +kubectl apply -f https://github.com/knative/serving/releases/download/v0.26.0/serving-crds.yam +kubectl apply -f https://github.com/knative/serving/releases/download/v0.26.0/serving-core.yaml +``` +1. Wait until the pods have started before proceeding. +``` +kubectl get pods -n knative-serving +``` +1. The version of Contour provided with the Tanzu Community Edition package repository is earlier than the version of `knative-serving` we have installed, so install it from YAML as well. +``` +kubectl apply -f https://github.com/knative/net-contour/releases/download/v0.26.0/contour.yaml +kubectl apply -f https://github.com/knative/net-contour/releases/download/v0.26.0/net-contour.yaml +``` +1. Verify the pods have started before proceeding. +``` +kubectl get pods -n | grep contour +``` +1. Configure Knative Serving to use Contour by default by running the command: +``` +kubectl patch configmap/config-network \ + --namespace knative-serving \ + --type merge \ + --patch '{"data":{"ingress.class":"contour.ingress.networking.knative.dev"}}' +``` +1. Get the External IP address or CNAME by running the command: +``` +kubectl --namespace contour-external get service envoy +``` +1. You will need to configure DNS following the [Knative Serving DNS instructions](https://knative.dev/docs/admin/install/serving/install-serving-with-yaml/#configure-dns) for your requirements. +1. Install Knative Eventing following the [Installing Knative Eventing using YAML files](https://knative.dev/docs/admin/install/eventing/install-eventing-with-yaml/) instructions. +``` +kubectl apply -f https://github.com/knative/eventing/releases/download/v0.26.0/eventing-crds.yaml +kubectl apply -f https://github.com/knative/eventing/releases/download/v0.26.0/eventing-core.yaml +``` +1. Verify your installation. +``` +kubectl get pods -n knative-eventing +``` + +At this point you have the TriggerMesh prerequisites installed and can continue with the [standard installation instructions](/guides/installation/#install-the-crds). diff --git a/docs/guides/installation.md b/docs/guides/installation.md index c3553b789..06cba605b 100644 --- a/docs/guides/installation.md +++ b/docs/guides/installation.md @@ -21,6 +21,8 @@ The Knative project is a dependency of TriggerMesh, install it using the instruc * A Kubernetes cluster version `v1.20+` * Knative `v0.26+` +If you are using VMware's [Tanzu Community Edition](https://tanzucommunityedition.io/), please refer to the [Installation for Tanzu Community Edition](installation-tce.md). + ## Install the CRDs All TriggerMersh APIs are implemented as Kubernetes CRDs, which we need to create before deploying the controller. The following `kubectl apply` command will create all of the CRDs. diff --git a/mkdocs.yml b/mkdocs.yml index 8892ef48f..e7d96a571 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -53,6 +53,7 @@ nav: - '': guides/installation.md - Using an AWS AMI: guides/installation-ami.md - Using Helm: guides/installation-helm.md + - Tanzu Community Edition: guides/installation-tce.md - Integration Language: - '': til/Introduction.md - CLI: til/Commands.md From fe2093c20467f80a0d2d1179f162592f5a5ce0ef Mon Sep 17 00:00:00 2001 From: Matt Ray Date: Tue, 2 Nov 2021 17:25:59 +1100 Subject: [PATCH 2/4] Update docs/guides/installation-tce.md Co-authored-by: Sameer Naik --- docs/guides/installation-tce.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/installation-tce.md b/docs/guides/installation-tce.md index aa6254321..d0029ea5b 100644 --- a/docs/guides/installation-tce.md +++ b/docs/guides/installation-tce.md @@ -3,7 +3,7 @@ [Tanzu Community Edition](https://tanzucommunityedition.io/) is a free and open source Kubernetes platform provided by VMware. !!! Info "Tanzu Community Edition package repository versions" - The version of `knative-serving` currently in the Tanzu Community Edition package repository is version 0.22 which does not meet TriggerMesh's prerequisites. There is also currently not a `knative-eventing` package available, so please follow the instructions below. + The `knative-serving` version currently in the Tanzu Community Edition package repository is `0.22`, which does not meet TriggerMesh's minimum requirements. Additionally, at the time of writing, a `knative-eventing` package is not available in the repository. Follow the instructions below for installing a supported version of Knative. ## Installation From a0e096a1df3575aedab7f8d50105bc5417aa6851 Mon Sep 17 00:00:00 2001 From: Matt Ray Date: Tue, 2 Nov 2021 17:27:49 +1100 Subject: [PATCH 3/4] Update docs/guides/installation-tce.md Co-authored-by: Sameer Naik --- docs/guides/installation-tce.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/installation-tce.md b/docs/guides/installation-tce.md index d0029ea5b..41861e053 100644 --- a/docs/guides/installation-tce.md +++ b/docs/guides/installation-tce.md @@ -21,7 +21,7 @@ kubectl apply -f https://github.com/knative/serving/releases/download/v0.26.0/se ``` kubectl get pods -n knative-serving ``` -1. The version of Contour provided with the Tanzu Community Edition package repository is earlier than the version of `knative-serving` we have installed, so install it from YAML as well. +1. The version of Contour provided with the Tanzu Community Edition package repository is older than the version of `knative-serving` we have installed, so install it from YAML as well. ``` kubectl apply -f https://github.com/knative/net-contour/releases/download/v0.26.0/contour.yaml kubectl apply -f https://github.com/knative/net-contour/releases/download/v0.26.0/net-contour.yaml From b0b66c1f78ad91ee53b4e942e96c00c71b3d8a56 Mon Sep 17 00:00:00 2001 From: Matt Ray Date: Tue, 2 Nov 2021 17:37:03 +1100 Subject: [PATCH 4/4] Added spaces after snippets and updated contour pod check Signed-off-by: Matt Ray --- docs/guides/installation-tce.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/guides/installation-tce.md b/docs/guides/installation-tce.md index 41861e053..9d3931956 100644 --- a/docs/guides/installation-tce.md +++ b/docs/guides/installation-tce.md @@ -12,24 +12,30 @@ ``` kubectl config use-context -admin@ ``` + 1. Install Knative Serving following the [Installing Knative Serving using YAML files](https://knative.dev/docs/admin/install/serving/install-serving-with-yaml/) instructions. ``` kubectl apply -f https://github.com/knative/serving/releases/download/v0.26.0/serving-crds.yam kubectl apply -f https://github.com/knative/serving/releases/download/v0.26.0/serving-core.yaml ``` + 1. Wait until the pods have started before proceeding. ``` kubectl get pods -n knative-serving ``` + 1. The version of Contour provided with the Tanzu Community Edition package repository is older than the version of `knative-serving` we have installed, so install it from YAML as well. ``` kubectl apply -f https://github.com/knative/net-contour/releases/download/v0.26.0/contour.yaml kubectl apply -f https://github.com/knative/net-contour/releases/download/v0.26.0/net-contour.yaml ``` + 1. Verify the pods have started before proceeding. ``` -kubectl get pods -n | grep contour +kubectl get pods -n contour-external +kubectl get pods -n contour-internal ``` + 1. Configure Knative Serving to use Contour by default by running the command: ``` kubectl patch configmap/config-network \ @@ -37,16 +43,19 @@ kubectl patch configmap/config-network \ --type merge \ --patch '{"data":{"ingress.class":"contour.ingress.networking.knative.dev"}}' ``` + 1. Get the External IP address or CNAME by running the command: ``` kubectl --namespace contour-external get service envoy ``` + 1. You will need to configure DNS following the [Knative Serving DNS instructions](https://knative.dev/docs/admin/install/serving/install-serving-with-yaml/#configure-dns) for your requirements. 1. Install Knative Eventing following the [Installing Knative Eventing using YAML files](https://knative.dev/docs/admin/install/eventing/install-eventing-with-yaml/) instructions. ``` kubectl apply -f https://github.com/knative/eventing/releases/download/v0.26.0/eventing-crds.yaml kubectl apply -f https://github.com/knative/eventing/releases/download/v0.26.0/eventing-core.yaml ``` + 1. Verify your installation. ``` kubectl get pods -n knative-eventing