kubenetes v1.5.2 常用命令
查看版本
1 | [root@master ~] # kubectl version |
查看pods (缩写pod、po 只要唯一即可)
1 | [root@master ~] # kubectl get pods |
查看pod建立在哪个node上 (node 缩写no 只要唯一即可)
1 | [root@master ~] # kubectl get pods -o wide |
1 | [root@master ~] # kubectl get pods -o wide --all-namespaces |
查看deployment状态 (deployment 缩写 deploy 只要唯一即可)
1 | [root@master ~] # kubectl get deployment |
上一条命令出现No resources found.时 用下面这条命令加上--all-namespaces参数,不加就只显示default的namespaces
1 | [root@master ~] # kubectl get deployment --all-namespaces |
查看服务(service 缩写 svc 只要唯一即可)
1 | [root@master ~] # kubectl get service |
service全部显示也要加--all-namespaces
1 | [root@master ~] # kubectl get svc --all-namespaces |
describe查看Pod、node等详细信息(一般排错时用) ,要跟上pod的全部名字
1 | [root@master ~] # kubectl describe pod mysql-2261771434-28hjp |
1 | [root@master ~] # kubectl describe node node1 |
查看pod里容器的log
1 2 | [root@master ~] # kubectl get pod #先查看pod的名字 [root@master ~] # kubectl log mysql-2261771434-28hjp #用查到的pod名字去查看 |
查看具体的pod错误
1 2 3 4 | [root@master ~] # kubectl get pods -o wide --all-namespaces NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE kube-system kubernetes-dashboard-latest-4008409309-srxl8 0 /1 ImagePullBackOff 0 24m 10.255.86.2 node1 [root@master ~] # kubectl log -f kubernetes-dashboard-latest-4008409309-srxl8 -n kube-system |
查看Log,Attach实时显示消息,log是列出已有的内容。(比Log命令更新详细)
1 2 | [root@master ~] # kubectl get pod #先查看容器name [root@master ~] # kubectl attach mysql-2261771434-28hjp |
在pod容器中执行一条命令
1 2 | [root@master ~] # kubectl get pod #先查看容器name [root@master ~] # kubectl exec mysql-2261771434-28hjp ls /etc #查看容器的/etc目录 |
进入Pod的交互模式
1 2 | [root@master ~] # kubectl get pod #先查看容器name [root@master ~] # kubectl exec -it mysql-2261771434-28hjp /bin/bash #进入到bash交互模式 |
从Pod容器内拷入 、拷出文件
1 2 | [root@master ~] # kubectl cp mysql-2261771434-28hjp:/tmp/hosts hosts #将远程hosts文件拷到本地(本地文件名必须要写) [root@master ~] # kubectl cp hosts mysql-2261771434-28hjp:/tmp/ #将本地的hosts文件拷入到容器中 |
注意:cp命令需要tar命令支持,否则cp时会报错:error: unexpected EOF,点击查看cp报错解决方法
(events 缩写ev 只要唯一即可)
(replicasets 缩写rs 只要唯一即可)
(replicationcontrollers 缩写 rc 只要唯一即可)
(namespaces缩写ns 只要唯一即可)
删除一个名字为nginx3的pods
1 | [root@master ~] # kubectl delete deployment nginx3 |
删除一个名为node31的node
1 | [root@master ~] # kubectl delete node node31 |
删除一个非默认的deployment ,删除时要指出name 和-n namespace
1 2 3 4 5 | [root@master ~] # kubectl get deployment --all-namespaces NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE kube-system kubernetes-dashboard-latest 1 1 1 0 45m [root@master ~] # kubectl delete deployment kubernetes-dashboard-latest -n kube-system deployment "kubernetes-dashboard-latest" deleted |
删除一个已经存在的service服务
1 | [root@master ~] # kubectl delete -f dashboard-service.yaml |
新创建一个pod:
1 | [root@master ~] # kubectl run nginx3 --image=docker.io/nginx --replicas=1 --port=9003 |
注意 nginx3和port,再创建其他Pod时不能重复
--image 指定创建的镜像
--replicas 指定此pod里的容器数量
--port pod对外通信端口
新创建yaml配置文件启动:
1 | [root@master ~] # kubectl create -f mysql-deployment.yaml |
新创建yaml批量文件启动:文件放一个目录下,直接指定该目录
1 | [root@master ~] # kubectl create -f yamls/ |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!