Die Konferenz für Continuous Delivery und DevOps
Mannheim, Congress Center Rosengarten,
14.-17. November 2017

Continuous Lifecycle 2017 » Programm »

// Developing Operators for Kubernetes

The aim of this workshop is to develop an operator which is a custom controller for automating tasks on Kubernetes clusters. Developing operators is an increasingly popular approach in the Kubernetes community. Many operators have been developed including for etcd, Prometheus, and Kafka.

Agenda


  • from 10.00 welcome desk open – coffee and snacks

  • 11.00 a.m.: start

    • Explain what is an operator in the Kubernetes world.

    • Explain CRD (Custom Resource Definition), TPR (Third Party Resource) replacement.

    • Explain the task we want to complete during the workshop.

    • Discussion and questions about the operators and the task.

  • 12.30 p.m. - 1.30 p.m.: lunchbreak

    • Implement the “noop” operator capable of creating/consuming CRD/CRO using client-go library (https://github.com/kubernetes/client-go).

    • Questions.

    • Present working solution.

  • 3.00 p.m. - 3.15 p.m.: coffeebreak

    • Implement the operator logic.

    • Questions.

    • Present working solution.

  • 4.30 p.m. - 4.45 p.m.: coffeebreak

    • Continue with the exercise.

    • Or if time: Discuss operatorkit library https://github.com/giantswarm/operatorkit and how it can make implementing the operator easier.

  • appr. 6.00 p.m. : end



Technical requirements:


Laptop with installed software:

Please make sure the cluster created by the minikube is working. You can check that by issuing kubectl cluster-info. It should look like:

  • $ kubectl config use-context minikube Switched to context "minikube".

  • $ kubectl cluster-info Kubernetes master is running at
    [https://192.168.64.21:8443](https://192.168.64.21:8443)

  • To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

Skills
* The workshop exercises will use Go but experience in any modern language such as Java, or Python is sufficient.
* Some experience or knowledge of Kubernetes is needed, as this is an intermediate workshop and not an introduction to Kubernetes.
* A laptop with WiFi and Go 1.8, Docker and the latest version of Minikube installed is necessary to participate.

Lernziele
During this workshop the attendee will automate tasks within Kubernetes by creating an operator. An operator is a custom controller that responds to events on a Kubernetes cluster. The attendee will also define third party resources which are a way of extending the Kubernetes API.

// Referenten

Paweł Kopiczko Paweł Kopiczko

is a Platform Engineer at Giant Swarm where he works on Giantnetes - a platform for running managed Kubernetes clusters on bare metal and in the cloud.


Ross Fairbanks Ross Fairbanks

is a Platform Engineer at Giant Swarm where he works on Giantnetes - a platform for running managed Kubernetes clusters on bare metal and in the cloud.