From 5a08791b540b868ce8ea56f7e51d06388cdaf9b9 Mon Sep 17 00:00:00 2001 From: Jason Madigan Date: Thu, 20 Jun 2024 13:15:21 +0100 Subject: [PATCH] Bare Kubernetes install guide Signed-off-by: Jason Madigan --- doc/install/install-kubernetes.md | 137 ++++++++++++++++++++++++++++++ doc/install/install-openshift.md | 5 +- 2 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 doc/install/install-kubernetes.md diff --git a/doc/install/install-kubernetes.md b/doc/install/install-kubernetes.md new file mode 100644 index 000000000..b8eda28c6 --- /dev/null +++ b/doc/install/install-kubernetes.md @@ -0,0 +1,137 @@ +# Install Kuadrant on a Kubernetes cluster + +!!! note + + You must perform these steps on each Kubernetes cluster where you want to use Kuadrant. + +## Prerequisites + +- Access to a Kubernetes cluster, with `kubeadmin` or an account with similar permissions +- `cert-manager` [installed](https://cert-manager.io/docs/installation/) + +## Procedure + +This guide will show you how to install Kuadrant onto a bare Kubernetes cluster. + +Alternatively, if you are looking instead for a way to set up Kuadrant locally to evaluate or develop, consider running the kind & Kubernetes [quickstart script](https://docs.kuadrant.io/latest/getting-started-single-cluster/). + +### Install Gateway API + +```bash +kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.1.0/standard-install.yaml +``` + +### Install [OLM](https://olm.operatorframework.io/) + +!!! note + + Currently, we recommend installing our operator via OLM. We plan to support Helm soon. + +```bash +curl -sL https://github.com/operator-framework/operator-lifecycle-manager/releases/download/v0.28.0/install.sh | bash -s v0.28.0 +``` + +### Install Istio as a Gateway API provider + +!!! note + + There are several ways to install Istio (via `istioctl`, Helm chart or Operator) - this is just an example for starting from a bare Kubernetes cluster. + +```bash +curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.21.4 sh - +./istio-1.21.4/bin/istioctl install --set profile=minimal +./istio-1.21.4/bin/istioctl operator init +kubectl apply -f https://raw.githubusercontent.com/Kuadrant/kuadrant-operator/main/config/dependencies/istio/istio-operator.yaml +``` + +### Install Kuadrant + +```bash +kubectl create -f https://operatorhub.io/install/kuadrant-operator.yaml +kubectl get crd --watch | grep -m 1 "kuadrants.kuadrant.io" +``` + +### Request a Kuadrant instance + +```bash +kubectl create namespace kuadrant-system +kubectl -n kuadrant-system apply -f - <