Hi! As always, this is Vlad, and today I'd like to explore the topic of managing k8s resources using the CRD (Custom Resource Definition)
operator in a k8s cluster.
Sounds massive, doesn't it? 😄 Actually, it is. This is quite an extensive topic that I became closely familiar with while working on a product aimed at enabling developers to maintain k8s clusters themselves without the need for DevOps
specialists, or to reduce their number to the necessary minimum.
In my opinion, this article will be extremely useful and informative both for beginners who are just starting their journey in the world of Kubernetes, and for experienced professionals who already have practical experience working with Kubernetes API. The material is structured in such a way that every reader, regardless of their level of preparation, can gain valuable knowledge and practical advice about working with this powerful container orchestration platform. Docker and Kubernetes are written in Golang. This turns out to be a huge plus for gophers
regarding native integration with Kubernetes API, which provides extensive opportunities for business use.
I would like to describe each aspect of this interesting process as thoroughly as possible. I'm planning a series of three articles, each of which will introduce you to certain cycles of development and testing of k8s operators:
Kubernetes (k8s) is rapidly evolving and becoming increasingly popular for deploying and managing containerised applications. However, with the growing complexity of infrastructure and number of resources, certain challenges arise in managing them.
The main problems that developers face when working with k8s resources:
One of the effective solutions to these problems is creating custom Kubernetes operators.
Operator is an application that uses the Kubernetes API to manage custom resources (Custom Resource Definitions, CRD).
Operators are an important link in the chain of k8s resource management, as they allow: