Structured guide that takes you through Kubernetes, from basics to advanced concepts.
Kubernetes Basics
1. What is Kubernetes?
Kubernetes (K8s) is an open-source container orchestration platform for automating deployment, scaling, and operations of application containers.
Originally developed by Google, now maintained by the Cloud Native Computing Foundation (CNCF).
2. Core Concepts
Pod Smallest deployable unit, encapsulates one or more containers.
Node A machine (VM or physical) on which Kubernetes runs.
Cluster A set of nodes controlled by the Kubernetes master.
Namespace Virtual clusters inside the same physical cluster.
3. Kubernetes Architecture
Master Components:
kube-apiserver: API access point.
etcd: Key-value store for config/state.
kube-scheduler: Assigns pods to nodes.
kube-controller-manager: Handles background tasks.
Node Components:
kubelet: Manages containers on a node.
kube-proxy: Network proxy.
Container Runtime: e.g., Docker, containerd.
4. YAML Manifests
Kubernetes resources are defined in YAML files.
Key sections: apiVersion, kind, metadata, spec.
5. Important Resources
Deployment Manages replicas of Pods and updates.
Service Exposes Pods as a network service.
ConfigMap Externalize configuration.
Secret Store sensitive data like passwords.
PersistentVolume / PersistentVolumeClaim Storage management.
Ingress HTTP routing and load balancing.
6. Networking in Kubernetes
Pod-to-Pod communication within cluster.
Service types:
ClusterIP (default)
NodePort
LoadBalancer
Ingress Controllers: NGINX, Traefik.
7. Volumes and Storage
Ephemeral (e.g., emptyDir) vs Persistent storage.
Cloud provider-specific storage options (EBS, GCEPersistentDisk, etc.)
8. RBAC (Role-Based Access Control)
Define who can do what:
Roles / ClusterRoles
RoleBindings / ClusterRoleBindings
9. Operators
Extend Kubernetes functionality using Custom Resource Definitions (CRDs) and controllers.
Example: Prometheus Operator.
10. Helm
Kubernetes package manager.
Uses "charts" to define, install, and upgrade applications.
11. Custom Resources & CRDs
Define your own objects in Kubernetes.
Combine with controllers for automation.
12. Autoscaling
HPA (Horizontal Pod Autoscaler): Scales pods based on CPU/memory.
VPA (Vertical Pod Autoscaler): Adjusts resource requests.
Cluster Autoscaler: Adjusts node count.
13. Kubernetes Security
Network Policies.
Pod Security Policies (deprecated in favor of OPA/Gatekeeper).
Seccomp, AppArmor.
Secrets encryption.
14. Service Mesh
Istio, Linkerd: Manage microservices networking, observability, and security.
15. CI/CD with Kubernetes
Tools: ArgoCD, Jenkins X, FluxCD.
GitOps approach: Git as a single source of truth.
🎙️ New to streaming or looking to level up? Check out StreamYard and get ₹740 discount! 😍 streamyard.com/pal/d/5472098424979456
コメント