Kubectl的命令大全(三)
查看系统版本
kubectl version //显示客户端和服务器侧版本信息 kubectl api-versions //列出当前版本的kubernetes的服务器端所支持的api版本信息 kubectl explain pod //查看帮助信息和help类似,尤其是资源清单的结构字段信息 kubectl cluster-info //获取k8s集群信息 kubectl explain Deployment.spec.template.spec.containers.resources //查看帮助信息,资源下的cpu和memory等,每个配置项都有详细的网页手册地址
动态管理
kubectl scale rc nginx --replicas=5 //动态伸缩 kubectl scale deployment redis-slave --replicas=5 //动态伸缩 kubectl scale --replicas=2 -f redis-slave-deployment.yaml //动态伸缩 kubectl exec -it redis-107-q47hh /bin/bash //进入容器 kubectl label nodes node1 zone=north //增加节点lable值 spec.nodeSelector: zone: north kubectl label pod redis-107-q47hh role=master //增加lable值 [key]=[value] kubectl label pod redis-107-q47hh role- //删除lable值 kubectl label pod redis-107-q47hh role=backend --overwrite //修改lable值 kubectl rolling-update redis-master -f redis.yaml //配置文件滚动升级 kubectl rolling-update redis-master --image=redis-master:2.0 //命令升级 kubectl rolling-update redis-master --image=redis-master:1.0--rollback //pod版本回滚 kubectl cp fileName podName:/fileName //复制文件到pod的指定目录,也可从容器中复制文件到外部 kubectl patch service istio-ingressgateway -n istio-system -p '{"spec":{"type":"NodePort"}}' //修改网络类型 eg例子: kubectl run nginx-dep --image=nginx --port=80 --replicas=1 //创建的 deployment为nginx-dep 镜像为nginx 端口为80 副本数为1 kubectl expose deployment nginx-dep --port=3000 --target-port=80 //--port:SVC 暴露的端口为3000--target-port:映射的容器端口。即创建 deployment 时使用的端口。 kubectl edit svc nginx-dep //修改svc的yaml文件
创建和删除pod
kubectl create -f yamls/pod.yaml //根据yaml文件创建容器 kubectl apply -f yamls/pod.yaml //根据 yaml 创建资源, apply 可以重复执行,create 不行 kubectl create -f yamls/ //多个yaml文件创建容器 kubectl delete -f yamls/pod.yaml //删除指定pod kubectl delete -f yamls/ //删除多个pod kubectl delete pods podName //删除指定pod kubectl delete deployment ControllerName //有控制器的pod不能直接删除,需先删除其控制器 kubectl delete pod,svc -l name=<label-name> //删除所有包含某个 label 的pod 和 service kubectl delete pod --all //删除所有 Pod
查询资源
kubectl get namespaces //列出所有的namespace kubectl get nodes //显示node节点信息 kubectl get endpoints //查看 endpoint 列表 kubectl get services -n kube-system //查看所有service -n指定namespace kubectl get deployments -n kube-system //查看所有deployment kubectl get pods --all-namespaces //查看所有pod kubectl get pod <pod-name> -o yaml //查看Pod对应的yaml文件 kubectl get pods -o wide --all-namespaces //查看所有pod的IP及节点 kubectl get pods -o wide --all-namespaces -c //查看所有pod的IP及节点并实时等待监控 kubectl get pods -n kube-system | grep dashboard //查看namespace中kube-system下的pod 并过滤 kubectl get pod --show-labels -l tier=frontend //查看Pod 列出LABELS字段,还有tier=frontend的Pod kubectl top pod //查看每个pod占用的内存
描述资源
kubectl describe service my-svc //查看my-svc的详细描述 kubectl describe pods my-pod //查看my-pod的详细描述 kubectl describe node 192.168.0.212 //显示 Node 的详细信息
查看日志
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话