k8s常用操作命令

k8s常用操作命令

kubectl get pod -o wide   #获取pod list
kubectl get service -o wide #获取service list
kubectl delete service 服务名 #删除service
kubectl get node -o wide  #获取node list
kubectl get deploy -o wide #获取deploy list
kubectl delete deploy deploy名称 #删除deploy

kubectl apply -y xx.yaml #部署服务、部署service
kubectl describe node loadtest-worker1 #获取node详细信息
kubectl describe pod kube-flannel-ds-n9mf9 -n kube-system #查看pod详细信息  -n后面是namespace
kubectl logs -f tomcat-deployment-84ff9bf6b4-54bdp #查看日志

kubectl exec -it pod /bin/bash #进入容器

kubectl get svc -l app=MyApp

kubectl explain pod.spec

kubectl scale deployment/cx-facade-deployment --replicas=1

kubectl set image deployment/cx-gateway-deployment cx-gateway=hub.westone.com.cn:18880/cx/cx-gateway:7b17641  #更新image

kubectl logs -f cx-facade-deployment-7d5d7bb497-kmw6b(pod name) #查看pod日志
<think>我们正在收集Kubernetes常用运维命令。根据引用[1]和引用[2]的内容,我们可以整理出以下常用命令,并补充更多常用命令。 注意:引用[1]中提到了重启Pod、查看日志、进入Pod、查看Pod状态等命令。引用[2]提到了通过标签筛选Pod以及节点调度与污点相关命令。 我们将按照功能分类整理命令,并补充其他常用命令。</think>### Kubernetes 常用运维命令大全(分类整理) 以下是 Kubernetes 日常运维的核心命令,按功能分类整理,涵盖 Pod 管理、节点调度、日志排查等场景: --- ### 一、Pod 管理 1. **基础操作** ```bash # 查看所有 Pod(默认命名空间) kubectl get pods # 查看指定命名空间的 Pod kubectl get pods -n <namespace> # 查看 Pod 详情(含事件、资源申请、环境变量等)[^1] kubectl describe pod <pod-name> -n <namespace> # 重启 Pod(通过删除重建) kubectl delete pod <pod-name> -n <namespace> [^1] ``` 2. **标签筛选** ```bash # 精确匹配标签 kubectl get pods -l app=nginx # 多值匹配(OR 逻辑) kubectl get pods -l 'env in (prod, staging)' # 存在某标签即可 kubectl get pods -l tier [^2] ``` 3. **日志排查** ```bash # 查看 Pod 日志(最后 100 行) kubectl logs <pod-name> --tail=100 [^1] # 实时流式日志 kubectl logs <pod-name> -f # 查看多容器 Pod 的指定容器日志 kubectl logs <pod-name> -c <container-name> ``` --- ### 二、节点与调度 1. **节点管理** ```bash # 查看所有节点状态 kubectl get nodes # 检查节点资源分配(CPU/Memory/磁盘) kubectl describe node <node-name> # 节点资源监控 kubectl top nodes ``` 2. **污点 (Taint) 与容忍 (Toleration)** ```bash # 给节点添加污点 kubectl taint nodes <node-name> key=value:NoSchedule # 查看节点污点 kubectl describe node <node-name> | grep Taints # 移除污点 kubectl taint nodes <node-name> key:NoSchedule- [^2] ``` --- ### 三、配置与调试 1. **进入容器** ```bash # 进入 Pod 的默认容器 kubectl exec -it <pod-name> -- bash [^1] # 进入指定容器 kubectl exec -it <pod-name> -c <container-name> -- sh [^1] ``` 2. **资源管理** ```bash # 查看 Deployment 状态 kubectl get deployments # 扩容副本数 kubectl scale deployment/<deploy-name> --replicas=5 # 查看 Service 和 Endpoints kubectl get svc,ep ``` --- ### 四、高级运维 1. **事件监控** ```bash # 查看集群事件(按时间排序) kubectl get events --sort-by=.metadata.creationTimestamp # 过滤 Warning 事件 kubectl get events --field-selector type=Warning ``` 2. **配置文件操作** ```bash # 导出 Pod 的 YAML 配置 kubectl get pod <pod-name> -o yaml > pod.yaml # 应用配置更新 kubectl apply -f deployment.yaml ``` 3. **网络诊断** ```bash # 检查 DNS 解析 kubectl run -it --rm debug --image=busybox --restart=Never -- nslookup kubernetes.default # 测试跨 Pod 网络连通性 kubectl run -it --rm network-test --image=alpine --restart=Never -- ping <target-ip> ``` --- ### 五、命令速查表 | **场景** | **命令示例** | |-------------------|-----------------------------------------------------------------------------| | **快速重启** | `kubectl rollout restart deployment/<name>` | | **资源监控** | `kubectl top pod -l app=nginx` | | **批量删除** | `kubectl delete pods -l tier=test` | | **端口转发** | `kubectl port-forward svc/<service-name> 8080:80` | | **配置历史** | `kubectl rollout history deployment/<name>` | > **提示**: > - 使用 `--help` 查看子命令详情(如 `kubectl describe --help`) > - 复杂操作建议保存为脚本(如批量清理 Evicted 状态的 Pod:`kubectl delete pods --field-selector=status.phase=Failed`) ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值