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

基于ACK實現與釘釘安全域名的配置

概述

本文介紹基于ACK與釘釘開放平臺的安全域名打通的流程。該流程主要通過配置ACK中類型為LoadBalancer的Service來實現,配置類型為LoadBalancer的Service主要有兩種方式:

  • 沒有可用的SLB時,ACK的CCM(Cloud Controller Manager)組件可以為LoadBalancer類型的Service自動創建SLB,并對其進行管理。

  • 已有可用的SLB時,關聯SLB與ACK的Service。內網SLB與ACK的Service關聯之后,內網SLB繼續走釘釘安全域名的其他流程,就可以通過SLB公開ACK中的應用,也就實現了基于ACK與釘釘開放平臺的安全域名打通。

前提條件

使用已有SLB關聯ACK的Service時需要滿足以下條件:

  • 已有可用的內網SLB實例。

  • 已有Kubernetes集群。

  • Kubernetes集群與內網SLB位于同一地域下的同一個VPC內。

操作步驟

關聯SLB與ACK的Service有兩種方式,分別是通過控制臺關聯和通過kubectl關聯,您可以選擇其中一種方式進行操作。

通過控制臺關聯SLB與ACK的Service

一、創建應用

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

  2. 在集群列表頁面,單擊目標集群的應用管理image

  3. 進入工作負載的無狀態頁面,單擊右上角的使用鏡像創建

  4. 進入創建應用頁面后,根據需要配置應用基本信息鏡像信息image

  5. 配置完成后,生成部署的應用my-nginx。image

二、創建關聯已有SLB的Service

  1. 在集群管理頁左側導航欄中,選擇網絡 > 服務

  2. 服務頁面,單擊右上角的創建

  3. 在服務創建頁面,設置服務的相關參數,各個參數的詳細說明參考通過使用已有SLB的服務公開應用image

  • 選擇服務類型為負載均衡,并設置為私網訪問,選擇使用已有的SLB, 并選擇設已有的在同一VPC內的SLB。

  • 強制覆蓋已有監聽:選擇是否強制覆蓋SLB上的已有監聽或者為沒有監聽的SLB自動創建監聽,本示例中的SLB實例為新創建的,所以需要為其創建監聽。以下兩種情況不建議選擇強制覆蓋監聽。

    • 如果已有負載均衡的監聽上綁定了業務,強制覆蓋可能會引發業務中斷。

    • 由于CCM目前支持的后端配置有限,無法處理一些復雜配置。如果有復雜的后端配置需求,可以在不覆蓋監聽的情況下,通過控制臺自行配置監聽

  • 關聯上文創建的應用。

  • 配置外部流量策略。

    • Local:流量只發給本機的Pod。

    • Cluster:流量可以轉發到集群中其他節點上的Pod。

  • 端口映射:添加服務端口(對應Service YAML文件中的port)和容器端口(對應Service YAML文件中的targetPort),容器端口需要與后端的Pod中暴露的容器端口一致。

  • 注解:通過為該服務添加注解,可以配置負載均衡的參數,可以選擇自定義注解或阿里云注解,這里添加的注解為設置服務的收費方式按照流量收費。注解的詳情參考通過Annotation配置負載均衡

  1. 創建服務后,在服務頁面可以看到新創建的服務,通過其外部端點就在內網下就可以訪問Kubernetes中的應用了。image

通過kubectl關聯SLB與ACK的Service

一、配置kubectl連接Kubernetes集群

連接Kubernetes 集群主要有以下兩種方式:

使用這兩種方式的前提是Kubernetes 集群開啟了API Server 公網訪問,如果在創建集群時沒有綁定EIP,在創建集群后在集群信息頁面,單擊基本信息頁簽,然后在集群信息區域,單擊綁定EIP

image

在彈出的綁定EIP對話框中,選擇已有EIP,然后單擊確定。綁定完成后,API Server公網連接端點將會顯示公網IP地址。

二、創建應用

創建應用可以通過上文所述的通過控制臺的方式,也可以使用kubectl命令行方式進行。

  1. 使用以下示例應用的YAML內容,創建名為my-nginx.yaml文件。

    apiVersion: apps/v1 # for versions before 1.8.0 use apps/v1beta1
    kind: Deployment
    metadata:
      name: my-nginx    #示例應用的名稱。
      labels:
        app: nginx
    spec:
      replicas: 3       #設置副本數量。
      selector:
        matchLabels:
          app: nginx     #對應服務中Selector的值需要與其一致,才可以通過服務公開此應用。
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.aliyuncs.com/acs/netdia:latest     #替換為您實際的鏡像地址,格式為:<image_name:tags>。
            ports:
            - containerPort: 80                                #需要在服務中暴露該端口。
  2. 執行以下命令,部署示例應用my-nginx。

    kubectl apply -f my-nginx.yaml
  3. 執行以下命令,確認示例應用狀態正常。

    kubectl get deployment my-nginx
  4. 返回結果示例:

    NAME       READY   UP-TO-DATE   AVAILABLE   AGE
    my-nginx   0/3     3            0           103s

三、創建關聯已有SLB的Service

  1. 使用以下示例服務的YAML內容,創建名為my-nginx-svc.yaml的文件。

  • 修改service.beta.kubernetes.io/alibaba-cloud-loadbalancer-id,請替換${YOUR_LB_ID}為您通過負載均衡管理控制臺創建的SLB實例ID。

  • 使用已有的SLB實例時,默認情況下不會為該SLB創建監聽或覆蓋已有監聽。如有需要,請設置service.beta.kubernetes.io/alibaba-cloud-loadbalancer-force-override-listeners為true。本示例中,SLB實例為新創建,需要為其創建監聽,因此設為true。更多注解請參見通過Annotation配置負載均衡

  • 將selector修改為my-nginx.yaml示例應用文件中matchLabels的值(即:app: nginx),從而將該服務關聯至后端應用。

  1. 執行以下命令創建名為my-nginx-svc的服務,并通過其公開應用。

    kubectl apply -f my-nginx-svc.yaml
  2. 執行以下命令確認LoadBalancer類型的服務創建成功。

    kubectl get svc my-nginx-svc

    返回結果示例:

    NAME           TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
    my-nginx-svc   LoadBalancer   192.168.25.11   10.32.0.132   80:31664/TCP   19s
  3. 由于綁定的是一個內網SLB,在VPC外不能通過EXTERNAL-IP來訪問應用,可以為該SLB綁定一個EIP,通過EIP訪問該應用。image

導入ACK資源到計算巢應用管理

  1. 在完成上述步驟后,我們得到一個Service關聯了SLB的ACK集群,在ACK控制臺查看ACK集群的詳情,獲得標簽信息。image

  2. 在計算巢控制臺,在ACK集群部署的地域下創建應用分組,通過標簽選擇的方式,輸入ACK的標簽鍵標簽值image

  3. 應用分組創建成功后,在資源管理中可以看到已經導入的ACK的資源。