如何将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智能小助手)
公众号二维码

posted @ 2025-08-19 06:01  qife  阅读(10)  评论(0)    收藏  举报