日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

添加服務Service

本文主要介紹如何為應用添加服務Service實現集群內部服務間的快速訪問。

背景信息

在EDAS中的容器服務Kubernetes集群中創建的應用往往都是由多個運行相同鏡像的一組Pod組成,Pod雖然擁有獨立的IP, 但Pod會快速地創建和刪除,所以通過訪問一個個可能被刪除的Pod來訪問應用是不現實的。

通過服務(Service)能夠解耦前端和后端的關聯,從而實現松耦合的微服務設計。

在EDAS中部署的K8s應用,除了通過公網或者私網負載均衡SLB實現服務對外訪問外,您還可為服務添加NodePort類型的Service,通過節點IP及節點端口提供服務外部訪問。此外,在EDAS中的同一個K8s集群中創建多個服務后,如果集群內部服務間需要互相訪問,無法通過公網或者私網負載均衡SLB實現訪問,此時您可以為服務添加ClusterIP類型Service,以實現集群內部服務間的訪問。

操作步驟

  1. 登錄EDAS控制臺

  2. 在左側導航欄,單擊應用管理 > 應用列表,在頂部菜單欄選擇地域并在頁面上方選擇微服務空間,在集群類型下拉列表中選擇K8s集群,然后單擊目標應用名稱

  3. 應用總覽頁面的訪問方式配置區域,單擊服務(Service)右側的加號圖標。

    說明

    如果您已經配置過Service,則在此處會顯示服務名稱和IP信息,您可單擊編輯圖標修改Service的端口和協議類型,或可單擊刪除圖標刪除Service。

  4. 服務(Service)對話框,完成參數配置后單擊確認。

    sgtdrh

    參數

    描述

    服務名

    自定義設置服務名稱,服務名稱必須唯一,不能和已有服務名稱重復。

    支持小寫字母、數字和短劃線(-),且必須以字母開頭,字母或數字結尾,長度范圍為2~32個字符。

    服務類型

    • 虛擬集群IP:即ClusterIP,指通過集群的內部IP暴露服務。選擇該值,服務只能夠在集群內部可以訪問,這也是默認的Service類型。

    • 節點端口:即NodePort,通過每個Node上的IP和靜態端口(NodePort)暴露服務。NodePort服務會路由到ClusterIP服務,這個ClusterIP服務會自動創建。通過請求<NodeIP>:<NodePort>,可以從集群的外部訪問一個NodePort服務。

    外部流量策略

    • Local:外部訪問流量只轉發給本機Pod。

    • Cluster:外部訪問流量可以轉發給集群中其它節點的Pod。

    服務端口

    服務前端端口,通過該端口訪問應用,可設置范圍為1~65535。

    容器端口

    進程監聽的端口。一般由程序定義,可設置范圍為1~65535。

    節點端口

    節點對外暴露該服務的端口。一般由程序定義,可設置范圍為30000~32767。

    說明

    當前僅支持服務類型為NodePort時設置節點端口。

    協議

    服務協議,包含TCPUDP,默認值為TCP

    說明

    為應用添加服務Service時,您需要關注以下兩點:

    • 系統支持在同一個Service里,添加多個端口映射。但是如果您需要將不同的端口映射,設置為不同的服務名稱,則可以重復執行步驟3~步驟4,設置多個Service。

    • 在同一個服務Service,添加多個端口映射時,服務端口和協議兩兩之間不得完全一樣。如80|8080|TCP80|8081|TCP,這兩個端口映射無法保存,提示端口映射存在重復項

結果驗證

在當前應用中添加服務Service后,您可以登錄K8s集群中的任一Pod,在Pod內根據Service固定IP地址訪問應用。

本示例驗證的是訪問Web服務,如果是其他類型服務,驗證方法不盡相同。

  1. 登錄容器服務管理控制臺

  2. 在左側導航欄,單擊集群

  3. 集群列表頁面,選擇目標集群,在操作列下單擊更多 > 通過CloudShell管理集群

    在頁面下方自動打開集群所關聯的CloudShell。打開集群關聯的CloudShell時,系統會自動加載集群的kubeconfig文件。您可以通過kubectl直接管理您的集群。

  4. 執行以下命令,查詢集群中所有的Pod。

    kubectl get pods

    查詢出的Pod列表如下:

    NAME                                             READY   STATUS             RESTARTS   AGE
    store-pre-****-group-1-19-****7569b-f7***        1/1     Running            0          28h
    store-prod-***duct-group-1-1-****7f894-zh***     1/1     Running            0          28h
  5. 執行以下命令,登錄任一Pod。

    kubectl exec -it store-prod-***duct-group-1-1-****7f894-zh*** /bin/sh
  6. 執行以下命令,根據Service固定IP訪問應用。

    wget 10.XX.XX.XX:8081    #IP地址和服務端口需要和您的Service信息保持一致。

    返回如下類似日志:

    Connecting to 10.XX.XX.XX:8081 (10.XX.XX.XX:8081)
    index.html           100% |*******************************************************|  2203  0:00:00 ETA
    說明

    本示例驗證的是訪問Web服務,如果是其他類型服務,回顯日志不相同,請以實際情況為準。