Kubernetes 学习资料
Kubernetes 常用命令 集群信息查看 1 2 3 4 5 6 kubectl cluster-info kubectl version kubectl get nodes kubectl describe node <node-name> kubectl top nodes kubectl get componentstatuses
命名空间操作 1 2 3 4 kubectl get namespaces kubectl create namespace <name> kubectl delete namespace <name> kubectl config set-context --current --namespace=<name>
查看 Pod 1 2 3 4 5 6 7 8 kubectl get pods kubectl get pods -A kubectl get pods -n <namespace> kubectl get pods -o wide kubectl get pods --show-labels kubectl get pods -l app=nginx kubectl describe pod <pod-name> kubectl top pod <pod-name>
创建和删除 Pod 1 2 3 4 5 6 kubectl run <pod-name> --image=<image> kubectl create -f <file.yaml> kubectl apply -f <file.yaml> kubectl delete pod <pod-name> kubectl delete -f <file.yaml> kubectl delete pods --all
Pod 日志和调试 1 2 3 4 5 6 7 8 9 kubectl logs <pod-name> kubectl logs <pod-name> -c <container> kubectl logs -f <pod-name> kubectl logs --tail =100 <pod-name> kubectl logs --since=1h <pod-name> kubectl exec -it <pod-name> -- /bin/bash kubectl exec <pod-name> -- <command > kubectl port-forward <pod-name> 8080:80 kubectl cp <pod-name>:/path /local/path
Deployment 操作 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 kubectl get deployments kubectl describe deployment <name> kubectl create deployment <name> --image=<image> kubectl delete deployment <name> kubectl scale deployment <name> --replicas=3 kubectl set image deployment/<name> <container>=<new-image> kubectl rollout status deployment/<name> kubectl rollout history deployment/<name> kubectl rollout undo deployment/<name> kubectl rollout undo deployment/<name> --to-revision=2 kubectl rollout restart deployment/<name> kubectl edit deployment <name>
Service 操作 1 2 3 4 5 kubectl get services kubectl get svc kubectl describe service <name> kubectl expose deployment <name> --port=80 --type =NodePort kubectl delete service <name>
ConfigMap 1 2 3 4 5 kubectl get configmaps kubectl describe configmap <name> kubectl create configmap <name> --from-file=<file> kubectl create configmap <name> --from-literal=key=value kubectl delete configmap <name>
Secret 1 2 3 4 5 6 kubectl get secrets kubectl describe secret <name> kubectl create secret generic <name> --from-literal=password=123456 kubectl create secret docker-registry <name> --docker-server=<server> \ --docker-username=<user> --docker-password=<pwd > kubectl delete secret <name>
StatefulSet 1 2 3 4 kubectl get statefulsets kubectl describe statefulset <name> kubectl delete statefulset <name> kubectl scale statefulset <name> --replicas=3
DaemonSet 1 2 3 kubectl get daemonsets kubectl describe daemonset <name> kubectl delete daemonset <name>
Job 和 CronJob 1 2 3 4 kubectl get jobs kubectl get cronjobs kubectl describe job <name> kubectl delete job <name>
Ingress 1 2 3 kubectl get ingress kubectl describe ingress <name> kubectl delete ingress <name>
PersistentVolume 和 PersistentVolumeClaim 1 2 3 4 kubectl get pv kubectl get pvc kubectl describe pv <name> kubectl describe pvc <name>
标签和注解 1 2 3 kubectl label pods <pod-name> env =prod kubectl label pods <pod-name> env - kubectl annotate pods <pod-name> description="my app"
资源管理 1 2 3 4 5 6 kubectl apply -f <directory>/ kubectl diff -f <file.yaml> kubectl replace -f <file.yaml> kubectl patch deployment <name> -p '{"spec":{"replicas":3}}' kubectl get all kubectl delete all --all
上下文和配置 1 2 3 4 5 kubectl config view kubectl config get-contexts kubectl config current-context kubectl config use-context <context> kubectl config set-context <context> --namespace=<ns>
故障排查 1 2 3 4 5 kubectl get events kubectl get events --sort-by=.metadata.creationTimestamp kubectl describe <resource> <name> kubectl logs <pod-name> --previous kubectl get pods --field-selector=status.phase=Failed
常用输出格式 1 2 3 4 5 kubectl get pods -o json kubectl get pods -o yaml kubectl get pods -o wide kubectl get pods -o name kubectl get pods -o jsonpath='{.items[*].metadata.name}'
其他实用命令 1 2 3 4 5 6 7 8 kubectl api-resources kubectl explain pod kubectl explain pod.spec kubectl drain <node-name> kubectl cordon <node-name> kubectl uncordon <node-name> kubectl taint nodes <node> key=value:NoSchedule kubectl auth can-i create pods
这些是 Kubernetes 中最常用的命令,实际使用时可以通过 kubectl <command> --help 查看更详细的用法。
云原生 学习资料