如何将IBM FS Cloud容器应用公开到公网
挑战背景
金融机构需要严格控制信息流,IBM金融云框架建议将工作负载和互联网组件分离到不同的VPC中:工作负载VPC和边缘VPC。这种架构虽然提高了安全性,但也带来了应用公开访问的复杂性。
解决方案架构
核心组件包括:
- 云互联网服务
- 公共应用负载均衡器(ALB)
- 私有路径网络负载均衡器(PPNLB)
- OpenShift集群
- 虚拟私有端点(VPE)
实施步骤
1. 在集群中部署服务
遵循OpenShift应用部署指南部署您的服务(示例使用echo-server服务)。
2. 创建集群服务
apiVersion: v1
kind: Service
metadata:
name: echoserverservice
spec:
selector:
app: echo-server
ports:
- protocol: TCP
port: 8080
targetPort: 8080
3. 配置Ingress资源
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: echoserveringressresource
spec:
rules:
- host: paris-ppnlb.ibm.eychenne.us
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: echoserverservice
port:
number: 8080
4. 创建私有路径负载均衡器
apiVersion: v1
kind: Service
metadata:
name: echo-vpc-nlb-eu-de-1
namespace: openshift-ingress
annotations:
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-lb-name: "my-load-balancer"
service.kubernetes.io/ibm-load-balancer-cloud-provider-enable-features: "private-path"
service.kubernetes.io/ibm-load-balancer-cloud-provider-ip-type: "private"
service.kubernetes.io/ibm-load-balancer-cloud-provider-vpc-subnets: "02b7-e4cb464c-b3a8-4f95-bb50-5e41c8f8a21a"
spec:
type: LoadBalancer
selector:
ingresscontroller.operator.openshift.io/deployment-ingresscontroller: default
ports:
- name: http
protocol: TCP
port: 80
- name: https
protocol: TCP
port: 443
externalTrafficPolicy: Local
5. 创建私有路径服务
按照IBM Cloud文档创建私有路径服务,并选择之前创建的PPNLB。
6. 创建虚拟私有端点(VPE)
在边缘VPC中创建VPE,使用之前创建的私有路径服务的CRN。
7. 创建公共ALB
按照IBM Cloud文档创建面向公众的ALB,并将VPE作为后端池成员添加。
最终验证
完成上述步骤后,您的应用现在可以通过公共和私有负载均衡器堆栈安全地访问。可选地,您可以在DNS中添加CNAME记录,将自定义域名映射到ALB的完全限定域名(FQDN)。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码