百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

如何在kubernetes中配置转发和代理

off999 2025-03-11 19:56 25 浏览 0 评论

Kubernetes中HTTP请求的代理和转发使用场景比较多,这里对代理和转发各举一个例子。

  • 环境

笔者这里使用的Ingress Controller是“NGINX Ingress Controller”,版本是“1.7.1”,Kubernetes的版本是“1.25.6”。

  • 转发配置

因业主的要求,对原本运行在数据中心A的服务做了迁移,服务迁移后,原有的域名因已广播出去,短期内不做下线处理,客户访问老的域名也需要跳转到服务,这里通过配置转发来解决,具体的配置如下,

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: "https://www.b-site.com/$2"
  name: rewrite-target
  namespace: my-app
spec:
  rules:
  - host: www.a-site.com
    http:
      paths:
      - backend:
          service: 
            name: outer-service
            port: 
               number: 80
        path: /outer/(/|$)(.*)
        pathType: Prefix

通过配置重写,新的域名可以提供服务,老的域名也得以保留。原理很简单,它是通过Nginx的rewrite指令实现的302重定向。

  • 代理配置

Kubernetes中,实际的服务可以不用运行在集群内。人为配置“endpoints”和“service”,通过内部的服务名来访问运行在集群外的服务。

私有化部署的服务,需要访问一个外部第三方接口,其仅能通过http访问,而部署在Kubernetes中的服务都通过https访问,为了解决Chrome浏览器报出的“Mixed Content”异常,

这里配置代理访问,前端页面便可以使用https来请求第三方接口,配置如下,

---
apiVersion: v1
kind: Endpoints
metadata:
  name: external-service
  namespace: my-app
subsets:
  - addresses:
      - ip: 123.123.123.123 #第三方接口ip
    ports:
      - port: 8000              # 第三方服务的端口
---
apiVersion: v1
kind: Service
metadata:
  name: external-service
  namespace: my-app
spec:
  ports:
  - protocol: TCP
    port: 80
    targetPort: 8000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: external-ingress
  namespace: my-app
spec:
  ingressClassName: nginx
  tls:
  - hosts:
    - '*.a-site.com'
    secretName: ssl-key
  rules:
  - host: www.a-site.com
    http:
      paths:
      - path: /outer/
        pathType: Prefix
        backend:
          service:
            name: external-service
            port:
              number: 80

上面配置中,“www.a-site.com”是使用https访问的,通过配置代理,请求路径以“/outer/”开头的链接都将代理到第三方的接口,这样Chrome就不会报“Mixed Content”异常了。

在Kubernetes中,service使用selector来绑定和自己同名的endpoints,这里我们手动配置同名的endpoints和service来实现service与endpoints的绑定。

文章对Kubernetes中“NGINX Ingress Controller”的转发和代理配置做了简单举例,希望能对你平时的工作有所启发,感谢阅读和评论!

相关推荐

由于英语(由于生病,他不能来参加会议英语)
由于英语(由于生病,他不能来参加会议英语)

“因为”的英文短语:owingto、becauseof;“结果”的英文短语:intheendbecause读法英[b??k?z]美[b??k??z]conj.因为短语:1、justbecause正因为2、me...

2025-12-26 07:03 off999

手机应用占了100g怎么清除(手机应用占了100g怎么清除缓存)
手机应用占了100g怎么清除(手机应用占了100g怎么清除缓存)

你下载的app太多,而且每个app都是有缓存的。长时间下来数据多了那么手机的内存也就小了首先,可以尝试清理应用缓存和垃圾文件,可以通过在设置中找到“存储”选项,选择“清除缓存”和“清除垃圾文件”来进行清理。其次,可以卸载一些不常用的应用程序...

2025-12-26 06:51 off999

电脑win10系统更新怎么关闭(win10从哪关闭电脑更新)

如果您正在进行Windows10的系统升级,并希望取消升级,可以按照以下步骤操作:1.点击Windows开始菜单,在搜索框中键入“WindowsUpdate”并打开它。2.在“更新设置”窗口中...

插u盘也响就是读不出来(为啥插上u盘有声音但没反应)

u盘插电脑有声音不读取是因为USB大容量存储设备设置错误。1、将U盘插入电脑,然后打开此电脑。2、在系统列表界面打开“设备管理器”。3、在打开的“设备管理器”窗口中,展开“通用串行总控制器”。4、选择...

怎么取消电脑自动关机时间(怎么取消电脑自动关机时间限制)

1、在电脑键盘里找到windows和R这两个键盘,找到之后,同时按住这两个键盘。2、按住了这两个组合键之后就将可以将电脑的命令窗口打开了。3、在命令窗口里面的打开一栏里输入shutdown-a这样的...

三大oa办公软件(oa办公软件有哪些品牌)

办公自动化(OfficeAutomation,简称OA)系统,是利用先进的电子信息技术和现代办公设备构成的人机信息处理系统,辅助管理人员进行各种办公活动。OA常用于企业,是企业信息化实施的第一步。O...

无线网卡的安装方法(无线网卡安装视频教程)

1、将无线网卡插入电脑主机后部的USB接口内。2、打开我的电脑(此电脑),里面会多出一个磁盘。(如果没有的话,请你重新插入,如果还是没有的话,请重装系统。)。3、点进多出来的一个磁盘,点击带有setu...

wifi提速到最大网速(wifi速度提升10倍)

我们以WIN7系统为例,方法如下:单击开始→运行→输入→gpedit.msc回车→打开组策略对象编辑器计算机管理→管理模版→网络→QOS数据包计划程序→双击限制可保留带宽到达设置界面→选择启用→选项...

雨林木风win7旗舰版32(雨林木风win7旗舰版安装教程)

安装雨林木风GHOSTwin764位旗舰版系统需要您按照以下步骤进行:1.下载并解压缩GHOST文件。通常,GHOST文件是经过压缩的,您需要使用WinRAR或7-Zip等解压缩工具将其提取出来...

oppo手机管家下载(苹果手机管家免费下载安装)

可能是系统应用,这类应用在卸载时一般会因为没有root,所以其实没有卸载,而是停用了。可以在设置->应用程序里找到它,再启用试试。如果需要更新,可以用系统自带的应用商店更新。一般这类软件不需要更...

win10下载游戏用什么软件(win10下载游戏用什么软件好)

Windows10系统可以使用以下游戏下载器:1.Steam:Steam是最受欢迎的游戏下载器之一,拥有大量游戏可供下载。2.GOGGalaxy:GOGGalaxy是一个专门为GOG平台设计...

注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
  • 注册hotmail免费邮箱(注册hotmail邮箱需要手机吗)
win8系统对硬件的要求(win8.1 硬件要求)

需要硬件,音响的提升不太大,大灯看个人对灯光的需求,常开豪车的可能会觉得iq灯更舒服,其实标配的大灯满足日常生活没问题了。驾驶辅助包目前不选配的情况下车道保持可以通过刷机刷出来,后期应该能实现交通标志...

电信宽带办理套餐(电信宽带办理套餐最低多少)

1、每月99元(全国流量20G):送100M宽带+全国流量20G+300分钟通话+光猫免费+4K高清机顶盒免费+免费上门+免费安装(限城中村或部分竞争小区办理)2、每月119元(全国流量40G):送3...

qq号注册微信(qq号注册微信账号教程)

1、直接进入微信,点击下方的注册。2、它要我们输入电话号,别担心,我们按它的来,之后这个手机号是可以解除绑定的,不会有任何影响。3、之后会发验证码给你,输入后就能到这个界面,我的手机是自动输入并跳转到...

取消回复欢迎 发表评论: