常用 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
:追踪容器网络流量。
评论区