Kubernetes Concepts
Kubernetes enables you to run your application on computer nodes as if those nodes were a single computer.
It abstract the underlying infrastructure, thus, simplifying development, deployment and management.
It can be thought of as an operating system for the cluster.
It relieves the application developer from implementing certain infrastructure-related services into their apps. At the same time, it allows the application developer to take advantage of features provided by a cloud-native platform in a standardised manner.
Some of the features that Kubernetes provides are centralised configuration, service discovery, scaling, load-balancing, self-healing and even leader election.
Config Maps & Secrets
Apps can be configured by - passing command line arguments to containers - setting custom environment variables for each container - mounting configuration files into containers