Kubernetes Learning Path
Kubernetes Installation
- Installation on Ubuntu 22.04: Install Kubernetes on Ubuntu 22.04
Main Sections
- Intro: Introduction to Kubernetes
- YAML Definition File: YAML basics and structure
- Labels, Selectors, and Annotations: Using labels and selectors
- Networking in Kubernetes: Understanding Kubernetes networking
- Kubectl Commands: Essential kubectl commands overview
Objects
- Node: Nodes in Kubernetes explained
- Pod: Understanding Pods and usage
- ReplicaSet: ReplicaSets and their roles
- Deployment: Deployments and their management
- Service: Services in Kubernetes explained
- Namespaces: Namespaces and resource isolation
- NetworkPolicies: Configuring network policies
- ConfigMap: Managing ConfigMaps effectively
- Secret: Secrets management in Kubernetes
- Volume: Volumes for persistent storage
- Storage Classes: Understanding storage classes
- StatefulSets: StatefulSets for stateful applications
- Jobs: Jobs and batch processing
- Cron Jobs: Cron Jobs and scheduling tasks
- Ingress: Ingress and external access
- Service Account: Service accounts and permissions
- Custom Resource Definition (CRD): Custom Resource Definitions overview
- DaemonSet: DaemonSets and cluster-wide processes
- Static Pods: Static Pods and use cases
- Operators: Operators for automating tasks
Concepts
- Environment Variables: Working with environment variables
- Security Context: Security context for containers
- Resource Requirements: Defining resource requirements
- Taints and Tolerations: Using taints and tolerations
- Node Selector: Node selector for scheduling
- Node Affinity: Node affinity for scheduling
- Combining Taints & Tolerations and Node Affinity: Combining taints and tolerations
- Controllers: Understanding Kubernetes controllers
- Multi-Container Pods: Multi-container pods and design
- Deploying a Production Grade Application: Deploying production-grade applications
- Blue-Green and Canary Deployments: Blue-Green and Canary deployments
- Kubernetes Networking: Networking fundamentals in Kubernetes
- DNS in Kubernetes: DNS management within clusters
- Private Container Registry: Private container registry setup
- Multiple Schedulers: Configuring multiple schedulers
Observability
- Pod Status and Conditions: Monitoring pod status and conditions
- Readiness Probes: Configuring readiness probes
- Liveness Probes: Configuring liveness probes
- Monitoring: Monitoring clusters with tools
- Logging: Logging practices and tools
Control Plane Components
- KubeAPI Server: Understanding the KubeAPI server
- ETCD: ETCD for cluster storage
- Kube Controller Manager: Kube Controller Manager’s role
- Kube Scheduler: Kube Scheduler for pod placement
- Kubelet: Kubelet and node management
- Kube Proxy: Kube Proxy and networking
Security
- KubeConfig: KubeConfig for managing clusters
- Kube Rest API: Kube Rest API for interaction
- Securing Nodes and Cluster: Securing nodes and clusters
- Authentication: Authentication mechanisms in Kubernetes
- Authorization: Authorization strategies and roles
- Role Based Access Control (RBAC): Role-Based Access Control (RBAC)
- Cluster-wide RBAC: Cluster-wide RBAC management
- How Auth in K8s Works: How authentication works in K8s
- Admission Controllers: Admission controllers overview
- TLS in Kubernetes: TLS for secure communications
Admin
- Unhealthy Nodes: Managing unhealthy nodes
- OS Upgrades: Handling OS upgrades
- Cluster Version Upgrade: Cluster version upgrades process
- Backup and Restore: Backup and restore strategies
- Cluster Design: Best practices for cluster design
- Cluster Setup: Setting up a Kubernetes cluster
- Rancher: Using Rancher for cluster management
Extras
- Tips: Useful tips for Kubernetes
- Internal Workings: Understanding Kubernetes internal workings
- How Declarative Commands Work: How declarative commands operate
- CKA: Preparing for CKA certification
Explore these topics to deepen your understanding of Kubernetes and master both basic and advanced concepts. Each link will take you to a detailed page covering the respective topic.