如何在本地构建和测试Kubernetes应用程序?
极客时间编辑部
讲述:丁婵大小:1.20M时长:02:37
对工程师而言,开发可以部署在容器调度平台上的微服务是一个新的挑战,尤其是在本地构建和测试有若干依赖项的服务。Kubernetes 1.3 包含一个基于 VM 的、可以在本地运行的单节点集群 minikube,但它会消耗大量的本地资源。
开源工具 Telepresence 提供了另外一种方法,开发人员可以借助它在本地构建和测试服务,而且该服务透明地集成(通过一个双向代理)了它所依赖的那些运行在远程集群上的服务。
近日,InfoQ 采访了 Telepresence 的创建者,来自 Datawire 的软件工程师阿贝·萨克塞纳(Abhay Saxena),谈论了 Telepresence 的诞生始末,以及它主要的应用场景。
对于为什么要开发 Telepresence,萨克塞纳解释道,开发者在 Kubernetes 上使用微服务架构构建一个云应用程序时,开发、调试的周期会比较长。每次代码变更,开发者都得走一遍容器构建、部署流程,这种额外的延迟拖慢了进度。
而借助 Telepresence,开发者就可以省掉这个流程,他们在本地编写并运行服务,其他的都运行在远程 Kubernetes 集群上。Telepresence 在本地服务和远程 Kubernetes 集群之间创建了一个双向代理,因此,本地服务拥有远程集群的全部访问权限,反之亦然。最直接的效果就是,开发者可以改两行代码,然后立即测试。
萨克塞纳表示,Telepresence 最常见的应用场景是快速开发。持续集成、持续部署管道是一个重要的工具,但对实际的开发来说非常恐怖,没有哪个开发人员愿意每次变更时都等待 CI 完成。第二个场景乍听起来有点让人奇怪,就是运行调试器,有用户希望借助 Telepresence 在微服务上使用调试器,这就跟在代码上运行调试器一样简单。
但是,萨克塞纳也指出,如果将基本的 Kubernetes SDLC 想成“编码、部署、监控”,Telepresence 针对的仅仅是“编码”阶段。在编码阶段,开发者需要编写并测试服务,而 Telepresence 可以提高他们在那个阶段的生产力。一旦要部署到生产环境,就需要使用 CI/CD 管道了。但 Telepresence 也正在做一些工作,让它可以用在一些生产相关的场景中。
对于 Kubernetes 的未来,萨克塞纳认为,长远来看,Kubernetes 有望成为类似 POSIX(POSIX 是云基础设施的交互操作标准)云版本这样的东西,最近发布的 DC/OS Kubernetes 就是一个很好的例子。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论