越来越多的组织实现了云原生转型并将服务迁徙至 Kubernetes,取得了更佳的资源利用率和能够满足不断扩大需要的能力。与此同时零碎复杂度的晋升也给组织带来一些艰难,比方开发者每一次小变更的验证都必须提交一次 CI/CD。为了实现疾速、高效的开发,组织中的开发者须要一套办法来补救近程 Kubernetes 集群和本地环境之间的差距,并缩短运行反馈和调试的工夫。
KubeOrbit CLI 作为一款开源工具,以轻量无依赖的形式,容许开发者针对近程 Kubernetes 集群在本地编程和测试微服务,其提供的能力次要是买通本地和近程 Kubernetes 集群,使近程环境本地化,从而让服务开发者实现更快的反馈、合作和调试。
在设计 KubeOrbit CLI 时,咱们给它装备了优良的场景兼容能力。它岂但反对原生的 Kubernetes SVC 服务发现,也同时反对 Eureka、Nacos、Consul 等支流微服务注册发现核心。
KubeOrbit CLI 的外围能力为 Forward 命令,它的工作原理是将流量从近程集群中引向本地,在集群中能够间接拜访本地服务,通过在集群中部署 Proxy Agent 来配置容器的三层路由转发规定,同时配合本地 CLI 工具创立 ssh 端口转发,使得 ssh 客户端和服务端之间胜利建设一个隧道来进行通信。Forward 用到的是 ssh 近程端口转发的形式,也就是将发送到远端主机端口的申请转发到指标主机,这样能够通过拜访近程端口来达到拜访指标主机端口的目标。
上面是执行 Forward 后能够看到 Traffic Agent 已注入的图解:
其具体工作流程为:
- 重启 Workload Pod
- 初始化容器启动配置 Pod 网络栈
- 代理容器 kubeorbit-proxy 注入胜利
- 执行 port-forward 将近程服务端口映射至本地 ssh 端口
- 执行 ssh 近程端口转发,将流量转发至本地指定服务占用端口
目前 KubeOrbit CLI 跨平台操作系统曾经反对 Mac、Linux、Windows,以后版本只提供了近程到本地集群的买通能力,将来会持续优化,实现按需集成本地到近程集群买通以及内网 DNS 的性能。
理解更多:www.kubeorbit.io
关注咱们:GitHub 知乎 微博
分割咱们:dev.relation@teamcode.com