Skip to content

Deployment on Kubernetes

milanpro edited this page Mar 28, 2020 · 9 revisions

Kubernetes Cluster

For basic cluster installation/creation information go to this doc.

We have a cluster consisting of the following nodes:

To access the cluster add the following config to your ~/.kube/config:

clusters:
- cluster:
    certificate-authority-data: ADD MANUALLY
    server: https://192.168.30.20:6443
  name: mpci-cluster
contexts:
- context:
    cluster: mpci-cluster
    namespace: mpci
    user: mpci-cluster-admin
  name: mpci
users:
- name: mpci-cluster-admin
  user:
    client-certificate-data: ADD MANUALLY
    client-key-data: ADD MANUALLY

You can find the needed data in ~/.kube/config on the 3 cluster nodes.

We currently have two environments in different namespaces:

Name Acts as Namespace Access over
mpci staging mpci vm-mpws2019
porsche-mpci production porsche-mpci vm-mpws2018-proj and mpci.epic-hpi.de
mpci-ch1 chris' playground mpci-ch1 delos

Storage We do have a nfs-client storage class which is created by nfs-server-provisioner and stores our data in the chairs nfs share. Routing We use the nginx-ingress ingress controller to make in-cluster services accessible from the outside. We set the controller.service.externalIPs value to an array of the ips of our 3 nodes to make the cluster generally accessible from all of them.

Deployment

Run garden -env=[mpci|porsche-mpci] deploy to deploy these environments. The environments are defined in the garden.yml located in the project root directory.