您可以為ASM網關綁定多個CLB,實現多個CLB可以訪問一個ASM網關。本文介紹如何為ASM網關綁定多個CLB後,使用多個CLB訪問ASM網關。
前提條件
已添加叢集到ASM執行個體。具體操作,請參見添加叢集到ASM執行個體。
已部署入口網關。具體操作,請參見建立入口網關。
部署入口網關成功後,會自動在ACK叢集中建立名為istio-ingressgateway的服務。
已在ASM中部署Bookinfo應用和Istio資源,使得可以通過入口網關訪問到Bookinfo應用。具體操作,請參見在ASM執行個體關聯的叢集中部署應用和使用Istio資源實現版本流量路由。
操作步驟
您需要通過建立Service的方式為ASM網關建立額外的CLB。
如果您刪除了額外綁定的Service,CLB也會被刪除。
在控制台左側導覽列,單擊叢集。
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
在叢集管理頁左側導覽列,選擇 。
在服務頁面頂部,設定命名空間為istio-system,在右上方單擊使用YAML建立資源。
在建立頁面,設定樣本模板為自訂,將以下內容複寫到模板文字框中,單擊建立。
重要nodePort不能與已有連接埠重複。
apiVersion: v1 kind: Service metadata: annotations: service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec: slb.s1.small service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet labels: app: istio-ingressgateway asm-system: 'true' istio: ingressgateway name: istio-ingressgateway-2 namespace: istio-system spec: externalTrafficPolicy: Cluster ports: - name: http-0 nodePort: 30544 port: 80 protocol: TCP targetPort: 80 - name: https-2 nodePort: 30682 port: 443 protocol: TCP targetPort: 443 selector: app: istio-ingressgateway asm-system: 'true' istio: ingressgateway provider: asm sessionAffinity: None type: LoadBalancer
name:服務的名稱,本文設定為istio-ingressgateway-2。
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec:設定CLB規格。可選:slb.s1.small、slb.s2.small、slb.s2.medium、slb.s3.small、slb.s3.medium、slb.s3.large。
service.beta.kubernetes.io/alicloud-loadbalancer-address-type:設定CLB的網路類型。可選:
internet:公網。
intranet:私網。
Service建立成功後,會自動建立新的CLB。
使用多個CLB訪問ASM網關。
在ACK叢集的服務頁面擷取istio-ingressgateway和istio-ingressgateway-2 External IP列下的80連接埠的IP地址。
在瀏覽器地址欄中分別輸入http://<istio-ingressgateway的IP地址>/productpage和http://<istio-ingressgateway-2的IP地址}>/productpage。
2個地址都返回以上Bookinfo應用頁面,說明使用多個CLB訪問ASM網關成功。