| 🌟 系列专栏文章推荐 🌟 | 
| 📌 Linux基础系列 🔹 适合初学者和进阶用户,掌握Linux核心命令与系统管理。 | 
| 📊 监控系列 🔹 学习企业级监控方案,实现服务器与应用状态的可视化监控。 | 
| 🐳 容器化系列 🔹 深入解析Docker、Kubernetes,掌握微服务架构的核心技术。 | 
| 📂 数据库系列 🔹 MySQL、PostgreSQL、Redis……数据库优化与高可用实战。 | 
| 🔐 安全系列 🔹 Web安全、系统安全、权限管理,提升服务器防护能力。 | 
| 🔄 持续集成系列 🔹 CI/CD、Jenkins、GitLab,助力自动化部署与DevOps实践。 | 
| 🌐 Nginx系列 🔹 负载均衡、高并发优化,深入掌握Nginx配置与使用技巧。 | 
| 💥 压力测试系列 🔹 掌握JMeter、wrk等工具,模拟高并发场景,优化系统性能。 | 
| 🤖 AI-大模型-人工智能 🔹 探索AIGC、深度学习、大语言模型的应用与落地实践! | 
Kubernetes 资源管理秘籍!超全 kubectl 命令指南,一篇全搞定!
在 Kubernetes(K8s)中,kubectl 是最重要的命令行工具,它让我们可以轻松管理 K8s 资源对象,比如 Pod、Service、Deployment 等。
📌 你是否也遇到这些问题?
✅ 如何快速创建、查看、删除 K8s 资源?
✅ 怎么高效排查 Pod 异常?
✅ 有哪些 kubectl 命令必须掌握?
💡 今天,这篇文章带你一次性搞定 kubectl 命令的核心用法,让你彻底掌控 Kubernetes!🔥

kubectl 作用 & 基本结构
kubectl 是 Kubernetes 的命令行工具,主要用于:
✅ 创建、更新、删除 K8s 资源
✅ 查看 K8s 集群状态
✅ 排查故障,进行调试
🔹 基本语法:
kubectl [命令] [资源类型] [资源名称] [选项]💡 示例:
kubectl get pods          # 获取所有 Pod 列表
kubectl describe pod my-pod  # 查看 my-pod 详情
kubectl delete pod my-pod  # 删除 my-pod1️⃣ 查看集群信息
🔥 首先,确保 kubectl 连接到正确的 K8s 集群
kubectl cluster-info  # 查看集群信息
kubectl get nodes     # 获取所有节点
kubectl get componentstatuses  # 检查 K8s 组件状态📌 如果 kubectl 无法访问集群,检查 K8s 配置文件:
kubectl config view    # 查看当前 K8s 配置
kubectl config get-contexts  # 列出所有可用集群
kubectl config use-context  # 切换 K8s 集群2️⃣ 创建 & 删除资源对象
✅ 创建资源
kubectl create deployment my-app --image=nginx  # 创建 Deployment
kubectl create service clusterip my-service --tcp=80:80  # 创建 Service
kubectl create namespace my-namespace  # 创建命名空间🔥 更推荐使用 YAML 文件管理资源!
# my-deployment.yaml
apiVersion:apps/v1
kind:Deployment
metadata:
name:my-app
spec:
replicas:2
selector:
    matchLabels:
      app:my-app
template:
    metadata:
      labels:
        app:my-app
    spec:
      containers:
        -name:nginx
          image: nginx:latestkubectl apply -f my-deployment.yaml  # 根据 YAML 创建/更新资源✅ 删除资源
kubectl delete pod my-pod  # 删除 Pod
kubectl delete service my-service  # 删除 Service
kubectl delete namespace my-namespace  # 删除命名空间
kubectl delete -f my-deployment.yaml  # 通过 YAML 删除资源🔥 删除所有 Pod:
kubectl delete pods --all3️⃣ 获取 & 查看资源状态
✅ 查看所有资源
kubectl get pods      # 获取所有 Pod
kubectl get services  # 获取所有 Service
kubectl get deployments  # 获取所有 Deployment
kubectl get nodes -o wide  # 获取节点,并查看 IP
kubectl get all       # 获取所有资源🔥 格式化输出(更易读)
kubectl get pods -o yaml   # 以 YAML 形式输出
kubectl get pods -o json   # 以 JSON 形式输出
kubectl get pods -o wide   # 显示更多信息(IP、节点等)✅ 查看详细信息
kubectl describe pod my-pod  # 查看 Pod 详细信息
kubectl describe deployment my-deployment  # 查看 Deployment 详细信息4️⃣ 排查 & 调试 Pod 问题
✅ 查看 Pod 日志
kubectl logs my-pod  # 查看 Pod 日志
kubectl logs my-pod -f  # 实时流式查看日志
kubectl logs my-pod --previous  # 查看 Pod 上次崩溃日志✅ 进入 Pod 进行调试
kubectl exec -it my-pod -- /bin/sh  # 进入 Pod 交互式终端
kubectl exec -it my-pod -- ls /app  # 在 Pod 内部执行命令🔥 Pod 无法启动?查看事件
kubectl get events --sort-by='.lastTimestamp'  # 按时间排序,查看最新事件🔥 如果 Pod 持续 Crash,查看状态
kubectl get pod my-pod -o yaml | grep reason  # 获取崩溃原因5️⃣ 更新资源
✅ 滚动更新 Deployment
kubectl set image deployment/my-app nginx=nginx:1.19  # 更新镜像版本
kubectl rollout status deployment/my-app  # 查看滚动更新状态
kubectl rollout undo deployment/my-app  # 回滚到上一个版本🔥 修改 Deployment 副本数
kubectl scale deployment my-app --replicas=5🔥 更新 Service 端口
kubectl patch service my-service -p '{"spec": {"ports": [{"port": 8080}]}}'6️⃣ 设置自动伸缩
🔥 给 Deployment 设置自动扩缩
kubectl autoscale deployment my-app --min=2 --max=10 --cpu-percent=80📌 如果 CPU 使用率超过 80%,Pod 数量会自动扩展到最多 10 个!
7️⃣ 资源 YAML 速查表
🔥 快速生成 YAML 模板
kubectl create deployment my-app --image=nginx --dry-run=client -o yaml💡 --dry-run=client 只生成 YAML,而不会实际创建资源!
🔥 查看现有资源的 YAML
kubectl get deployment my-app -o yaml > my-app.yaml总结:kubectl 核心命令速查表!
| 操作 | 命令 | 
| 查看资源 | kubectl get pods | 
| 查看详细信息 | kubectl describe pod my-pod | 
| 创建资源 | kubectl apply -f my-deployment.yaml | 
| 删除资源 | kubectl delete pod my-pod | 
| 查看日志 | kubectl logs my-pod -f | 
| 进入 Pod 终端 | kubectl exec -it my-pod -- /bin/sh | 
| 更新镜像 | kubectl set image deployment/my-app nginx=nginx:1.19 | 
| 回滚 Deployment | kubectl rollout undo deployment/my-app | 
| 自动伸缩 | kubectl autoscale deployment my-app --min=2 --max=10 --cpu-percent=80 | 
🚀 掌握这些 kubectl 命令,你就能轻松管理 Kubernetes! 🎉
往期回顾
爱运维^_^爱分享

^ _ ^ 如果这篇文章对你有帮助,记得点赞 + 转发,谢谢啦🙏!
