Containers101 Flashcards
What is Kubernetes?
Kubernetes is an open source container orchestration tool developed by Google.
Describe what a “container” is.
Similar to a VM, a container has it’s own files stem, vCPU, memory, process space, dependencies, and more. Containers are decoupled from the underlying infrastructure, and portable across clouds and OS distributions.
What are the advantages of of containers over VMs?
Containers are inherently much lighter than a fully-featured OS, and are lightweight isolated processes that run on the operating system kernel.
VMs run on a single machine with the help of a hypervisor.
List some actions that can be performed using Kubernetes.
- Sharing resources
- Orchestrating containers across multiple hosts
- Installing new hardware configurations
- Running health checks and self-healing applications
- Scaling containerized applications
List the 12 Kubernetes components.
- kube-proxy
- kube-controller-manager
- kube-scheduler
- etcd
- kube-apiserver
- kubelet
- kubectl
- Node
- container runtime
- Persistent storage
- container-registry
- Pod
What is the purpose of kube-proxy?
Runs on every node in the cluster and maintains the network traffic between the Kubernetes resources.
What is the purpose of kube-controller-manager?
Governs the state of the cluster.
What is the purpose of kube-scheduler?
Allocates Pods to nodes.
What is the purpose of etcd?
Stores cluster data.
What is the purpose of kube-apiserver?
Validates and configures data for the API objects.
What is the purpose of kubelet?
Runs on nodes and reads the container manifests. Ensures that the defined containers have started and are running.
What is the purpose of kubectl?
Allows you to define how you want to run workloads. Use the kubectl command to interact with the kube-apiserver.
What is the purpose of a node?
A node is a physical machine or a VM in a kubernetes cluster. The control plane manages every node and schedules pods across the nodes in the Kubernetes cluster.
What is the purpose of container runtime?
Container runtime runs containers on a host operating system. You must install a container runtime on each node so that Pods can run on the node.
What is the purpose of persistent storage?
Stores the data even after the device is shut down. Kubernetes uses persistent volumes to store the application data.
What is the purpose of a container-registry?
Stores and accesses the container images.
What is the purpose of a pod?
The pod is the smallest logical unit in Kubernetes. A pod contains one or more containers to run in a worker node.
What is the purpose of of a custom resource?
A custom resource is an extension of Kubernetes API. You can customize Kubernetes clusters by using custom resources.
What is an operator?
Operators are software extensions which manage applications and their components with the help of custom resources.
What is the purpose of an operator?
An operator acts as a control loop which continuously compares the desired state of resources with the actual state of resources and puts actions in place to bring reality in line with the desired state.
List the three types of Kubernetes Resources.
- Service
- ReplicaSets
- Deployment
What is the purpose of a Service?
Kubernetes uses services to expose a running application on a set of pods.
What is the purpose of ReplicaSets?
Kubernetes uses the ReplicaSets to maintain the constant pod number.
What is the purpose of a Deployment?
A resource object that maintains the life cycle of an application.