https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems
Kubernetes for beginners! A work-in-progress repo.
https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems
distributions kops kubernetes-management kubernetes-operations linux production-ready terraform
Last synced: about 2 months ago
JSON representation
Kubernetes for beginners! A work-in-progress repo.
- Host: GitHub
- URL: https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems
- Owner: ashuhatkar
- Created: 2024-08-15T03:59:16.000Z (10 months ago)
- Default Branch: develop
- Last Pushed: 2024-11-05T15:57:46.000Z (7 months ago)
- Last Synced: 2025-02-07T00:44:28.774Z (4 months ago)
- Topics: distributions, kops, kubernetes-management, kubernetes-operations, linux, production-ready, terraform
- Homepage:
- Size: 201 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kubernetes
## Kubernetes Cluster Architecture:

## Kube Master Node Components (Control plane)
| Component | Description |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **kube-apiserver** | This component exposes Kubernetes API to users allowing them to create API resources, run applications, and configure various parameters of the cluster. |
| **Etcd** | This is a data store used by Kubernetes to store all information about the cluster. It’s critical for keeping everything up to date. |
| **kube-scheduler** | This component is responsible for scheduling user workloads on the right infrastructure. When scheduling applications, kube-scheduler considers various factors such as available node resources, node health, and availability, as well as user-defined constraints. |
| **kube-controller-manager** | The component that manages API objects created by users. It makes sure that the actual state of the cluster always matches the desired state. |
| **cloud-controller-manager (opt)** | This component embraces various controllers, all of which interact with the cloud providers’ APIs. |## Kube Worker Node Components
| Component | Description |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **kubelet** | The kubelet is the primary “node agent” that runs on each node & manages the containers/pods running on each node |
| **Container Runtime** | A container runtime is software that executes containers and manages container images on a node. |
| **kube-proxy (opt)** | kube-proxy is a network proxy that runs on each node in your cluster. kube-proxy maintains network rules on nodes. These network rules allow network communication to your Pods from network sessions inside or outside of your cluster. |## Setup kubernetes cluster on EC2 instance using kOps
> [!NOTE]
> Sets up the latest kubernetes version:
>
> [install-kubernetes-with-kops-on-amzn-ec2](https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems/blob/develop/01-install/install-kubernetes-with-kops-on-amzn-ec2.md)
>
> [upgrade-kubernetes-with-kops-on-amzn-ec2](https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems/blob/develop/02-upgrade/upgrade-kubernetes-with-kops-on-amzn-ec2.md)
>
> [scaling-kubernetes-with-kops-on-amzn-ec2](https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems/blob/develop/03-scale/scaling-kubernetes-with-kops-on-amzn-ec2.md)
>
> [deleting-kubernetes-with-kops-on-amzn-ec2](https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems/blob/develop/04-delete/deleting-kubernetes-with-kops-on-amzn-ec2.md)## Manage kubernetes cluster using EKS and Terraform
> [!NOTE]
> Sets up the latest kubernetes version:
>
> [install-kubernetes-with-terraform-and-eks](https://github.com/ashuhatkar/ashulearn-provisioning-kubernetes-on-prod-systems/blob/develop/01-install/install-kubernetes-with-terraform-eks-on-amzn.md)