多雲混合雲之多集羣統一管理:基於阿里雲ACK統一納管多個不一樣Kubernetes集羣

目前阿里云云原生產品家族已經支持多集羣管理功能,容許使用阿里雲容器服務Kubernetes(簡稱ACK)控制檯或kubectl命令接入、統一納管其餘公有云、客戶IDC自建K8s集羣,集中管理部署K8s工做負載;並能夠針對工做負載流量統一管理,支持服務就近訪問、故障轉移能力。
本文重點介紹如何使用ACK控制檯來接入一個外部Kubernetes集羣,不管這個集羣是否提供公網訪問能力,或者該集羣是來自其餘公有云提供商,亦或是用戶IDC自定義集羣。node

前提條件

  • 您須要開通容器服務、彈性伸縮(ESS)服務和訪問控制(RAM)服務。
    登陸 容器服務管理控制檯 、 RAM 管理控制檯 和 彈性伸縮控制檯 開通相應的服務。
  • 修改Kubernetes集羣仍然必須在原有的集羣中進行完成,包括添加與刪除節點、升級Kubernetes集羣版本以及更改Kubernetes組件參數等

Demo示例

爲了幫助您更好地理解,如下是咱們製做的一個簡短的視頻Demo,演示如何在ACK控制檯上統一納管一個Google GKE K8s集羣。網絡

視頻地址:http://cloud.video.taobao.com/play/u/368124/p/1/e/6/t/1/231980990953.mp4app

建立自有Kubernetes集羣用於接入外部集羣ide

按照如下步驟能夠在ACK控制檯中建立自有Kubernetes集羣用於接入外部集羣,具體以下:阿里雲

  • 登陸 容器服務管理控制檯, 在 Kubernetes 菜單下,單擊左側導航欄的集羣 > 集羣,進入集羣列表頁面。
  • 單擊頁面右上角的建立 Kubernetes 集羣,在彈出的選擇集羣模板中,選擇導入已有Kubernetes集羣,單擊建立。
  • 默認進入導入已有 Kubernetes 集羣配置頁面,以下所示。
  • 填寫集羣的名稱,例如test-external-cluster1。集羣名稱應包含1-63個字符,可包含數字、漢字、英文字符或連字符(-)。
  • 選擇集羣所在的地域和可用區。
  • 設置集羣的網絡。Kubernetes 集羣僅支持專有網絡。您能夠在已有 VPC 列表中選擇所需的 VPC 和交換機。須要綁定EIP,用於創建集羣連接。
  • 單擊建立集羣,啓動建立過程。

接入外部Kubernetes集羣

按照如下步驟能夠在ACK控制檯中接入外部Kubernetes集羣,具體以下:spa

  • 在新集羣test-external-cluster1右側單擊管理,進入基本信息頁面。在頁面下方,能夠看到集羣導入代理配置:
  • 單擊複製,將其中的yaml文件內容拷貝到agent.yaml文件中,並在目標集羣中執行命令:
    kubectl apply -f agent.yaml
  • 在目標集羣中執行kubectl get all -n ack-system命令,查看代理運行情況。
NAME                                     READY   STATUS    RESTARTS   AGE
pod/ack-cluster-agent-655b75c987-dwp6b   1/1     Running   0          9s

NAME                                DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/ack-cluster-agent   1         1         1            1           26m

NAME                                           DESIRED   CURRENT   READY   AGE
replicaset.apps/ack-cluster-agent-655b75c987   1         1         1       26m
  • 能夠在容器服務管理控制檯的 Kubernetes 集羣列表頁面,看到新集羣的狀態爲運行中。
    在集羣列表頁面中,找到新集羣test-external-cluster1,單擊操做列中的管理,查看新集羣的基本信息和鏈接信息。

使用ACK控制檯或者kubectl管理接入的集羣

接入成功以後,能夠經過 kubectl 鏈接 Kubernetes 集羣,執行kubectl get node命令,查看新集羣test-external-cluster1的節點信息。此時,您可使用該kubeconfig鏈接遠程的被接入集羣,進行應用負載的部署。
3d

一樣地,能夠在該接入的集羣中經過使用Helm來發布管理應用:
代理

總結

目前阿里云云原生產品家族已經支持多集羣管理功能,容許使用阿里雲容器服務Kubernetes(簡稱ACK)控制檯或kubectl命令導入、統一納管其餘公有云、客戶IDC自建K8s集羣,集中管理部署K8s工做負載;並能夠針對工做負載流量統一管理,支持服務就近訪問、故障轉移能力。本文重點介紹瞭如何使用ACK控制檯來接入一個外部Kubernetes集羣,後續講繼續介紹如何在接入的多個集羣中統一部署管理應用以及如何實現工做負載、流量的統一管理。code

 

本文做者:osswangxining視頻

原文連接

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索