1.配置
# app1-service.yaml
apiVersion: v1
kind: Service
metadata:
name: app1-service
spec:
selector:
app: app1
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer # 类型为LoadBalancer
---
# app2-service.yaml
apiVersion: v1
kind: Service
metadata:
name: app2-service
spec:
selector:
app: app2
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer # 类型为LoadBalancer
---
# api-service.yaml
apiVersion: v1
kind: Service
metadata:
name: api-service
spec:
selector:
app: api
ports:
- protocol: TCP
port: 80
targetPort: 80
type: LoadBalancer # 类型为LoadBalancer
-
三个独立的公网IP:云平台会为每个LoadBalancer Service分配一个唯一的外部IP。
-
app1-service
->11.22.33.44
-
app2-service
->55.66.77.88
-
api-service
->99.00.11.22
-
-
访问方式:
-
访问App1:
http://11.22.33.44
或http://app1.com
(需将域名app1.com
解析到11.22.33.44
) -
访问App2:
http://55.66.77.88
或http://app2.com
(需将域名app2.com
解析到55.66.77.88
) -
访问API:
http://99.00.11.22
或http://api.app1.com
(需将域名api.app1.com
解析到99.00.11.22
)
-
-
核心问题:
-
成本高:在公有云上,每个负载均衡器都是一个独立的收费资源,价格不菲。
-
管理复杂:需要管理三个外部IP和三个负载均衡器。
-
浪费资源:每个服务哪怕流量很小,也需要独占一个负载均衡器。
-