内容简介: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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Google软件测试之道
James A. Whittaker、Jason Arbon、Jeff Carollo / 黄利、李中杰、薛明 / 人民邮电出版社 / 2013-10 / 59.00元
每天,google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《google软件测试之道》抓住了google做测试的本质,抓住了google测试这个时代最......一起来看看 《Google软件测试之道》 这本书的介绍吧!