From 56c9d3abcc53572c6dd58f296a804b7a5743f522 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 --- doc/install/install-kubernetes.md | 135 ++++++++++++++++++++++ doc/user-guides/secure-protect-connect.md | 2 +- 2 files changed, 136 insertions(+), 1 deletion(-) 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..f055739d0 --- /dev/null +++ b/doc/install/install-kubernetes.md @@ -0,0 +1,135 @@ +# 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 + +## 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.23.1/install.sh | bash -s v0.23.1 +``` + +### 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 -n kuadrant-system +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 - <