# akramibm/kubernetes architecture

> Architecture diagram of the GitHub repository akramibm/kubernetes, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/akramibm/kubernetes
- Repository: https://github.com/akramibm/kubernetes

## Overview

This repository is a hands-on Kubernetes learning collection: its day-named directories contain manifests and small web-image examples for deploying, scaling, exposing, updating, and scheduling workloads. The principal workflow is a learner using an example manifest to configure a Kubernetes cluster. The tree identifies the topics and some related examples, but no README content or source excerpts were supplied, so relationships among individual resources are not inferred from filenames alone.

Main entry points: [`Day-2-workernode-deployements-pod-replicaset-Deployement/pod.yml`](https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/pod.yml) (Pod example), [`Day-2-workernode-deployements-pod-replicaset-Deployement/replicaset.yml`](https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/replicaset.yml) (ReplicaSet example), [`Day-2-workernode-deployements-pod-replicaset-Deployement/Deployemnt.yml`](https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/Deployemnt.yml) (Deployment example), [`Day-3-Cluster-autoscaleer/deployment.yaml`](https://github.com/akramibm/kubernetes/blob/main/Day-3-Cluster-autoscaleer/deployment.yaml) (Cluster autoscaling)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workloads["Workloads and scaling"]
  node_pod["Pod example<br/>[pod.yml]"]
  node_replicaset["ReplicaSet example<br/>[replicaset.yml]"]
  node_deployment["Deployment example<br/>[Deployemnt.yml]"]
  node_clusterautoscale["Cluster autoscaling<br/>[deployment.yaml]"]
  node_hpa["Horizontal pod autoscaling<br/>[HPA.yml]"]
  node_hpa_deployment["Autoscaled deployment<br/>[Deployement.yml]"]
  node_hpa_service["Autoscaling service<br/>[Service.yml]"]
end

subgraph group_networking["Services and ingress"]
  node_clusterip["ClusterIP service<br/>[ClusterIP.yml]"]
  node_nodeport["NodePort service<br/>[Nodeport.yml]"]
  node_loadbalancer["LoadBalancer service<br/>[LoadBalancer.yml]"]
  node_ingress_paths["Path-based ingress<br/>[ingress.yml]"]
  node_ingress_practice["Ingress practice<br/>[ingress.yml]"]
end

subgraph group_delivery["Delivery and releases"]
  node_argocd["Argo CD example<br/>[argo.yml]"]
  node_argocd_deploy["Argo CD deployment<br/>[deploy.yml]"]
  node_ecr_deploy["ECR deployment<br/>[Deployment.yml]"]
  node_eks_deploy["ECR on EKS<br/>[Deployment.yml]"]
  node_rolling["Rolling update"]
  node_recreate["Recreate update"]
  node_bluegreen["Blue-green release"]
  node_canary["Canary release"]
end

subgraph group_scheduling["Pod scheduling"]
  node_daemonset["DaemonSet example<br/>[daemonset.yaml]"]
  node_node_affinity["Node affinity"]
  node_node_selector["Node selector<br/>[nodeselector.yaml]"]
  node_taints["Taints and tolerations"]
end

node_learner(("Learner"))
node_cluster{{"Kubernetes cluster"}}

node_learner -->|"studies example"| node_pod
node_learner -->|"studies example"| node_replicaset
node_learner -->|"studies example"| node_deployment
node_learner -->|"studies example"| node_clusterautoscale
node_learner -->|"studies example"| node_hpa
node_learner -->|"studies example"| node_clusterip
node_learner -->|"studies example"| node_nodeport
node_learner -->|"studies example"| node_loadbalancer
node_learner -->|"studies example"| node_ingress_paths
node_learner -->|"studies example"| node_argocd
node_learner -->|"studies example"| node_ecr_deploy
node_learner -->|"studies example"| node_rolling
node_learner -->|"studies example"| node_recreate
node_learner -->|"studies example"| node_bluegreen
node_learner -->|"studies example"| node_canary
node_learner -->|"studies example"| node_daemonset
node_learner -->|"studies example"| node_node_affinity
node_learner -->|"studies example"| node_node_selector
node_learner -->|"studies example"| node_taints

click node_pod "https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/pod.yml"
click node_replicaset "https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/replicaset.yml"
click node_deployment "https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/Deployemnt.yml"
click node_clusterautoscale "https://github.com/akramibm/kubernetes/blob/main/Day-3-Cluster-autoscaleer/deployment.yaml"
click node_hpa "https://github.com/akramibm/kubernetes/blob/main/Day-5-Horizontal-pod-auto-scaling/HPA.yml"
click node_hpa_deployment "https://github.com/akramibm/kubernetes/blob/main/Day-5-Horizontal-pod-auto-scaling/Deployement.yml"
click node_hpa_service "https://github.com/akramibm/kubernetes/blob/main/Day-5-Horizontal-pod-auto-scaling/Service.yml"
click node_clusterip "https://github.com/akramibm/kubernetes/blob/main/Day-4-Service-clusterIp-Nodeport-LoadBalancer/ClusterIP.yml"
click node_nodeport "https://github.com/akramibm/kubernetes/blob/main/Day-4-Service-clusterIp-Nodeport-LoadBalancer/Nodeport.yml"
click node_loadbalancer "https://github.com/akramibm/kubernetes/blob/main/Day-4-Service-clusterIp-Nodeport-LoadBalancer/LoadBalancer.yml"
click node_ingress_paths "https://github.com/akramibm/kubernetes/blob/main/Day-7-Ingress-Path-Base-Deployment/k8s-files/ingress.yml"
click node_ingress_practice "https://github.com/akramibm/kubernetes/blob/main/Day-7-ingresscontroller-practice/ingress.yml"
click node_argocd "https://github.com/akramibm/kubernetes/blob/main/Day-6-ArgoCD/argoyml/argo.yml"
click node_argocd_deploy "https://github.com/akramibm/kubernetes/blob/main/Day-6-ArgoCD/deploy.yml"
click node_ecr_deploy "https://github.com/akramibm/kubernetes/blob/main/Day-6-sample-deployment-docker-ecr/Deployment.yml"
click node_eks_deploy "https://github.com/akramibm/kubernetes/blob/main/Day-6-sample-deployment-docker-ecr-eks/Deployment.yml"
click node_daemonset "https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/daemonset.yaml"
click node_node_affinity "https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/node-affinity-required.yaml"
click node_node_selector "https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/nodeselector.yaml"
click node_taints "https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/taint_tolerations.yaml"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_pod,node_replicaset,node_deployment,node_clusterautoscale,node_hpa,node_hpa_deployment,node_hpa_service toneBlue
class node_clusterip,node_nodeport,node_loadbalancer,node_ingress_paths,node_ingress_practice toneAmber
class node_argocd,node_argocd_deploy,node_ecr_deploy,node_eks_deploy,node_rolling,node_recreate,node_bluegreen,node_canary toneMint
class node_daemonset,node_node_affinity,node_node_selector,node_taints toneRose
class node_learner,node_cluster toneIndigo
```

## Components

### Workloads and scaling

- [Pod example](https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/pod.yml): `Day-2-workernode-deployements-pod-replicaset-Deployement/pod.yml`
- [ReplicaSet example](https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/replicaset.yml): `Day-2-workernode-deployements-pod-replicaset-Deployement/replicaset.yml`
- [Deployment example](https://github.com/akramibm/kubernetes/blob/main/Day-2-workernode-deployements-pod-replicaset-Deployement/Deployemnt.yml): `Day-2-workernode-deployements-pod-replicaset-Deployement/Deployemnt.yml`
- [Cluster autoscaling](https://github.com/akramibm/kubernetes/blob/main/Day-3-Cluster-autoscaleer/deployment.yaml): `Day-3-Cluster-autoscaleer/deployment.yaml`
- [Horizontal pod autoscaling](https://github.com/akramibm/kubernetes/blob/main/Day-5-Horizontal-pod-auto-scaling/HPA.yml): `Day-5-Horizontal-pod-auto-scaling/HPA.yml`
- [Autoscaled deployment](https://github.com/akramibm/kubernetes/blob/main/Day-5-Horizontal-pod-auto-scaling/Deployement.yml): `Day-5-Horizontal-pod-auto-scaling/Deployement.yml`
- [Autoscaling service](https://github.com/akramibm/kubernetes/blob/main/Day-5-Horizontal-pod-auto-scaling/Service.yml): `Day-5-Horizontal-pod-auto-scaling/Service.yml`

### Services and ingress

- [ClusterIP service](https://github.com/akramibm/kubernetes/blob/main/Day-4-Service-clusterIp-Nodeport-LoadBalancer/ClusterIP.yml): `Day-4-Service-clusterIp-Nodeport-LoadBalancer/ClusterIP.yml`
- [NodePort service](https://github.com/akramibm/kubernetes/blob/main/Day-4-Service-clusterIp-Nodeport-LoadBalancer/Nodeport.yml): `Day-4-Service-clusterIp-Nodeport-LoadBalancer/Nodeport.yml`
- [LoadBalancer service](https://github.com/akramibm/kubernetes/blob/main/Day-4-Service-clusterIp-Nodeport-LoadBalancer/LoadBalancer.yml): `Day-4-Service-clusterIp-Nodeport-LoadBalancer/LoadBalancer.yml`
- [Path-based ingress](https://github.com/akramibm/kubernetes/blob/main/Day-7-Ingress-Path-Base-Deployment/k8s-files/ingress.yml): `Day-7-Ingress-Path-Base-Deployment/k8s-files/ingress.yml`
- [Ingress practice](https://github.com/akramibm/kubernetes/blob/main/Day-7-ingresscontroller-practice/ingress.yml): `Day-7-ingresscontroller-practice/ingress.yml`

### Delivery and releases

- [Argo CD example](https://github.com/akramibm/kubernetes/blob/main/Day-6-ArgoCD/argoyml/argo.yml): `Day-6-ArgoCD/argoyml/argo.yml`
- [Argo CD deployment](https://github.com/akramibm/kubernetes/blob/main/Day-6-ArgoCD/deploy.yml): `Day-6-ArgoCD/deploy.yml`
- [ECR deployment](https://github.com/akramibm/kubernetes/blob/main/Day-6-sample-deployment-docker-ecr/Deployment.yml): `Day-6-sample-deployment-docker-ecr/Deployment.yml`
- [ECR on EKS](https://github.com/akramibm/kubernetes/blob/main/Day-6-sample-deployment-docker-ecr-eks/Deployment.yml): `Day-6-sample-deployment-docker-ecr-eks/Deployment.yml`
- **Rolling update**
- **Recreate update**
- **Blue-green release**
- **Canary release**

### Pod scheduling

- [DaemonSet example](https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/daemonset.yaml): `Day-9-schedules/daemonset.yaml`
- [Node affinity](https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/node-affinity-required.yaml): `Day-9-schedules/node-affinity-required.yaml`
- [Node selector](https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/nodeselector.yaml): `Day-9-schedules/nodeselector.yaml`
- [Taints and tolerations](https://github.com/akramibm/kubernetes/blob/main/Day-9-schedules/taint_tolerations.yaml): `Day-9-schedules/taint_tolerations.yaml`

### Other components

- **Learner**
- **Kubernetes cluster**

## Connections

- Learner → Pod example: studies example
- Learner → ReplicaSet example: studies example
- Learner → Deployment example: studies example
- Learner → Cluster autoscaling: studies example
- Learner → Horizontal pod autoscaling: studies example
- Learner → ClusterIP service: studies example
- Learner → NodePort service: studies example
- Learner → LoadBalancer service: studies example
- Learner → Path-based ingress: studies example
- Learner → Argo CD example: studies example
- Learner → ECR deployment: studies example
- Learner → Rolling update: studies example
- Learner → Recreate update: studies example
- Learner → Blue-green release: studies example
- Learner → Canary release: studies example
- Learner → DaemonSet example: studies example
- Learner → Node affinity: studies example
- Learner → Node selector: studies example
- Learner → Taints and tolerations: studies example
