【kubernetes系列】kubernetes中常用命令总结

news/2025/1/16 5:57:43/

状态查询

#查看集群信息
kubectl cluster-info
#以本地服务部署的组件可以用以下命令查看
systemctl status kube-apiserver
systemctl status kubelet
systemctl status kube-proxy
systemctl status kube-scheduler
systemctl status kube-controller-manager
systemctl status docker

node相关

查看namespaces

kubectl get ns

为节点增加lable

kubectl label nodes 192.168.2.140 env=prod

查看节点和lable

kubectl get nodes --show-labels

查看状态

kubectl get componentstatuses
kubectl get cs

Node的隔离

kubectl cordon k8s-node1

Node的恢复

kubectl uncordon k8s-node1

#查询

查看所有nodes节点

kubectl get nodes

查看一个node

kubectl describe nodes k8s-m1

通过yml文件查询

kubectl get -f *.yml

endpoints端

kubectl get ep

pod相关

查看指定空间kube-system的pods

kubectl get po -n kube-system

查看所有空间的

kubectl get po -o wide -A

通过lable查询

kubectl get pods -l app=nginx -o yaml

当我们发现一个pod迟迟无法创建时,可以使用describe来查看详细信息。

kubectl describe pod xxx

删除所有pods

kubectl delete pods --all

删除所有包含某个lable的pod和serivce

kubectl delete pods,services -l name=<lable-name>

其他的写法

kubectl get pod -o wide --namespace=kube-system

svc相关

查看svc

kubectl get svc -A

其他写法

kubectl get services --all-namespaces

强制删除部署

kubectl delete deployment zk --force

删除rc(rs)

kubectl delete rs --all && kubectl delete rc --all

强制删除Terminating状态的pod

kubectl delete deployment zk-2 --grace-period=0 --force
滚动

回滚

kubectl rollout undo deployment nginx

查看滚动升级记录

kubectl rollout history deployment {名称}
查看日志

查看指定镜像的日志

kubectl logs -f *** -n kube-system

kubectl logs --tail=10 nginx

#pod中有多个容器指定查看某个容器的日志
kubectl logs pod_name -c container_name -n kube-system

扩展副本

kubectl scale rc nginx --replicas=3
kubectl scale rc nginx --replicas=1
kubectl scale --replicas=3 -f nginx.yml

启动转发(端口默认8001)

nohup kubectl proxy >/dev/null 2>&1 &

进入镜像

kubectl exec -it pod_name -n kube-system – /bin/bash
kubectl exec -it pod_name -n kube-system – /bin/sh
#注意不是所有的容器都有终端可以进入,要根据容器具体情况使用

创建和删除

kubectl create -f **.yaml
kubectl delete -f **.yaml
#创建和删除某个目录下的所有yml
kubectl create -f ./
kubectl delete -f ./

查看指定pods的环境变量

kubectl exec pod_name env

判断dns解析是否正常(注意集群dns的实际地址)

dig -t A kubernetes.default.svc.cluster.local @10.96.0.10

kubectl run

#启动nginx实例,默认是创建在default名称空间
kubectl run nginx --image=nginx

#创建到指定的kube-system空间中
kubectl run nginx --image=nginx:1.20.1 --replicas=3 -l name=nginx -n kube-system

#启动hazelcast实例,暴露容器端口 8080
kubectl run nginx–image=nginx–port=8080

#启动nginx实例,设置副本数3
kubectl run nginx --image=nginx --replicas=3

#启动一个名为busybox的实例,镜像busybox,并且进入容器内
kubectl run -i -t busybox --image=busybox --restart=Never

kubectl expose命令

#为deployments的nginx创建service,并通过Service的8080端口转发至容器的80端口上。
kubectl expose rc nginx --port=8080 --target-port=80

#由“nginx-controller.yml”中指定的type和name标识的RC创建Service,并通过Service的8080端口转发至容器的80端口上。
kubectl expose -f nginx-controller.yml --port=8080 --target-port=80

#暴露指定空间中的资源,例如下面指定暴露kube-system中的nginx资源暴露service名称为nginx-service暴露的端口是80,容器的端口也是80(target-port)。
kubectl expose deployments nginx --port=80 --protocol=TCP --target-port=80 --name=nginx-service -n kube-system

kubectl scale

#将deployments副本控制器中名为nginx的pod副本数设置为3。
kubectl scale --replicas=3 deployments nginx -n kube-system

#将由“nginx.yaml”配置文件中指定的资源对象和名称标识的Pod资源副本设为3。
kubectl scale --replicas=3 -f nginx.yaml

#如果当前副本数为2,则将其扩展至3。
kubectl scale --current-replicas=2 --replicas=3 deployment/nginx

更多关于kubernetes的知识分享,请前往博客主页。编写过程中,难免出现差错,敬请指出


http://www.ppmy.cn/news/663508.html

相关文章

vue(typescript)项目在vs中打开出现的各种问题

目录 vue3 报错解决&#xff1a;找不到模块或其相应的类型声明。&#xff08;Vue 3 can not find module&#xff09; (TS) 未知的编译器选项“allowImportingTsExtensions”。 TS6046 (TS) “--moduleResolution”选项的参数必须为 node, classic, node16, nodenext。…

Android studio使用总结(八)

1.防止EditText弹出键盘后顶起布局方法&#xff1a;在Manifest中有EditText的activity中添加 android:windowSoftInputMode"adjustPan|stateAlwaysHidden"2.为button设计不可点击事件 mBtAdd.setClickable(true); mBtAdd.setBackgroundResource(R.drawable.backgro…

如何用迅捷PDF转换器在线压缩PDF文件

大家在工作中传输和保存PDF文件&#xff0c;有时发现PDF文件过大不利于保存&#xff0c;这种情况很多人都会对其进行压缩&#xff0c;但在压缩PDF大小的同时&#xff0c;大家也要注意PDF文件压缩后的质量&#xff0c;那么怎么才能又压缩大小&#xff0c;又能保持文件清晰度呢&a…

解决AndroidStudio无法连接华为手机(安卓9,EMUI 9.0.1)问题

背景 我使用的手机是华为P10 Plus,近期升级到了安卓9(EMUI 9.0.1). 升级后,感觉使用起来更快了.但是却出现了一个相对坑娘的问题,AndroidStudio连接不上了. 费了老大劲,终于找到了规避方法. 解决方案 “开发人员选项”中,先打开“ “仅充电”模式下允许ADB调试 ”再打开“US…

如何根治手机内置吸费问题

SP利用手机内置进行吸费的问题由来已久&#xff0c;在昨天的315晚会上被再度曝光&#xff0c;距离上次央视曝光仅几个月之隔。 可是&#xff0c;尽管媒体屡屡曝光黑心SP和手机厂家&#xff0c;尽管有大量专业人士不断地奔走呼吁和出谋画策&#xff0c;尽管中国移动早在2004年就…

可以给手机电池充电的鞋子

可以给手机电池充电的鞋子 随着科学技术的不断进步&#xff0c;手机已经成为人们必不可少的工具之一&#xff0c;它为人们的沟通、学习甚至是娱乐都提供了极大的便利。打电话&#xff0c;发信息&#xff0c;上网&#xff0c;听歌&#xff0c;看电影&#xff0c;它无说不能。现…

Swagger|SpringBoot集成Swagger用以生成API文档

框架简介 Swagger的作用&#xff1a; 自动生成强大的RESTful API文档&#xff0c;减少开发人员的工作量。使用Swagger&#xff0c;只需在代码中添加一些注解即可生成API接口文档&#xff0c;不需要手动编写API接口文档&#xff0c;这减少了开发人员的工作量。 提供API文档的同步…

应用汇总|契约锁电子签章在各行各业的实际使用场景

2021年&#xff0c;契约锁电子签章深入应用到政府机关、高校、医院、银行、保险、期货、地产、汽车、制药等各类组织&#xff0c;通过集成不同管理软件和各类业务系统&#xff0c;为组织提供符合实际业务签署需求的电子签应用方案&#xff0c;助力组织数字化转型&#xff01; …