kubectl 常用命令

#查看版本
kubectl version


#查看集群信息
kubectl cluster-info


#kubeadm 初始化时会拉取一些 docker 镜像,查看fmd要的镜像列表
kubeadm config images list


# 查看所有 pod 列表,  -n 后跟 namespace, 查看指定的命名空间, -o wide 查看详细信息
kubectl get pod
kubectl get pod -n namespace
kubectl get pod -o wide
kubectl get pods --all-namespaces


# 查看所有 secret 
kubectl get secret --all-namespaces


# 查看 RC 和 service 列表
kubectl get rc,svc -n namespace


#查看全部节点
kubectl get nodes


# 显示 Node 的详细信息
kubectl describe node k8s-master


# 显示 Pod 的详细信息, 特别是查看 pod 无法创建的时候的日志
kubectl describe pod pod-name -n namespace


# 根据 yaml 创建资源, apply 可以重复执行,create 不行
kubectl create -f pod.yaml
kubectl apply -f pod.yaml


# 基于 pod.yaml 定义的名称删除 pod 
kubectl delete -f pod.yaml 


# 删除所有包含某个 label 的pod 和 service
kubectl delete pod,svc -l name=<label-name>


# 删除所有 Pod
kubectl delete pod --all


# 查看 endpoint 列表
kubectl get endpoints


# 执行 pod 的 date 命令
kubectl exec <pod-name> -- date
kubectl exec <pod-name> -- bash
kubectl exec <pod-name> -- ping 10.24.51.9


# 通过bash获得 pod 中某个容器的TTY,相当于登录容器
kubectl exec -it <pod-name> -c <container-name> -- bash
eg:
kubectl exec -it redis-master-cln81 -- bash


# 查看容器的日志
kubectl logs <pod-name>
kubectl logs -f <pod-name> # 实时查看日志
kubectl log  <pod-name>  -c <container_name> # 若 pod 只有一个容器,可以不加 -c 
kubectl logs -l app=frontend # 返回所有标记为 app=frontend 的 pod 的合并日志。


#查看k8s日志
journalctl -f -u kubelet.service


# 查看注释
kubectl explain pod
kubectl explain pod.apiVersion


# 查看节点 labels
kubectl get node --show-labels


# 重启 pod
kubectl get pod <POD名称> -n <NAMESPACE名称> -o yaml | kubectl replace --force -f -


# 修改网络类型
kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}'


# 伸缩 pod 副本
# 可用于将Deployment及其Pod缩小为零个副本,实际上杀死了所有副本。当您将其缩放回1/1时,将创建一个新的Pod,重新启动您的应用程序。
kubectl scale deploy/nginx-1 --replicas=0
kubectl scale deploy/nginx-1 --replicas=1


# 查看前一个 pod 的日志,logs -p 选项 
kubectl logs --tail 100 -p user-klvchen-v1.0-6f67dcc46b-5b4qb > pre.log


#获取该 Pod 的指标数据
kubectl top pod memory-demo -n namespace
posted @   GodsY  阅读(184)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示