kubectl¶
kubectl is the command-line interface tool for Kubernetes, used to manage clusters and deploy applications.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md] It functions as a wrapper around the kube-apiserver component, utilizing RESTful APIs to perform operations on the cluster.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
Syntax Structure¶
The general syntax for executing kubectl commands follows a specific structure.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
kubectl [command] [TYPE] [NAME] [flags]
Components¶
command: Specifies the operation to perform (e.g.,create,get,describe,delete).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]TYPE: Specifies the resource type (e.g.,pod,service,deployment). Types are case-insensitive and can be singular, plural, or abbreviated (e.g.,po,pods,pod).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]NAME: Specifies the name of the resource. Names are case-sensitive.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]flags: Specifies optional parameters (e.g.,-ffor file,-nfor namespace).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
Resource Operations¶
Creation and Configuration¶
apply: Creates or updates resources based on a file or standard input.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]create: Creates a new resource explicitly from a file.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]run: Creates and runs a specific image in the cluster (e.g.,kubectl run nginx --image=nginx).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]expose: Creates a Service to expose a resource (e.g., a Deployment) externally.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
Viewing and Troubleshooting¶
get: Lists one or more resources.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]- Common usage:
kubectl get pods,kubectl get services.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md] - Flags:
-o widefor more details;--all-namespacesto list across all namespaces.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
- Common usage:
describe: Displays detailed state of one or more resources, including uninitialized ones.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]logs: Prints logs for a container in a Pod. Adding-fstreams the logs (similar totail -f).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]exec: Executes a command inside a container in a Pod (e.g.,kubectl exec -it <pod-name> -- /bin/bash).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
Modification and Deletion¶
delete: Removes resources.^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]set: Configures specific application resources or updates existing ones (e.g.,set image,set env).^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md]
Configuration and Context¶
kubectl relies on a configuration file (typically located in ${HOME}/.kube/config) to manage cluster access.^[400-devops__06-Kubernetes__k8s.md]
cluster-info: Displays cluster information (e.g., endpoint addresses).^[400-devops__06-Kubernetes__k8s-ithelp__Day4__README.md]config: Manages access viacurrent-context,get-contexts, anduse-context.^[400-devops__06-Kubernetes__k8s.md]version: Prints the client and server versions.^[400-devops__06-Kubernetes__k8s-ithelp__Day4__README.md]
Sources¶
^[400-devops-06-kubernetes-k8s-ithelp-day11-readme.md] ^[400-devops__06-Kubernetes__k8s.md] ^[400-devops__06-Kubernetes__k8s-ithelp__Day4__README.md]