使用K8S ingress访问苍穹服务
1 背景说明
随着云计算的发展,许多企业都搭建了自己的云管理平台,统一管理着各个业务系统服务,其中许多云平台管理规范是统一提供ingress暴露给外部访问,而不是nodeport方式(安装器默认是暴露30001,30002 nodeport端口号来访问MC和苍穹)。下文讲解如何使用苍穹接入客户的ingress服务。
2 配置方案
苍穹默认需要暴露的服务是mc、web服务,提供给nginx进行转发,以此提供访问入口。
企业提供的ingress暴露有两种场景:
场景一:一种是提供一个泛域名方式,可以注册多个ingress地址,这样暴露的服务都有自己的ingress地址。
如下图:
场景二:而另一种是客户分配某一个系统只能使用一个ingress地址,这种情况就只能通过context上下文根来区分不同服务了。(客户一般只会提供一个ingress地址,场景二的情况更普遍)
3 配置方法
针对场景一,提供多个ingress地址
mc和web各配置一条ingress进行转发,web容器转发/ierp和/msgwatch路径,mc容器转发/ierp路径,如下图:
upstream.conf配置文件参考:
upstream next-ierp { server web.ingress.kingdee.com; } upstream next-mc { server mc.ingress.kingdee.com; } ......
针对场景二,只提供一个ingress地址,通过上下文根区分服务
mc和web共用一条ingress进行转发,web容器转发/ierp和/msgwatch路径,mc容器转发/mymc路径,如下图:
1、此场景要求ingress暴露的服务不能使用相同的文根,所以mc和web不能都为ierp文根,可以通过修改容器环境变量JETTY_CONTEXT参数来定义服务的访问文根。
例:web的文根JETTY_CONTEXT=ierp,mc的文根JETTY_CONTEXT=mc
2、修改nginx配置文件mc.conf,参考如下:
修改nginx配置文件ierp.conf,参考如下:
由于修改了mc的JETTY_CONTEXT,动态请求也用JETTY_CONTEXT做了区分,所以mc和ierp的访问可以放在一个端口下,而8090只放appstore和静态资源的内部访问。
tips:
1、mc的JETTY_CONTEXT值必须含有mc字样,不能直接取mc,如testmc,mymc,mctest
2、ingress底层也是一个nginx作为反向代理,默认超时参数是60s,如果有些请求耗时比较长就会出现504网关超时错误,此时需要修改超时参数,建议联系客户K8S管理人员设置。
修改方法参考链接:ingress超时参数设置
nginx.org/proxy-read-timeout: "1800s"
上传文件大小参数同理需要修改:nginx.org/client-max-body-size: "1024m"
使用K8S ingress访问苍穹服务
本文2024-09-23 01:12:48发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144499.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf