docker_工作中常用的命令 ——(持续更新)

docker+k8s—常用命令(持续更新)

查看命名空间、pod、deployment、service、ingress、configmap

kubectl get pod -A                      # 全局范围忽略命名空间获取pod
kubectl get namespaces                  # 获取命名空间
kubectl -n <namespace> get pod          # 获取命名空间内pod
kubectl -n <namespace> get deployments  # 获取命名空间内deployment
kubectl -n <namespace> get svc          # 获取service相关信息,可查看service ip
kubectl -n <namespace> get ingress      # 获取命名空间内ingress
kubectl -n <namespace> get cm           # 查找命名空间内configmap
kubectl -n <namespace> get pod  -o wide # 详细获取pod信息

改变服务副本数、回滚服务状态

kubectl -n <namespace> scale --replicas=0 deployment <deployment_name> # 改变服务节点数(一般可用于重启pod)
kubectl -n <namespace> rollout restart deployment <deployment_name>    # 回滚deployment
kubectl -n yqcloud get deployment | grep 0/1  | awk '{print $1}' | xargs -n1 kubectl  scale deployment  -n yqcloud --replicas=0 # 将状态为0/1的deployment副本数设为0

排错:查看event、日志、OOM

kubectl -n <namespace> describe pod <pod_name>       # 查看pod错误原因
kubectl -n <namespace> logs <pod_name> --tail 200 -f # 查看最后200行日志(最新)
kubectl -n <namespace> logs -f <pod_name> | less     # 分页显示日志,支持从前往后和从后往前查看
watch -n 1 kubectl get po -n <namespace>             #实时观看第一行
dmesg | tail    # 显示dmesg最近一次的输出
dmesg -T | grep Kill    # 查看内存溢出(OOM out of memery)

查看deployment、svc、configmap配置文件

kubectl -n <namespace> get deployments <deployment_name> -o yaml  # 查看deployment文件(可在yaml文件中查看image镜像的版本,也可describe查看镜像版本)
kubectl -n <namespace> edit deployments <deployment_name> -o yaml # 编辑deployment文件(可在中直接修改版本)
kubectl -n <namespace> get svc <svice_name> -o yaml  # 查看svc配置文件
kubectl -n <namespace> edit svc <deployment_name>    # 修改svc配置文件(可进入service里修改镜像名、副本数、环境变量等)**有待考证**
kubectl get cm <deployment_name> -n <namespace> -o yaml # 查看configmap文件

删除pod、deployment

helm -n <namespace> uninstall <deployment_name>   # 卸载deployment
helm -n <namespace> delete <pod_name>             # 卸载pod
kubectl -n <namespace> delete pod                 # 删除pod
kubectl delete pod,service baz foo                # 删除名为“baz”的pod和名为“foo”的service
kubectl delete pods,services -l name=myLabel      # 删除具有name=myLabel标签的pod和serivce
kubectl -n <namespace>  delete pod <pod_name> --force --grace-period=0    # 强制删除pod
kubectl -n yqcloud get pods | grep Evicted | awk '{print $1}' | xargs kubectl -n yqcloud delete pod   #批量删除状态为Evicted的pod
docker image ls | awk '{print $3}' |  grep -v IMAGE | xargs docker rmi # 删除没有使用的服务镜像(先列出镜像,然后匹配第三列,接着过滤掉 IMAGE ,然后使用xargs连接删除语句)

没想好怎么分类

kubectl exec -it -n <namespace> <pod_name> -c <continar_name>  bash  # 进入pod内
kubectl taint nodes --all node-role.kubernetes.io/master-   # 让 master节点参与POD负载
kubectl taint nodes <node-name> node-role.kubernetes.io/master=:NoExecute  # 让 master节点恢复不参与POD负载,并将Node上已经存在的Pod驱逐出去
kubectl get node --show-labels              #查看所有node节点的标签
kubectl label nodes worker03 type=node_type #给节点添加标签

split -b 100M "PSH01.tar"    # 切割tar包
cat xa* > all.tar            # 组合切割后的tar包
lsof -i:端口号                # 查看端口占用情况
netstat -tunlp | grep 端口号  #用于显示tcp/udp端口和进程等相关情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值