文章目录
- 1. 检查集群状态
- 2. 使用 Pod
- 3. 使用部署
- 4. 使用服务
- 5. 使用 ConfigMap 和 Secret
- 6.调试与故障排除
- 7. 清理
- 8. 使用命名空间
- 9. 管理持久卷
- 10. 处理节点
- 11. 资源配额和限制范围
- 12. 访问API对象
1. 检查集群状态
-
kubectl cluster-info:此命令提供有关集群及其主要服务的基本信息。
-
kubectl get nodes:此命令列出可用于托管应用程序的所有节点。
2. 使用 Pod
Pod 是 Kubernetes 中最小的可部署单元。
-
kubectl get pods
:此命令列出默认命名空间中的所有 Pod。 -
kubectl describe pod [pod-name]
:获取有关特定 Pod 的详细信息,包括事件和状态 -
kubectl logs [pod-name]
:该命令显示指定Pod的日志,有助于调试。 -
kubectl exec -it [pod-name] -- /bin/bash
:此命令在指定 Pod 内打开一个交互式 shell,对于调试和检查很有用。
3. 使用部署
部署是管理 Pod 的更高级别概念。
-
kubectl get deploy
:此命令列出默认命名空间中的所有部署。 -
kubectl describe deploy [deployment-name]
:此命令提供有关特定部署的详细信息。 -
kubectl scale deployment [deployment-name] --replicas=[number-of-replicas]
:此命令通过增加或减少副本数量来帮助扩展部署。 -
kubectl rollout status deployment [deployment-name]
:此命令显示部署部署的状态。
4. 使用服务
服务是公开在一组 Pod 上运行的应用程序的抽象方式。
-
kubectl get svc -A
:此命令列出所有命名空间中的所有服务。 -
kubectl describe service [service-name]
:此命令提供有关特定服务的详细信息。 -
kubectl expose deployment [deployment-name] --type=NodePort --name=[service-name]
:此命令将部署公开为服务,使其可以在集群内或从 Internet 进行访问。
5. 使用 ConfigMap 和 Secret
ConfigMap和Secrets是 Kubernetes 对象。
-
kubectl get cm
:此命令列出默认命名空间中的所有 ConfigMap。 -
kubectl get secrets
:此命令列出默认命名空间中的所有机密。 -
kubectl create configmap [configmap-name] --from-file=[path-to-file]
:此命令从文件创建一个新的 ConfigMap。 -
kubectl create secret generic [secret-name] --from-literal=key=value
:此命令创建一个新的秘密。
6.调试与故障排除
-
kubectl top node
:该命令显示每个节点的CPU和内存使用情况,这对于识别负载较高的节点很有用。 -
kubectl top pod
:此命令显示每个 Pod 的 CPU 和内存使用情况,这对于识别使用大量资源的 Pod 很有用。 -
kubectl get events --sort-by=.metadata.creationTimestamp
:此命令列出默认命名空间中的所有事件,按创建时间排序。这有助于识别集群中最近可能发生的问题。
7. 清理
-
kubectl delete pod [pod-name]
:该命令删除指定的Pod。 -
kubectl delete deployment [deployment-name]
:该命令删除指定的部署。 -
kubectl delete service [service-name]
:该命令删除指定的服务。 -
kubectl delete all --all
:该命令删除默认命名空间中的所有资源。
8. 使用命名空间
命名空间用于许多用户分布在多个团队的环境中。
-
kubectl get ns
:列出集群中的所有命名空间 -
kubectl create namespace [namespace-name]
:创建一个新的命名空间 -
kubectl config set-context --current --namespace=[namespace-name
]:更改当前上下文的命名空间
9. 管理持久卷
-
kubectl get pv
:列出所有持久卷 -
kubectl describe pv [volume-name]
:提供有关特定卷的详细信息 -
kubectl get pvc
:列出所有持久卷声明,这是用户对存储的请求
10. 处理节点
节点是 Kubernetes 中的工作机器。
-
kubectl cordon [node-name]
:将节点标记为不可调度,阻止新的Pod在该节点上调度 -
kubectl uncordon [node-name]
:删除节点上的不可调度标记,允许新的pod在该节点上调度 -
kubectl drain [node-name]
:排空节点以准备维护
11. 资源配额和限制范围
-
kubectl get quota
:列出当前命名空间下所有资源配额 -
kubectl describe limitrange [limit-range-name]
:提供有关特定限制范围的详细信息
12. 访问API对象
-
kubectl api-resources
:列出服务器上所有可用的API资源 -
kubectl explain [resource]
:提供资源的文档