内容简介:Kubedog CLI 有两个功能:在 Kubernetes 上运行应用时,通常的做法是使用
Kubedog 是一个开源的 Golang 项目,使用 watch 方式对 Kubernetes 资源进行跟踪,能够方便的用于日常运维和 CI/CD 过程之中,项目中除了一个 CLI 小 工具 之外,还提供了一组 SDK,用户可以将其中的 Watch 功能集成到自己的系统之中。安装过程非常简单,在项目网页直接下载即可。
Kubedog CLI 有两个功能: rollout track
和 follow
。
rollout track
在 Kubernetes 上运行应用时,通常的做法是使用 kubectl apply
提交 YAML 之后,使用 kubectl get -w
或者 watch kubectl get
之类的命令等待 Pod 启动。如果启动成功,则进行测试等后续动作;如果启动失败,就需要用 kubectl logs
、 kubectl describe
等命令来查看失败原因。kubedog 能在一定程度上简化这一过程。
例如使用 kubectl run
命令创建一个新的 Deployment 资源,并使用 kubedog
跟进创建进程:
$ kubectl run nginx --image=nginx22 ... deployment.apps/nginx created $ kubedog rollout track deployment nginx # deploy/nginx added # deploy/nginx rs/nginx-6cc78cbf64 added # deploy/nginx po/nginx-6cc78cbf64-8pnjz added # deploy/nginx po/nginx-6cc78cbf64-8pnjz nginx error: ImagePullBackOff: Back-off pulling image "nginx22" deploy/nginx po/nginx-6cc78cbf64-8pnjz nginx failed: ImagePullBackOff: Back-off pulling image "nginx22" $ echo $? 130
很方便的看出,运行失败的状态及其原因,并且可以使用返回码来进行判断,方便在 Pipeline 中的运行。接下来可以使用 kubectl edit
命令编辑 Deployment,修改正确的镜像名称。然后再次进行验证:
$ kubectl edit deployment nginx deployment.extensions/nginx edited $ kubedog rollout track deployment nginx # deploy/nginx added # deploy/nginx rs/nginx-dbddb74b8 added # deploy/nginx po/nginx-dbddb74b8-x4nkm added # deploy/nginx event: po/nginx-dbddb74b8-x4nkm Pulled: Successfully pulled image "nginx" # deploy/nginx event: po/nginx-dbddb74b8-x4nkm Created: Created container # deploy/nginx event: po/nginx-dbddb74b8-x4nkm Started: Started container # deploy/nginx event: ScalingReplicaSet: Scaled down replica set nginx-6cc78cbf64 to 0 # deploy/nginx become READY $ echo $? 0
修改完成,重新运行 kubedog,会看到成功运行的情况,并且返回值也变成了 0。
follow
follow 命令的功能和 kubetail 的功能有少量重叠,可以用 Deployment/Job/Daemonset 等为单位,查看其中所有 Pod 的日志,例如前面用的 Nginx,如果有访问的话,就会看到如下结果:
$ kubedog follow deployment nginx # deploy/nginx appears to be ready # deploy/nginx rs/nginx-6cc78cbf64 added # deploy/nginx new rs/nginx-dbddb74b8 added # deploy/nginx rs/nginx-dbddb74b8(new) po/nginx-dbddb74b8-x4nkm added # deploy/nginx rs/nginx-6cc54845d9 added # deploy/nginx event: ScalingReplicaSet: Scaled up replica set nginx-6cc54845d9 to 1 # deploy/nginx rs/nginx-6cc54845d9(new) po/nginx-6cc54845d9-nhlvs added # deploy/nginx event: po/nginx-6cc54845d9-nhlvs Pulling: pulling image "nginx:alpine" # deploy/nginx event: po/nginx-6cc54845d9-nhlvs Pulled: Successfully pulled image "nginx:alpine" # deploy/nginx event: po/nginx-6cc54845d9-nhlvs Created: Created container # deploy/nginx event: po/nginx-6cc54845d9-nhlvs Started: Started container # deploy/nginx event: ScalingReplicaSet: Scaled down replica set nginx-dbddb74b8 to 0 # deploy/nginx become READY # deploy/nginx event: po/nginx-dbddb74b8-x4nkm Killing: Killing container with id docker://nginx:Need to kill Pod >> deploy/nginx rs/nginx-dbddb74b8 po/nginx-dbddb74b8-x4nkm nginx >> deploy/nginx rs/nginx-6cc54845d9(new) po/nginx-6cc54845d9-nhlvs nginx 127.0.0.1 - - [02/Jun/2019:11:35:08 +0000] "GET / HTTP/1.1" 200 612 "-" "Wget" "-" 127.0.0.1 - - [02/Jun/2019:11:35:11 +0000] "GET / HTTP/1.1" 200 612 "-" "Wget" "-"
项目地址
https://github.com/flant/kubedog
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 介绍一个小工具:Ksniff
- 9 款 AI 测试工具介绍
- [安全技巧] 网络十大黑客工具介绍
- Linux 系统监测工具 sysstat 介绍
- 自动化测试工具Serverwalker介绍
- Linux统计/监控工具SAR详细介绍
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java性能权威指南
奥克斯 (Scott Oaks) / 柳飞、陆明刚、臧秀涛 / 人民邮电出版社 / 2016-3-1 / CNY 79.00
市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。 通过阅读本书,你可以: 运用四个基本原则最大程度地提升性能测试的效果 使用JDK中......一起来看看 《Java性能权威指南》 这本书的介绍吧!