Skip to content

Kubernetes Concepts

Posted on:August 19, 2023 at 10:20 PM

1. What is Kubernetes?

1.1 History of deployment

Untitled.png

Deployment methods have gone through 3 eras:

Each step means further use of resources.

1.2 What does Kubenetes used for?

Kubenetes = Container Deployment Organizor

It provides the following functions:

Glossary
(1) rollouts and rollbacks
(2) self-healing
(3) configuration

2. Kubernetes Components

2.1 Resource organization level

To understand how Kubernetes organize and manage resources, first introducing the following Resources Organized Concepts(small scope to big one).

Assuming that we have an online store, it provided abilities to create accounts, search and buy stuff, pay for the bill… If we use Kubernetes to build and manage this project, it will be like:

Untitled.png

2.1 How does K8S work?

2.1.1 Control Panel: Cluster-scope Manager

In Cluster scope, Kubenetes inject a built-in node named Control Panel to manage node/pod/container life cycle.

Untitled.png

Control Panel has these components:

In most cases, All control panel components is deployed on the same machine. But there is also Highly Available clusters option for you to choose.

2.1.2 Node Components: Node-scope Manager

Node components:

Consist of:

3 Kubernetes Objects

3.1 Concepts

Kubernetes Object is a data model in Kubernetes to describe resources. It can be described in .yaml format, illustrating configuration including container details(but very similar).

Kubernetes Object is logically presented as a container in the runtime, but meanwhile it contains a public Kubernetes machenism to maintaining container running well(healthy and in accord with the Kubernetes Object Yaml File)

Kubernetes API is provided by control panel, providing Web API to multipulate resources. Resources are in Kubernetes Object format.

3.2 Object Spec and Status

pods

4 Workloads

workload = kubernetes resource

4.1 Pod

4.1.1 What is Pod

4.1.2 Pod Template


Custom Resource Defination

https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/

CRD - defination

CRO - instance