Kubernetes命令

一、基础操作命令

1、查看资源

  kubectl get pods                    # 查看所有Pod
  kubectl get pods -n chat-system     # 查看指定命名空间
  kubectl get pods -o wide            # 显示详细信息(IP、节点)
  kubectl get pods -o yaml            # 以YAML格式输出
  kubectl get pods --watch            # 实时监控变化

2、查看所有资源类型

kubectl get all                      # 获取所有资源
kubectl get deployment,service,pod   # 同时查看多种资源
kubectl api-resources                # 查看所有API资源类型

3、描述资源

kubectl describe pod <pod-name>                    # Pod详细信息
kubectl describe service <svc-name>                # Service详情
kubectl describe node <node-name>                  # Node详情
kubectl describe deployment <deploy-name>          # Deployment详情

4、创建/更新资源

kubectl apply -f deployment.yaml       # 创建或更新资源
kubectl create -f pod.yaml             # 创建资源(仅新建)
kubectl replace -f deployment.yaml     # 替换现有资源

5、 删除资源

kubectl delete pod <pod-name>          # 删除Pod
kubectl delete -f deployment.yaml      # 删除文件中定义的资源
kubectl delete deployment --all        # 删除所有Deployment
kubectl delete ns chat-system          # 删除命名空间(级联删除)

6、日志查看

kubectl logs <pod-name>                # 查看Pod日志
kubectl logs <pod-name> -f             # 实时跟踪日志
kubectl logs <pod-name> --tail=100     # 查看最后100行
kubectl logs <pod-name> -c <container> # 查看指定容器日志

7、进入容器

kubectl exec -it <pod-name> -- /bin/sh    # 进入容器Shell
kubectl exec <pod-name> -- ls /app        # 执行单条命令
kubectl exec -it <pod-name> -c <container> -- bash  # 指定容器

8、端口转发

kubectl port-forward pod/<pod-name> 8080:9090    # Pod端口转发
kubectl port-forward svc/gateway-service 8080:80 # Service端口转发

二、高级操作命令

1、滚动更新

kubectl rollout status deployment/gateway-server    # 查看更新状态
kubectl rollout history deployment/gateway-server   # 查看更新历史
kubectl rollout undo deployment/gateway-server      # 回滚到上一版本
kubectl rollout undo deployment/gateway-server --to-revision=3  # 回滚到指定版本
kubectl rollout pause deployment/gateway-server     # 暂停更新
kubectl rollout resume deployment/gateway-server    # 恢复更新

2、扩缩容

kubectl scale deployment/gateway-server --replicas=5   # 手动扩容
kubectl autoscale deployment/gateway-server --min=3 --max=10 --cpu-percent=80  # 自动扩缩容

3、配置管理

kubectl create configmap app-config --from-file=config.yaml    # 从文件创建
kubectl create configmap app-config --from-literal=key=value   # 从字面量创建
kubectl get configmap app-config -o yaml                      # 查看配置
kubectl edit configmap app-config                             # 在线编辑配置

4、密钥管理

kubectl create secret generic db-secret --from-literal=password=123456
kubectl create secret tls tls-secret --cert=path/to/cert --key=path/to/key
kubectl get secrets
kubectl describe secret db-secret

5、污点和容忍

kubectl taint nodes node1 key=value:NoSchedule        # 添加污点
kubectl taint nodes node1 key=value:NoSchedule-       # 删除污点
kubectl describe node node1 | grep Taints             # 查看污点

6、节点管理

kubectl cordon node1          # 节点不可调度
kubectl uncordon node1        # 节点可调度
kubectl drain node1           # 驱逐节点(维护)
kubectl top nodes             # 查看节点资源使用
kubectl top pods              # 查看Pod资源使用

三、调试和故障排查

1、创建临时调试Pod

kubectl run debug-pod --image=busybox -it --rm --restart=Never -- sh
kubectl run debug-pod --image=nicolaka/netshoot -it --rm -- /bin/bash

2、网络调试

kubectl run netshoot --image=nicolaka/netshoot -it --rm -- bash
# 在容器内执行:
curl -v http://gateway-service:8080/health
nslookup redis-cluster
telnet mysql 3306

3、事件查看

kubectl get events --sort-by='.lastTimestamp'    # 按时间排序
kubectl get events -n chat-system --watch        # 实时监控事件
kubectl get events --field-selector type=Warning  # 仅查看警告

4、资源使用监控

kubectl top pods -n chat-system                  # Pod资源使用
kubectl top nodes                                # Node资源使用
kubectl top pods --containers                    # 容器级别监控

5、批量操作

kubectl get pods -n chat-system -o name | xargs kubectl delete  # 批量删除
kubectl get pods -l app=gateway -o name                         # 标签选择

6、API调试

kubectl proxy                                 # 启动API代理
curl http://localhost:8001/api/v1/namespaces/chat-system/pods

kubectl get --raw /api/v1/namespaces/chat-system/pods | jq .   # 直接API调用
posted @ 2026-06-16 14:05  izzwhf  阅读(6)  评论(0)    收藏  举报