Kubernetes 常用命令速查手册
在日常使用 Kubernetes 进行容器编排和管理时,我们经常需要执行一些基础操作。本文整理了最常用的 kubectl 命令,方便查阅和使用。
1. Namespace 命名空间管理
Namespace 用于将集群资源划分为多个逻辑分组。常用命令如下:
[ ] bash
# 查看所有命名空间
kubectl get namespaces # 或简写 kubectl get ns
# 创建命名空间
kubectl create namespace <namespace-name>
# 使用 YAML 文件创建命名空间
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Namespace
metadata:
name: <namespace-name>
EOF
2. Pod 相关操作
Pod 是 k8s 中最小的可部署单元,这些命令可以帮助你管理 Pod:
[ ] bash
# 查看特定命名空间的所有 Pod
kubectl get pods -n <namespace>
# 查看 Pod 详细信息
kubectl describe pod <pod-name> -n <namespace>
# 查看 Pod 日志
kubectl logs <pod-name> -c <container-name> -n <namespace>
# 进入 Pod 内的容器
kubectl exec -it <pod-name> -c <container-name> -n <namespace> -- /bin/bash
3. Deployment 部署管理
Deployment 提供了声明式的更新能力,是最常用的工作负载之一:
[ ] bash
# 查看所有 Deployment
kubectl get deployments -n <namespace>
# 查看 Deployment 详细配置
kubectl get deployment <deployment-name> -n <namespace> -o yaml
# 创建/更新 Deployment
kubectl apply -f deployment.yaml
# 查看 Deployment 状态
kubectl rollout status deployment/<deployment-name> -n <namespace>
4. Service 服务管理
Service 为 Pod 提供网络访问能力:
[ ] bash
# 查看所有 Service
kubectl get services # 或简写 kubectl get svc
# 查看特定命名空间的 Service
kubectl get svc -n <namespace>
# 查看 Service 详细信息
kubectl describe service <service-name> -n <namespace>
# 导出 Service 配置
kubectl get service <service-name> -o yaml > service.yaml
5. ConfigMap 配置管理
ConfigMap 用于存储非敏感的配置数据:
[ ] bash
# 从文件创建 ConfigMap
kubectl create configmap <configmap-name> -n <namespace> --from-file=<path/to/file>
# 查看所有 ConfigMap
kubectl get configmap --all-namespaces
# 查看特定命名空间的 ConfigMap
kubectl get configmap -n <namespace>
# 导出 ConfigMap 配置
kubectl get configmap <configmap-name> -n <namespace> -o yaml > configmap.yaml
6. 常用技巧
- 使用
-o wide
参数可以查看更详细的信息:
kubectl get pods -o wide
- 使用
--watch
或-w
参数可以实时监控资源变化:
kubectl get pods -w
- 使用标签选择器过滤资源:
kubectl get pods -l app=nginx
总结
这些命令涵盖了在 Kubernetes 中最常用的操作。熟练掌握这些命令可以帮助你更高效地管理 Kubernetes 集群。建议将常用命令设置别名(alias),以提高工作效率。
注意事项:
- 在执行命令时要注意指定正确的命名空间
- 建议在进行重要操作前先导出相关配置
- 使用
kubectl explain
命令可以查看资源的详细文档
希望这篇命令速查手册对你的日常工作有所帮助!