Link Search Menu Expand Document

Installation

The installation of Direktiv is a two step process:

  1. Installation of Knative
  2. Installation of Direktiv using helm

For testing and evaluation we are providing test images with the latest build.

Installation of Knative

This knative is a slightly modified version so the installation instructions from knative’s website don’t apply. Knative can be installed as helm chart or directly with YAML files:

# create namespace
kubectl create namespace direktiv # create namespace direktiv

# add helm repository
helm repo add direktiv https://charts.direktiv.io

# install
helm install knative direktiv/knative  

YAML installation

Following scripts from the Direktiv github repository have been provided to make the installation simpler.

The scripts can be used in the following way:

# Installing Knative Serving using YAML files
$ kubectl apply -f https://raw.githubusercontent.com/vorteil/direktiv/main/scripts/knative/serving-crds.yaml
$ kubectl apply -f https://raw.githubusercontent.com/vorteil/direktiv/main/scripts/knative/serving-core.yaml

# Install contour
$ kubectl apply -f https://raw.githubusercontent.com/vorteil/direktiv/main/scripts/knative/contour.yaml
$ kubectl apply -f https://raw.githubusercontent.com/vorteil/direktiv/main/scripts/knative/net-contour.yaml

$ kubectl apply -f https://raw.githubusercontent.com/vorteil/direktiv/main/scripts/knative/knative-default.yaml

$ kubectl patch configmap/config-network \
  --namespace knative-serving \
  --type merge \
  --patch '{"data":{"ingress.class":"contour.ingress.networking.knative.dev"}}'

After applying the scripts with kubectl apply -f all the pods in the namespaces knative-serving and contour-* should be in in either “Running” or “Completed” state.

The script ‘install-knative.sh’ in this folder will execute these commands.

Installation of Direktiv

The second step is installing Direktiv with helm:

# create namespace
kubectl create namespace direktiv # create namespace direktiv

# add helm repository
helm repo add direktiv https://charts.direktiv.io

# install
helm install -n direktiv direktiv direktiv/direktiv  

You should now be able to reach Direktiv at http://kubernetes-loadbalancer-ip:80.

To uninstall direktiv run:

helm uninstall direktiv -n direktiv

Install test server

For testing purposes pre-build public images are available on AWS in all regions and on Google Cloud. The image name is “direktiv-kube”.

On AWS it is listed as a public image and can easliy picked from the list of available images. On Google Cloud the image needs to be copied accross to the project which wants to use it.

gcloud compute images create direktiv-test --source-image=direktiv-kube --source-image-project=direktiv

The instance requirements are a minimum of 4 vCPUs and 8 GB of memory. It needs a few minutes to start due to the download of all containers needed to run kubernetes, knative and direktiv.

These machines are vorteil virtual machines and have no SSH access. Although access to kubernetes is not required it is still possible to get the kubeconfig information from the instance.

On the machine there is a server running serving the kubectl.yaml. Please be aware that this is a public available request and has no further protection.

# getting the yaml

curl http://IP_OF_INSTANCE:9090 > kubeconfig.yaml

# getting pods of the instance

kubectl --kubeconfig kubeconfig.yaml --insecure-skip-tls-verify=true  -s https://IP_OF_INSTANCE:6443 get pods


Copyright © 2021 Vorteil.io.