使用K8S ingress访问苍穹服务

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

使用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-connect-timeout: "1800s"

    nginx.org/proxy-read-timeout: "1800s"

上传文件大小参数同理需要修改:nginx.org/client-max-body-size: "1024m"

使用K8S ingress访问苍穹服务

1 背景说明随着云计算的发展,许多企业都搭建了自己的云管理平台,统一管理着各个业务系统服务,其中许多云平台管理规范是统一提供ingress...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息