Kubernetes has become the go-to container orchestration platform for modern application deployment. However, navigating the world of Kubernetes commands and concepts can be challenging. In this Kubernetes cheatsheet, we will provide you with a clear and concise guide, complete with definitions and practical examples, to help you master Kubernetes like a pro.
What is Kubernetes?
Kubernetes is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a powerful framework for managing containers in a highly available and scalable manner.
Basic Kubernetes Commands
Here are some fundamental
kubectl (Kubernetes command-line tool) commands you should know:
View resources in your cluster.
kubectl get pods
Create a resource from a file or stdin.
kubectl create -f my-pod.yaml
Delete resources by file, name, label, or selector.
kubectl delete pod my-pod
Apply changes to resources.
kubectl apply -f my-pod.yaml
Managing Kubernetes Resources
Kubernetes resources are crucial components of your applications. Here’s how to manage them:
Create and manage Pods to run your containers.
apiVersion: v1 kind: Pod metadata: name: my-pod ...
Expose your Pods as network services.
apiVersion: v1 kind: Service metadata: name: my-service ...
Manage application deployments for high availability.
apiVersion: apps/v1 kind: Deployment metadata: name: my-deployment ...
ConfigMaps and Secrets
Store configuration data and sensitive information.
apiVersion: v1 kind: ConfigMap metadata: name: my-config ...
Scaling and Updating Deployments
Efficiently scale and update your applications:
Scale a Deployment to a specific number of replicas.
kubectl scale deployment my-deployment --replicas=3
Roll out updates to your application.
kubectl set image deployment/my-deployment my-container=new-image:tag
Working with Kubernetes YAML Files
YAML files are at the heart of Kubernetes configuration:
Create resources from YAML files.
kubectl create -f my-resource.yaml
Apply changes to resources.
kubectl apply -f my-resource.yaml
Advanced Kubernetes Operations
Explore advanced Kubernetes features:
Managing Persistent Volumes
Ensure data persistence in Pods.
apiVersion: v1 kind: PersistentVolume metadata: name: my-pv ...
Control network traffic to and from your Pods.
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: my-policy ...
RBAC (Role-Based Access Control)
Define access permissions for resources.
apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: my-role ...
This Kubernetes cheatsheet is your essential companion for mastering Kubernetes operations. Whether you’re a beginner learning the basics or an experienced user exploring advanced features like RBAC and network policies, this guide will help you navigate the Kubernetes ecosystem with ease.