First Keptn Demo

SOURCE: https://dev.to/gabrieltanner/modern-continuous-delivery-on-kubernetes-for-developers-5chf

Prerequisites

Installation

Create KIND cluster

kind create cluster --config kind.yaml

Install ISTIO with Istio Operator

What is ISTIO Operator

https://istio.io/latest/docs/ops/diagnostic-tools/istioctl/#install-hahahugoshortcode-s2-hbhb

IstioOperator Options

curl -sL https://istio.io/downloadIstioctl | sh -

export PATH=$PATH:$HOME/.istioctl/bin

Install Operator:

istioctl operator init

Get default profile:

./istio-1.9.2/bin/istioctl profile dump > default.yaml

Install IngressGateway as NodePort Service so that we can access the service from localhost

Create the example profile with IngressGateway is NodePort.

  • Here, we map the Service's NodePort to KIND's containerPort, so we can route "hostPort -> containerPort -> NodePort -> targetPort (pods)). XXX: this means we should have set KIND PortMappings before this step, if not, reset KIND by destroy/create the cluster.

  • We also use overlays to patch the PodDisruptionBudget's spec.minAvailable = 0 because we only have single Pod for IngressGW.

  • Verify the example profile:

    istioctl manifest generate -f manifests/example.yaml

Start to install the example profile:

kubectl create ns istio-system

kubectl apply -f manifests/example.yaml

Verify the Istio installation.

Install with ISTIOCTL

curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.9.2 sh -

./istio-1.9.2/bin/istioctl install

Install Keptn v0.8.1

curl -sL https://get.keptn.sh | KEPTN_VERSION=0.8.1 bash

In this case you will install Keptn by using the continuous-delivery use-case.

keptn install --endpoint-service-type=ClusterIP --use-case=continuous-delivery

Configure Keptn with ISTIO:

curl -o configure-istio.sh https://raw.githubusercontent.com/keptn/examples/release-0.8.1/istio-configuration/configure-istio.sh

chmod +x configure-istio.sh
./configure-istio.sh

Thanks to..

https://www.danielstechblog.io/running-istio-on-kind-kubernetes-in-docker/