https://github.com/sagarkpanda/kubernetes_labs
Container Orchestration with Kubernetes
https://github.com/sagarkpanda/kubernetes_labs
container-orchestration devops kubernetes project
Last synced: 15 days ago
JSON representation
Container Orchestration with Kubernetes
- Host: GitHub
- URL: https://github.com/sagarkpanda/kubernetes_labs
- Owner: sagarkpanda
- Created: 2023-07-06T11:10:41.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-11T07:14:20.000Z (over 1 year ago)
- Last Synced: 2024-11-11T08:20:44.704Z (over 1 year ago)
- Topics: container-orchestration, devops, kubernetes, project
- Language: YAML
- Homepage:
- Size: 80.1 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Container Orchestration with Kubernetes
Read the detailed article on:
What is Kubernetes:
Kubernetes, also known as K8s, is an open-source platform to automate deployment, scaling, and management of containerized applications or containers.
Containers are lightweight packages of an application including all the dependencies. Docker is one such platform for creating containerised applications.
Features of Kubernetes:
Container orchestration:
--------------
K8s automates the deployment and management of containers across a cluster of machines. It handles tasks such as container scheduling, scaling, load balancing, and rolling updates.
Service discovery and load balancing:
---------------------
K8s provides a built-in service discovery mechanism that allows containers to find and communicate with each other. It also offers load balancing capabilities to distribute incoming traffic across multiple instances of an application.
Scaling and self-healing:
------------------
K8s enables automatic scaling of application instances based on CPU usage, memory utilization, or custom metrics. It can also automatically restart containers that have failed, ensuring high availability of applications.
Configuration management:
------------------
K8s allows you to define and manage application configurations using declarative manifests. You can specify the desired state of your application, and Kubernetes will work to ensure that the actual state matches the desired state.
Storage orchestration:
-----------------
K8s provides a way to manage persistent storage volumes and attach them to containers as needed. This allows applications to store and retrieve data even when containers are rescheduled or restarted.
Health monitoring and logging:
---------------------
K8s offers tools for monitoring the health and performance of applications running in the cluster. It integrates with various logging and monitoring systems to collect and analyze container and application metrics.
Architecture of K8s:
```
+-----------------------+
| Master Node |
+-----------------------+
| |
| +----------------+ |
| | API Server | |
| +----------------+ |
| | |
| | |
| +----------------+ |
| | etcd | |
| +----------------+ |
| | |
| | |
| +----------------+ |
| | Controller Mgr | |
| +----------------+ |
| | |
| | |
| +----------------+ |
| | Scheduler | |
| +----------------+ |
+-----------------------+
|
|
+-------------------------+
| |
+------------+ +------------+
| Worker Node| | Worker Node|
+------------+ +------------+
| Kubelet | | Kubelet |
| Container | | Container |
| Runtime | | Runtime |
| kube-proxy | | kube-proxy |
+------------+ +------------+
```