2. Hello! I am Ana
Java Champion, Certified Architect
Developer Advocate @ RedHat
“Control” enthusiast
@ammbra1508
3. ”Know well what leads you forward and what holds you
back, and choose the path that leads to wisdom”
@ammbra1508
Buddha
4. (Some) Kubernetes Features
@ammbra1508
Automated rollouts and rollbacks
Batch execution
Self-healing
Horizontal scaling
Service discovery and Load balancing
Secret and configuration management
Storage orchestration
5. The Story of a Microservice
@ammbra1508
</>
Application code Docker file
Kubernetes objects
in yaml format
6. The Story of a Microservice
@ammbra1508
</>
Application code Docker file
Kubernetes objects
in yaml format
7. The Story of a Microservice
@ammbra1508
</>
Application code Docker file
Kubernetes objects
in yaml format
8. Kubernetes Package Manager
@ammbra1508
Manage and update multiple
Kubernetes configurations
templates Deploy many configs as a
SINGLE application
Parametrize for multiple
environments support
10. Helm Advantages
@ammbra1508
Check
In a template, you can check nested values at every
level
Deploy
Many configurations can be deployed through a single
chart instance.
Separate Non-final values are separated from the actual objects.
Prototype Easily prototype an application installation.
11. Distinctive Helm Aspects (1)
@ammbra1508
deployment.yaml
Reusability is encouraged via include, _helpers.tpl, tpl
Automatically roll deployments via annotations
_helpers.tpl
12. Distinctive Helm Aspects (2)
@ammbra1508
deployment.yaml
Automatically roll deployments via annotations
Instruct Helm to keep resources upon uninstall
service.yaml
15. Benefits of using Operators
@ammbra1508
Package human operational knowledge
Clients like kubectl and dashboard automatically work with Operators
The resources created via Operators are secured and use HTTPS
Can be used to create backups or for configuring your cluster
Cloud native tools can be maintained via operators
16. What’s next?
@ammbra1508
Maintain Maintained the PostgreSQL database via the operator.
Isolate Kept Helm charts for installing the application.
Deploy Followed the deployment instructions.
Decide https://postgres-operator.readthedocs.io/en/latest/
Discover https://operatorhub.io/
17. Create an Operator
@ammbra1508
KUDO (Kubernetes Universal Declarative Operator)
kubebuilder
Metacontroller along with WebHooks that you implement yourself
Operator Framework
21. Create an Operator from Helm Charts
@ammbra1508
$ helm repo add store https://ammbra.github.io/helm-vs-operators/
$ mkdir operator
$ cd operator
$ operator-sdk init --plugins helm --helm-chart store/ticket-store
$ kubectl apply -f config/samples/charts_v1alpha1_ticketstore.yaml
22. Takeaways
@ammbra1508
Helm Operators
Have a custom packaging format. Include many complex configuration data
within the package.
You are deploying a stateless application and
are happy with its settings.
Can deploy a stateful application and
maintain it in a completely automatic way.
Great for checking an application
deployment via its release information.
Can deploy an application configured in a
particular way across a cluster to achieve
high availability.
Have annotations that can trigger automatic
deployments.
Useful for operations related to backups or
cluster configuration.