Kubernetes ecosystem

  • supporting components
  • application lifecycle support

Supporting components for the private cluster

Publication of services

  • load balancer (metalb)
  • certificate management (cert-manager)
  • ingress (haproxy, nginx)

Cluster operation

  • Monitoring (Prometeus)
  • Authentication (keycloak)
  • docker registry
  • service mesh (istio)
  • CI CD - continous integration, continous deployment (jenkins)

Status management

  • object storage (minio)
  • relational database (postgres, mariadb)
  • distributed fs (nfs, ceph)

K8s application lifecycle support

Life cycle

  • Application deployment preparation, script writing.
  • Application deployment.
  • Backup.
  • Application update, configuration change.

https://polarsquad.com/blog/kubernetes-second-day-operations

Zero day: (Zero day)

  • Application architecture design, preparation of components and scripts,

Day One: (Day 1)

Application installation and configuration

Day two:

Everything else - backup, scaling, update, configuration.

Kompose

will overwrite Docker Compose to Kubernetes

Helm

Chart: Map

Yaml configuration is complicated.

Helmet 2 Helmet 3

YAML template system

Example:

Zero To Jupyterhub

Kubernetes Operator

CustomResourceDefinition - custom k8s type

  • Automates application operations
  • Changes application configuration

The operator can:

  • Deploy the application on demand
  • perform and restore a backup
  • upgrade and related steps
  • publish the service
  • modify the configuration of the distributed application

https://kubernetes.io/docs/concepts/extend-kubernetes/operator/

How does the operator look like?

  • A custom object that is configurable
  • Container with code for custom object

Example

Minio operator

https://github.com/minio/operator

Finding ready-made deployments

It is good to use the work of other people.

https://artifacthub.io

Reload?