使用Internal Kubernetes服务预部署开发通信

时间:2017-01-19 23:07:38

标签: amazon-web-services kubernetes vpn

我正在考虑迁移到Kubernetes(来自AWS ECS)。但是,依靠内部服务,我还没有解决当地的发展问题。

让我详细说明:

在开发和测试微服务时,在将它们部署为Kubernetes服务之前,我希望能够与其他内部Kubernetes服务进行交流。因为有> 20个微服务我有一个运行最新开发版本的Kubernetes集群。我无法运行MiniKube。

示例:

我正在开发一个需要访问电子邮件服务的用户服务。电子邮件服务已经在Kubernetes上,是一项内部服务。

因此,在部署用户服务之前,我希望能够与开发/测试的内部电子邮件服务进行通信。我无法使用K8S很好的服务发现env vars。

由于我们目前已经拥有VPN限制DEV env仅限于测试人员/开发,我可以使用此VPN来访问Kubernetes-Service IP地址吗?我确实在与VPN相同的VPC上安装了Kubernetes DEV-env。

2 个答案:

答案 0 :(得分:1)

如果将内部服务部署为NodePort类型,则可以通过该nodePort通过VPN访问它们。 NodePorts可以动态分配,也可以将它们自定义为“静态”。你在前面认识他们的地方。

在本地计算机上开发应用程序时,您可以通过该NodePort访问相关服务。

作为替代方案,您可以使用kubectl(https://kubernetes.io/docs/user-guide/connecting-to-applications-port-forward/)中的port-forwarding将广告连播转发到本地计算机。 (注意:这仅处理对pod而不是服务的流量)。

答案 1 :(得分:1)

远程呈现(http://telepresence.io)专为此方案而设计,但它假定开发人员可以访问登台/开发群集。