好的,我将对这些 kubectl
命令进行整理、扩展和优化,使其更加系统化和易于理解。以下是整理后的命令列表,按功能分类,并附上简要说明:
1. 查看 Kubernetes 版本和集群信息
# 查看 kubectl 客户端和服务端版本
kubectl version
# 查看集群组件的状态(如 etcd、scheduler、controller-manager 等)
kubectl get cs
# 查看集群信息,包括 API Server 的地址和版本以及控制平面组件的状态
kubectl cluster-info
2. 查看集群资源
# 查看集群中的节点信息,包括节点名称、IP 地址、状态和运行时间等
kubectl get nodes
# 查看当前命名空间下的 Pod 信息,包括 Pod 名称、所属节点、容器状态、IP 地址等
kubectl get pods
# 查看当前命名空间下的 Service 信息,包括 Service 名称、类型、所属端口、IP 地址等
kubectl get services
# 查看当前命名空间下的 Deployment 信息
kubectl get deployments
# 查看当前命名空间下的 StatefulSet 信息
kubectl get statefulsets
# 查看当前命名空间下的 DaemonSet 信息
kubectl get daemonsets
3. 查看资源详细信息
# 查看资源的详细信息,包括资源的属性、状态、事件等
kubectl describe nodes <node-name>
kubectl describe pods <pod-name>
kubectl describe services <service-name>
4. 资源管理
# 应用 YAML 文件中定义的资源配置
kubectl apply -f <file.yaml>
# 删除指定的资源或资源集合
kubectl delete pods <pod-name>
kubectl delete services <service-name>
kubectl delete deployments <deployment-name>
# 编辑资源配置
kubectl edit pods <pod-name>
kubectl edit deployments <deployment-name>
5. 容器操作
# 在 Pod 中的容器中执行命令
kubectl exec <pod-name> -c <container-name> -- <command>
# 在 Pod 中的容器中打开交互式终端
kubectl exec -ti <pod-name> -c <container-name> -- sh
# 实时查看 Pod 和容器的日志信息
kubectl logs <pod-name> -f
kubectl logs <pod-name> -c <container-name> -f
6. 资源监控
# 查看集群中资源的 CPU 和内存使用情况
kubectl top nodes
kubectl top pods
7. 其他常用命令
# 查看节点的详细信息,包括节点的 IP 地址、标签、状态等
kubectl get nodes -o wide
# 查看 Pod 的详细信息,包括 Pod 所在节点的 IP 地址、容器的 IP 地址、容器状态等
kubectl get pods -o wide
# 查看 Service 的详细信息,包括 Service 的类型、IP 地址、端口号、所属节点等
kubectl get services -o wide
# 查看 k8s API 对象的详细定义信息
kubectl explain pods
kubectl explain deployments.spec
8. 命名空间操作
# 查看所有命名空间
kubectl get namespaces
# 切换到指定命名空间
kubectl config set-context --current --namespace=<namespace-name>
# 查看指定命名空间下的资源
kubectl get pods -n <namespace-name>
kubectl get services -n <namespace-name>
9. 标签和选择器
# 查看带有特定标签的资源
kubectl get pods -l <label-key>=<label-value>
# 添加或修改资源的标签
kubectl label pods <pod-name> <label-key>=<label-value>
10. 扩展命令
# 查看所有资源的概览
kubectl get all
# 查看资源的 YAML 配置
kubectl get <resource> <resource-name> -o yaml
# 查看资源的 JSON 配置
kubectl get <resource> <resource-name> -o json
# 查看资源的事件
kubectl describe <resource> <resource-name> | grep -i events