如下微服務:
- demo-service 服務提供方
- demo-provider 服務消費方
- eureka-server 注冊中心
- api-gateway 網關
1.創建pod,將demo-service運行在docker中,通過pod運行並啟動docker,pod通過rc創建,不直接創建,直接創建的pod無法進行擴容
apiVersion: v1 kind: ReplicationController metadata: name: demo-service spec: replicas: 2 selector: app: demo-service template: metadata: labels: app: demo-service spec: containers: - name: demo-service image: registry.cn-beijing.aliyuncs.com/tianming/demo-service:latest #鏡像名稱,規則是 地址+鏡像庫+鏡像名稱+版本tag ports: - containerPort: 8081 #服務暴露的端口
2.定義服務,以及服務暴露的接口,此時創建的服務會管理步驟1創建的pod,因為設置了 LoadBalancer,所以可以通過 external ip 在外部網絡訪問到。
在 Prod 環境中,我們不會這樣做,一般只有 api-gateway 項目才會對外暴露訪問端口
apiVersion: v1
kind: Service
metadata:
name: demo-service
spec:
type: LoadBalancer
ports:
- port: 8081
selector:
app: demo-service