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

對接Consul注冊中心

服務網格ASM提供了對接Consul注冊中心功能,便于您將微服務遷移至ASM。本文介紹如何在ASM中對接Consul注冊中心。

前提條件

  • ASM版本需要升級到v1.7.5.31-g28ec7490-aliyun或者以上版本。

  • 已部署Consul作為服務注冊中心,具體操作,請參見Installing Consul on Kubernetes

  • 請確保加入服務網格中的Kubernetes集群的Pod可以訪問Consul Server的訪問地址。例如Consul Server是安裝在相同的Kubernetes集群,Consul Server暴露了公網或者Consul Server提供了可訪問的內網地址。

  • Consul中已注冊示例服務,分別為Web,Web2以及內置的Consul。具體操作,請參見Services

背景信息

ASM提供了對接Consul注冊中心的功能,便于您將微服務遷移至ASM的過程中,服務網格之內的服務能調用服務網格之外的服務。ASM并不會主動將服務網格中的服務信息注冊到Consul注冊中心。為了確保服務網格之外的服務能調用服務網格之內的服務,您需要將服務網格中的服務手動注冊到Consul注冊中心。

步驟一:獲取ASM-se-syncer配置信息

  1. 查看ASM實例ID。

    1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

    2. 網格管理頁面名稱/ID列,查看目標實例對應的ID。

  2. 查看集群地域ID。

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

    2. 在左側導航欄,單擊集群,在地域列,查看目標集群對應的地域。

      例如,您集群地域為華北2(北京),則集群地域ID為cn-beijing。關于地域的詳細信息,請參見開服地域

  3. 查看AccessKey ID和AccessKey Secret。具體操作,請參見獲取AccessKey

步驟二:安裝ASM-se-syncer

  1. 通過kubectl連接集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群

  2. 在本地安裝Helm。具體操作,請參見Helm

    說明

    使用kubectl連接集群后,Helm客戶端會自動使用KubeConfig連接集群。

  3. 下載并解壓asm-se-syncer至本地。

  4. 進入asm-se-syncer文件夾中,找到values.yaml文件,在values.yaml文件中補充ASM ID、集群地域ID、AccessKey ID和AccessKey Secret,并修改以下Consul服務信息,然后保存values.yaml文件。

    [
      {
        "name": "consul-test",
        "prefix": "consul-",
        "type": "consul",
        "endpoint": "http://consul-server.consul:8500",
        "toNamespace": "default"
      }
    ]

    參數

    說明

    name

    注冊中心的名稱,保證唯一。

    prefix

    生成的集群外服務(ServiceEntry)的名稱前綴。

    type

    注冊中心的類型,當前支持值為consul。

    endpoint

    注冊中心的訪問端點地址。

    toNamespace

    生成的集群外服務(ServiceEntry)所在的命名空間,如果該命名空間不存在,將會自動創建。

    如果您想對接多個Consul注冊中心,您需要在values.yaml文件中補充ASM ID、集群地域ID、AccessKey ID和AccessKey Secret,并補充多個Consul服務信息,然后保存values.yaml

    [
      {
        "name": "consul-test01",
        "prefix": "consul01-",
        "type": "consul",
        "endpoint": "http://consul-server01.consul:8500",
        "toNamespace": "default"
      },
      {
        "name": "consul-test02",
        "prefix": "consul02-",
        "type": "consul",
        "endpoint": "http://consul-server02.consul:8500",
        "toNamespace": "default"
      }
    ]
  5. 執行以下命令,安裝ASM-se-syncer。

    helm install -f values.yaml se-syncer ./

    安裝ASM-se-syncer成功后,ASM會自動對接Consul注冊中心后,會自動在ACK集群安裝asm-serviceregistry-syncer組件,并將在Consul中的服務同步到服務網格中。

步驟三:查看Consul注冊中心對接結果

  1. 查看ASM組件安裝情況。

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

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

    3. 集群列表頁面,單擊目標集群名稱或者目標集群右側操作列下的詳情

    4. 在集群管理頁左側導航欄,選擇工作負載 > 無狀態

    5. 無狀態頁面查看到名為asm-serviceregistry-syncer的組件。

      asm

  2. 查看集群外服務(ServiceEntry)同步情況。

    1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

    2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇集群與工作負載管理 > 集群外服務(ServiceEntry)

    3. 集群外服務(ServiceEntry)頁面,可以看到3個注冊在Consul中的服務已經同步到服務網格中。

      說明
      • 集群外服務(ServiceEntry)頁面下的Consul服務的名稱命名規則為:[上述步驟定義的prefix值]-[在Consul中注冊的服務名]。

      • 集群外服務(ServiceEntry)頁面下的Consul服務的命名空間為上述步驟定義的toNamespace值。

常見問題

如何調用服務?

將Consul服務對應的集群添加到數據面之后,您可以采用以下兩種方式進行調用。

  • 方式一:啟用DNS代理后通過集群外服務(ServiceEntry)中的hosts名稱和端口調用。

    1. 啟用DNS代理。具體操作,請參見在ASM中使用DNS代理

    2. 獲取hosts名稱和端口調用服務。

      1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

      2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇集群與工作負載管理 > 集群外服務(ServiceEntry)

      3. 集群外服務(ServiceEntry)頁面,單擊目標集群外服務(ServiceEntry)操作列下的查看YAML

        編輯對話框,獲取hosts名稱和端口,使用http://<hosts名稱>:<端口>調用服務。hosts

  • 方式二:通過集群外服務(ServiceEntry)中的addresses地址調用。

    1. 登錄ASM控制臺,在左側導航欄,選擇服務網格 > 網格管理

    2. 網格管理頁面,單擊目標實例名稱,然后在左側導航欄,選擇集群與工作負載管理 > 集群外服務(ServiceEntry)

    3. 集群外服務(ServiceEntry)頁面,單擊目標集群外服務(ServiceEntry)操作列下的查看YAML

      編輯對話框,獲取addresses地址,使用http://<addresses地址>調用服務。address

如何同步服務?

Consul中注冊的服務會自動同步為istio中的集群外服務(ServiceEntry),刪除或更新服務,都會自動同步到istio中的集群外服務(ServiceEntry)

如何在ASM中停用對接Consul注冊中心功能?

執行以下命令,刪除用于Consul同步服務注冊信息的資源。

helm uninstall se-syncer