kubernetes上构建外网能够访问的应用:NodePort与Ingress的配置实例

本文介绍了在kubernetes上配置NodePort和Ingress,以实现外部网络访问集群内部服务的方法。通过NodePort服务,内部服务器可以访问Pod,但公网访问受限。为解决这个问题,文章详细讲解了安装和配置Ingress的过程,包括启用ingress控制器、设置MetalLB作为负载均衡器,以及配置IP池。最终,通过检查ExternalIP确保Ingress配置成功,使得外部IP的指定端口能访问内网服务。
摘要由CSDN通过智能技术生成

kubernetes上构建外部能够访问到的应用

标签:kubernetes 服务发现

起因是我在安装dashboard的时候,外部无论如何也不能够访问到dashboard,后面改了service也只是提供了一个内网ip,而且登陆不上。

问题:如果有一个和k8s集群不在同一个子网的机器,它该如何访问k8s集群内部署的服务?

参考:

基本思想:如果云服务商不提供负载均衡器的话,外部想要访问只能够使用NodePort,但是一般需要nginx再进行一次反向代理。而ingress出现后可以用ingress controller读取集群中的ingress规则变化,动态生成nginx配置文件并注入到nginx的Pod中。

为什么要部署ingress:Service NodePort是4层调度,无法直接卸载https协议,而kubernetes ingress是7层调度,可以直接卸载https回话。

实验目标

  1. 实现外网到内网服务器通过ServicePort的访问
  2. 实现外网到内网服务器通过Ingress的访问
  3. 实现其他方式的服务发现

开始实验

因为我安装了istio,先将istio注入关闭:kubectl label namespace default istio-injection=disabled --overwrite,希望我实验完之后记得把它弄回去。

首先配置nginx的Deployment,rc也可以

apiVersion: extensions/v1beta1
kind: Deployment
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值