New container orchestration tools like Kubernetes are changing the DevOps approach to configuration management and deployment at scale.
You might be thinking that Kubernetes does not require configuration management in that sense. After all, you add all the requirements to the Docker image and let Kubernetes do the rest. But, Kubrenetes is not about images and containers only, you have other components that are built around containers like
If you like to know Kubernetes CM and role of traditional CM, then this document helps.
Configuration management is a practice used environment deployment and replication. They use templates to automatically deploy components with different configurations depending on parameterized values.
While a traditional Configuration Management tool is only concerned with what runs inside the instance, a Kubernetes Configuration Management tool is responsible for what gets deployed to the instance as well as the infrastructure that surrounds this deployment and making it scalable.
Chef
Ansible
Chef and Ansible are traiditionally widely used CM tools. The goal of using a solution like Chef or Ansible is to automate the target state configuration of a particular machine, VM, or even container.
However Solutions such as Chef and Ansible are not built to handle interactions between different machines and microservices. For example, you cannot force Chef to run only 5 database servers at any given time, and scale them up when CPU usage reached 90%, then scale them back down to 5 when CPU usage is lower than 20% in the last 30 minutes.
It is used to manage and configure your Kubernetes cluster. It helps automate processes like installing, configuring, upgrading, and removing k8s resources.
K8s Configmap
K8s Secrets
Key items are
fully automated features you need, without the configuration hassles
Bringing up environments quickly from one or more templates
Being able to replicate those environments easily by changing a few parameters.
Security
Automated backup,
recovery and restore
Multi-cloud strategy is the key. This involves extensive configuration of Kubernetes and its underlying infrastructure.
Early detection and intervention is essential to preventing disasters. If you can’t decipher what Kubernetes is telling you, you have a problem.
By incorporating automated intelligent monitoring and alerts, such a solution can provide key information on status, errors, events, and warnings so that your team has the insight it needs to take action.
For example, Projects like Kubespray have used Ansible for custom Kubernetes cluster builds and are compatible with dozens of different infrastructure arrangements.
If you're running inside a private cloud, or on bare metal servers, you will need a way to install Kubernetes and manage individual servers in the cluster. Ansible has a proven track record of being able to orchestrate multi-server applications, and Kubernetes itself is a multi-server application—which happens to manage one or thousands of other multi-server applications through containerization.
Ansible can build and manage containers using Dockerfiles, sure, but Ansible is also very good at building container images directly—and nowadays, you don't even need to install Docker! There are lighter-weight open source build tools like Buildah that integrate with an Ansible container build tool ansible-bender to build containers using more expressive and maintainable Ansible Playbooks.
Using Ansible to build operators with the Operator SDK, you can encode all your application's lifecycle management (deployment, upgrades, backups, etc.) inside of a Kubernetes operator to be placed in any Kubernetes cluster—even if you don't use Ansible to manage anything else in that cluster.
Rather than asking developers and ops teams to learn Go or another specialized language to maintain an operator, you can build it with YAML and Ansible.
Check it Refer: https://redhat-connect.gitbook.io/certified-operator-guide/ansible-operators/building-an-ansible-operator
To the untrained eye, Kubernetes looks like it can be up and running in hours or days, but this is far from true for production environments where additional functionality is needed – security, high availability, disaster recovery, backups, and maintenance – everything you need to make Kubernetes “production-ready.”
https://kublr.com/blog/configuration-management-chef-ansible-and-kubernetes/
https://eastbanctech.com/technology-insights/what-the-tech/how-to-choose-the-right-kubernetes-management-platform/
https://www.ansible.com/blog/how-useful-is-ansible-in-a-cloud-native-kubernetes-environment
https://www.magalix.com/blog/kubernetes-configuration-management-101
https://kubernetes.io/blog/2016/04/configuration-management-with-containers/
https://www.bluematador.com/blog/using-helm-for-kubernetes-management-and-configuration
https://images.app.goo.gl/4cV6ALrYFYpEJorn9
https://images.app.goo.gl/GHFs1QVcrmp3byXJ9
https://images.app.goo.gl/mZMX2Bd9dGJkhQwCA