三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Kubernetes kubectl 命令完全指南:从入门到精通

Kubernetes kubectl 命令完全指南:从入门到精通

1. kubectl 简介

kubectl是 Kubernetes 的命令行工具,用于与 Kubernetes 集群进行交互。通过 kubectl,用户可以部署应用、管理集群资源、查看日志、调试服务等。它是 Kubernetes 管理员和开发人员最常用的工具之一。

2. 基础命令

2.1 集群信息

  • kubectl cluster-info:显示集群信息
  • kubectl version:查看客户端和服务器版本
  • kubectl config view:查看当前配置

2.2 资源操作

  • kubectl get <resource>:列出资源(如 pods, services, deployments)
  • kubectl describe <resource> <name>:查看资源详细信息
  • kubectl create -f <file.yaml>:通过 YAML 文件创建资源
  • kubectl apply -f <file.yaml>:应用配置(创建或更新)
  • kubectl delete -f <file.yaml>:删除资源

3. Pod 管理

# 查看所有 Pod kubectl get pods 查看指定命名空间的 Pod kubectl get pods -n <namespace> 查看 Pod 详细信息 kubectl describe pod <pod-name> 查看 Pod 日志 kubectl logs <pod-name> 进入 Pod 容器 kubectl exec -it <pod-name> -- /bin/bash 删除 Pod kubectl delete pod <pod-name>

4. Deployment 管理

# 创建 Deployment kubectl create deployment <name> --image=<image> 查看 Deployment kubectl get deployments 更新 Deployment 镜像 kubectl set image deployment/<name> <container>=<new-image> 扩缩容 kubectl scale deployment <name> --replicas=<number> 回滚到上一版本 kubectl rollout undo deployment/<name>

5. Service 管理

# 查看 Service kubectl get services 创建 Service kubectl expose deployment <deployment-name> --port=<port> --target-port=<target-port> 查看 Service 详细信息 kubectl describe service <service-name>

6. 配置管理

6.1 ConfigMap

# 从文件创建 ConfigMap kubectl create configmap <name> --from-file=<file-path> 查看 ConfigMap kubectl get configmaps 查看 ConfigMap 内容 kubectl describe configmap <name>

6.2 Secret

# 创建 Secret kubectl create secret generic <name> --from-literal=<key>=<value> 查看 Secret kubectl get secrets 解码 Secret 值 kubectl get secret <name> -o jsonpath='{.data.<key>}' | base64 --decode

7. 调试与故障排查

  • kubectl logs <pod-name>:查看 Pod 日志
  • kubectl logs <pod-name> -c <container>:查看指定容器日志
  • kubectl exec -it <pod-name> -- <command>:在 Pod 中执行命令
  • kubectl port-forward <pod-name> <local-port>:<pod-port>:端口转发
  • kubectl top pod:查看 Pod 资源使用情况
  • kubectl top node:查看节点资源使用情况

8. 高级技巧

8.1 输出格式

# JSON 格式输出 kubectl get pods -o json YAML 格式输出 kubectl get pod <pod-name> -o yaml 自定义列输出 kubectl get pods -o custom-columns=NAME:.metadata.name,STATUS:.status.phase

8.2 标签选择器

# 根据标签筛选 kubectl get pods -l app=nginx 排除特定标签 kubectl get pods -l 'app!=nginx'

8.3 命名空间操作

# 切换到指定命名空间 kubectl config set-context --current --namespace=<namespace> 查看所有命名空间的资源 kubectl get pods --all-namespaces

9. 常用命令速查表

功能命令
查看集群信息kubectl cluster-info
查看节点kubectl get nodes
查看所有 Podkubectl get pods -A
查看 Pod 日志kubectl logs <pod-name>
进入 Podkubectl exec -it <pod-name> -- /bin/bash
创建资源kubectl apply -f deployment.yaml
删除资源kubectl delete -f deployment.yaml
查看事件kubectl get events

10. 总结

kubectl 是 Kubernetes 生态中不可或缺的工具,掌握其常用命令能够极大提高 Kubernetes 集群的管理效率。建议读者在实际工作中多练习这些命令,并结合官方文档深入学习高级功能。

← 返回列表