Php和h5等静态文件的服务容器化部署(下)

一、接着上文

上文介绍了php/h5程序的部署过程,最后是通过slb把不同的服务暴露给外部。

本文试着把外部的配置交待清楚,包括:

  • kong配置
  • ingress配置

部署逻辑图见下:

总结: 去掉slb,引入ingress组件。

于是,本文的重点是讨论服务的外网暴露方式有哪几种??

二、外网暴露方式

在保留kong网关的前提下,因为kong外网的外网Ip地址已在客户的授信名单里,不能轻易修改。况且,新老版本的过渡方案,也不允许去掉Kong。

1、方式一:Kong upstream配置slb的ip+port

依赖slb监听的tcp端口,也还是需要slb。

2、方式二:kong upstream配置pod的ip

无需额外引入ingress或者slb,缺点是滚动更新的时候,pod ip是会变更的。

幸运的是,本文建议的这种部署方式,在服务发版的时候,不会涉及到pod变更。

当然扩缩容除外,还是需要手动维护。

3、方式三:编写kong 自定义插件,把请求转发到ingress

4、方式四:kong route路由开启preserve_host,把请求转发到ingress

kong在配置route路由的时候,配置项Preserve Host,When matching a Route via one of the hosts domain names, use the request Host header in the upstream request headers. By default set to false, and the upstream Host header will be that of the Service's host

这样,kong在此访问链路中,仅仅起转发的作用。

kong upstream配置ingress的IP地址,端口为80。

ingress接收到域名后,解析并转发到对应的后端pod。

三、ingress的配置

上面其实已讲到了如何配置,域名和服务是一对一的关系。

下面举例说下,一个域名对应后端多个服务的情况。

四、总结

关于php和h5的容器化部署就总结到这,上篇文章是讲述具体的部署过程,下篇侧重于外网的暴露方式。

对于静态文件的容器化部署,可以有和java等常驻内存的部署不同之处。

个人觉得,这种方式很好地规避了php和h5服务的数量多以及文件大,且节约了k8s的资源。

推荐给你,希望本文能够帮助到你。

相关推荐
evoxwht8 小时前
给 CRMEB V8 接一个 S3 兼容存储驱动
php
DolitD12 小时前
UE像素流与云渲染技术方案对比分析
3d·云原生·ue5·云计算·图形渲染
北京中科新远科技13 小时前
高速交换机端口预算怎么做?下行、上联、拆分和冗余计算框架
开发语言·php
yz_aiks13 小时前
WorkBuddy 怎么做网页小游戏:深海钓鱼游戏 43 次对话、301 积分从一句话做到发布(附手机横屏踩坑)
人工智能·html5·ai编程·小游戏·workbuddy
天府云创14 小时前
面向 Personal Agent 增强长期记忆与个性化能力,阿里云升级Memory 服务
阿里云·云计算·memory·agent智能体·长期记忆·personal agent
其实防守也摸鱼14 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
这个DBA有点耶15 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
分布式存储与RustFS20 小时前
JuiceFS 接 RustFS 当数据后端:把对象存储挂成本地文件系统
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
可涵不会debug20 小时前
PHP2Shell 爆发一周后:CVE-2026-109618/109619 自查、修复与防护实录
安全·php·云安全·waf·phpshell