挑战背景
金融机构需要严格控制信息流,IBM金融云框架建议将工作负载和互联网组件分离到不同的VPC中:工作负载VPC和边缘VPC。这种架构虽然提高了安全性,但也带来了应用公开访问的复杂性。
解决方案架构
核心组件包括:
- 云互联网服务
-
- 公共应用负载均衡器(ALB)
-
- 私有路径网络负载均衡器(PPNLB)
-
- OpenShift集群
-
- 虚拟私有端点(VPE)
实施步骤
1. 在集群中部署服务
遵循OpenShift应用部署指南部署您的服务(示例使用echo-server服务)。
2. 创建集群服务
apiVersion: v1
kind: Service
metadata:name: echoserverservice
spec:selector:app: echo-serverports:- protocol: TCP- port: 8080- targetPort: 8080- ```
### 3. 配置Ingress资源
```yaml
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. 创建私有路径负载均衡器
```yaml
apiVersion: v1
kind: Service
metadata:name: echo-vpc-nlb-eu-de-1namespace: openshift-ingressannotations: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: LoadBalancerselector:ingresscontroller.operator.openshift.io/deployment-ingresscontroller: defaultports:- 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智能小助手)