DevOps Flashcards
What is Kubernetes (k8s)?
An open source container orchestration tool
What features do container orchestration tools offer?
- High availability
- High scalability
- Disaster recovery
What are the three components in the Kubernetes architecture and how are they related?
Control Plane, Workers Nodes, and Virtual Network. Applications run in the Worker Nodes and the Control Plane is responsible for the Kubernetes processes. Each Worker Node has a Kubelet process running on it in order to communicate with the cluster. The Virtual Network allows the Control Plane and Worker Nodes to communicate and creates one unified machine
What are the components of the control pane?
- API server (api, entry point to the k8s cluster)
- Controller manager (c-m, keeps track of what’s happening in the cluster)
- Scheduler (sched, decides on which (Worker) Node a new Pod should be scheduled)
- etcd (key value store that stores the current state of the cluster)
What is a Pod (pod) in Kubernetes?
A Pod is the smallest unit in Kubernetes and is an abstraction over a container. Usually, a Pod contains one application. Each Pod gets its own IP address. In the case of Pod recreation, a new IP address is assigned
What is a Service (svc) in Kubernetes?
A Service can be assigned to a Pod and has a permanent IP address. If a Pod dies, the service will retain its IP address. There are Internal Services (default) and External Services
What is an Ingress (ing) in Kubernetes?
An API object that manages external access to the services in a cluster, typically HTTP
What is a ConfigMap (cm) in Kubernetes?
An external configuration of the application. It is used to store non-confidential data in key-value pairs, such as an URL to a database
What is a Secret (secret) in Kubernetes?
Similar to a ConfigMap, but contains confidential data. Secrets should not be checked into a code repository
What is a Volume (vol) in Kubernetes?
A Volume attaches physical storage to a Pod. So, in the case of a Pod restart, the data does not get lost. The storage can be within the cluster or outside of the cluster
What is a Deployment (deploy) in Kubernetes?
A blueprint for Pods, a template for creating Pods. The number of requested replicas of a Pod are mentioned in the Deployment
What is a StatefulSet (sts) in Kubernetes?
Databases cannot be replicated through Deployments, because they have a state. Instead, StatefulSets are used to replicate database Pods. In other words, StatefulSets are for stateful apps
What is the difference between Kubernetes and Red Hat OpenShift?
OpenShift is Kubernetes-based container orchestration platform that provides additional enterprise-grade features and a simpler, more streamlined experience for deploying and managing containerized applications
What is Argo CD?
It is a declarative, GitOps continuous delivery tool for Kubernetes. It follows the GitOps pattern of using Git repositories as the source of truth for defining the desired application state It is implemented as a kubernetes controller which continuously monitors running applications and compares the current, live state against the desired target state (as specified in the Git repo)