如何从 Kubernetes 集群外访问集群内的容器服务

容器网络跟机房网络不在一个网络平面,一般不能互通,然则在混合环境中如何从 Kubernetes 集群外去访问 Kubernetes 集群里面的服务呢?本文将介绍该需求的多种实现方式。

本文由作者授权发布,未经许可,请勿转载。

作者:李岚清,网易杭州研究院云计算技术中心资深工程师

容器化是一个逐步推进的过程,不是一蹴而就的。肯定是有一部分业务部署在 Kubernetes 中,有一部分业务还是部署在裸机或者虚拟机上。那么我们如何从 Kubernetes 集群外去访问 Kubernetes 集群里面的服务呢?或者说,我们如何将 Kubernetes 集群内的服务暴露到 Kubernetes 集群外?

之所以存在这个问题,一个核心的原因是容器网络跟机房网络不在一个网络平面,一般情况是不能互通的(只能单向通,即容器可以通过 SNAT 访问机房网络)。

网易杭研自 2015 年就开始基于 Kubernetes 研发和打磨轻舟云原生平台,其中包括容器云组件,并曾探索容器与IaaS深度融合(以实现最优性能)的技术路线,对类问题此经验丰富。本文将基于网易轻舟团队研发经验,介绍如何通过多种方式来实现该需求。

HostNetwork

首先想到的最简单的方式是,将pod设置为hostNetwork的,即直接使用宿主机网络。hostNetwork类型的pod与宿主机共享网络协议栈。

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网易杭研

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值