How Do You Troubleshoot the Kubernetes Pods Error “CrashLoopBackOff”?

Problem scenario
You have a problem with Pods not starting up. They have a status of “CrashLoopBackOff”. What should you do?

Possible Solution #1
Can the Pods start in a lower environment with minimal utilization? Being able to reproduce the problem can help. Trying the YAML in an optimal environment can help you pinpoint the error (e.g., traffic may be high in a production environment).

How Do You Troubleshoot a PVC That Appears to Still Be in Use?

Problem scenario
You are working with Kubernetes. A PVC cannot be mounted. It seems like the Persistent Volume is still in use. What should you do?

Possible Solution #1
Find out about the volume attachments with these commands:

kubectl get volumeattachment
kubectl get pv

Find the Pods that use it. Is unmounting working? Perhaps the unmounting process has a problem.

How Are Backoff Strategies (with Client Retries) Helpful?

Question
Sometimes a client attempts to connect to or use an application. Sometimes a Kubernetes Pod is being created and tries to pull down an image. Sometimes a network device tries to establish a connection to an endpoint. These attempts can initially fail. Retries can be attempted in rapid succession. To mitigate excessive attempts in a short amount of time (to not waste resources or cause a denial-of-service attack),

How Do You Use Custom Resource Definitions in Kubernetes?

Problem scenario
You want to extend Kubernetes’ functionality. You want to use CustomResourceDefinitions. You can view API resources by running “kubectl api-resources”. You want to add to the list. How do you use a CRD?

Solution

  1. Create a file called contint.yaml with the following content:

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: contintexamples.continualintegration.com
spec:
group: continualintegration.com
names:
kind: ContintExample
plural: contintexamples
listKind: ContintExampleList
singular: contintexample
scope: Namespaced
versions:
– name: v1
# Each version can be enabled/disabled by Served flag. …

How Do You Troubleshoot OOM Errors with Restarting Pods in Kubernetes?

Problem scenario
You find out-of-memory (aka OOM) errors in Kubernetes. The node seems healthy. The pods keep restarting. What should you do?

Possible Solution #1
Are you using a burstable quality of service (aka QoS) with the pods? There may be a non-pod-specific reason and the burstable Pods are being starved of resources. The node may be getting requests for other pods with a superior quality of service.

In I.T., what is a Schema?

Question
In computing, what is the definition of a schema?

Answer / schema disambiguation
Outside of the I.T. realm, Merriam-Webster’s Dictionary (11th Edition, on page 1110) defines schema as “a diagrammatic presentation; broadly: a structured framework or plan: outline.” This definition must have influenced the appropriation of the word to refer to concepts in I.T..

For Kubernetes
“Schemas are the set of JSON files for various Kubernetes versions,

Is Kubernetes Ending Support for Docker?

Problem scenario
You read that Kubernetes is ending support for Docker. What does this mean for Kubernetes users?

Solution
Probably nothing for most Kubernetes users. Kubernetes is going to support Open Container Initiative images.

Docker is more than a container runtime; its container runtime is containerd (according to twoardsdatascience.com). We expect containerd to be supported for a long time.

What is a Mutating Webhook?

Question
In the context of Kubernetes, what is a mutating webhook?

Answer
They are an API invocation that make changes to resources (and in some cases before they are created per medium.com).

“MutatingAdmissionWebhook is one of easiest ways of extending Kubernetes with new policy controls and resources mutation and a host of other options.” (Taken from medium.com )

“Mutating controllers may modify related objects to the requests they admit;