常用 K8s 命令
基本信息查看
kubectl version: 查看客户端和服务器的Kubernetes版本。kubectl cluster-info: 查看集群信息。
节点相关操作
kubectl get nodes: 查看集群中的节点信息。kubectl describe node <node-name>: 查看特定节点的详细信息。kubectl get nodes -o wide: 查看节点的详细信息,包括IP地址。
Pod 相关操作
kubectl get pods: 查看所有Pod的状态。kubectl get pods --all-namespaces: 查看所有命名空间中的Pod。kubectl describe pod <pod-name>: 查看Pod详细信息。kubectl logs <pod-name>: 查看Pod的日志。kubectl exec -it <pod-name> -- /bin/bash: 进入Pod中的容器。
服务相关操作
kubectl get services: 查看所有服务。kubectl get services --all-namespaces: 查看所有命名空间中的服务。kubectl expose pod <pod-name> --type=LoadBalancer --name=<service-name>: 将Pod暴露为服务。kubectl port-forward <pod-name> <local-port>:<pod-port>: 将本地端口与Pod端口进行转发。
命名空间相关操作
kubectl get namespaces: 查看所有命名空间。kubectl create namespace <namespace-name>: 创建命名空间。kubectl get pods --namespace=<namespace>: 在特定命名空间中查看Pod。
部署和扩容
kubectl create -f <yaml-file>: 根据YAML文件创建资源。kubectl apply -f <directory>: 使用目录中的所有YAML文件来创建或更新资源。kubectl scale deployment <deployment-name> --replicas=<replica-count>: 扩容Deployment。
删除资源
kubectl delete pod <pod-name>: 删除Pod。kubectl delete service <service-name>: 删除服务。kubectl delete deployment <deployment-name>: 删除Deployment。kubectl delete namespace <namespace-name>: 删除命名空间及其所有资源。
配置查看与修改
kubectl config view: 查看当前配置。kubectl config get-contexts: 查看所有上下文。kubectl config use-context <context-name>: 切换上下文。
其他 K8s 命令
Secrets和ConfigMaps
kubectl create secret generic <secret-name> --from-literal=key1=value1 --from-literal=key2=value2: 创建Secret。kubectl create configmap <configmap-name> --from-literal=key1=value1 --from-literal=key2=value2: 创建ConfigMap。
网络
kubectl get services --all-namespaces: 查看所有服务,包括集群IP。kubectl get ingress: 查看Ingress资源。kubectl describe networkpolicies: 查看网络策略。
状态监控与调试
kubectl top nodes: 查看节点资源使用情况。kubectl top pods: 查看Pod资源使用情况。kubectl describe nodes: 查看节点的详细信息。
升级与回滚
kubectl set image deployment/<deployment-name> <container-name>=<image-name>:<tag>: 更新Deployment中的容器镜像。kubectl rollout history deployment/<deployment-name>: 查看滚动更新历史。kubectl rollout undo deployment/<deployment-name>: 回滚Deployment。
自定义资源(CRDs)
kubectl get crd: 查看自定义资源定义。kubectl get <custom-resource-name>: 查看自定义资源实例。kubectl describe crd <custom-resource-name>: 查看自定义资源的详细信息。
存储
kubectl get pv: 查看永久卷。kubectl get pvc: 查看永久卷声明。kubectl describe storageclass: 查看存储类。
安全
kubectl get pod <pod-name> -o yaml | grep serviceAccountName: 查看Pod使用的ServiceAccount。kubectl get roles,rolebindings --all-namespaces: 查看所有角色和角色绑定。
集群信息
kubectl get componentstatuses: 查看集群组件的状态。kubectl get events --sort-by=.metadata.creationTimestamp: 查看集群中的事件。
调试工具
kubectl debug <pod-name>: 在Pod中启动一个调试容器。kubectl trace <pod-name> <container-name> --image=alpine:追踪容器网络流量。



评论区