亚洲一区精品自拍_2021年国内精品久久_男同十八禁gv在线观看_免费观看a级性爱黄片

Article / 文章中心

快速云原生化,從數據中心到云原生的遷移最佳實踐

發(fā)布時間:2021-12-03 點擊數:870

云原生的時代已經到來,云原生技術正在重塑整個軟件生命周期,阿里巴巴是國內最早布局云原生技術的公司之一。


容器服務團隊在過去的幾年時間內幫助很多用戶成功把業(yè)務云原生化并遷移上云,其中有現在已經是我們 TOP10 的大客戶,也有需要在國內開展業(yè)務的海外用戶,有些是從其他云廠商遷移過來的用戶,有些是從 IDC 里遷移上云的用戶,而且越來越多的用戶開始咨詢如何對自己的應用做云原生化改造、如何把業(yè)務平滑地遷移到云上。每個用戶的業(yè)務場景都是不同的,有些差異化的業(yè)務場景對容器平臺也有一些定制化的需求,我們在幫助這些用戶落實遷云方案的同時也在不斷思考如何把這些案例中共性的東西做一些沉淀,總結出一些優(yōu)秀的解決方案、最佳實踐以及開發(fā)一些工具來幫助用戶快速完成遷云的這件事情。這些解決方案、最佳實踐以及遷云工具就是今天這篇文章想要分享的內容。


在幫助用戶落實遷云方案之前,我們首先必須要回答至少 3 個問題:


(1)ACK(阿里云容器服務 Kubernetes)如何能保證用戶業(yè)務的可靠性、穩(wěn)定性、安全性和靈活性;


(2)如何設計遷云方案把業(yè)務平滑地遷移到 ACK;


(3)應用如何做進一步改造來適配 ACK 提供的更強大的擴展能力。


ACK 如何保證用戶業(yè)務的

可靠性、穩(wěn)定性、安全性和靈活拓展性


首先,ACK 是以阿里云可靠穩(wěn)定的 IaaS 平臺為底座的,有最大的彈性化與低廉成本和全球化接入的優(yōu)勢;其次,ACK 本身處于阿里云的安全體系架構之下并從基礎設施到容器運行時環(huán)境對容器集群有全維度的安全加固;過去幾年我們很好地支撐了成百上千家大小企業(yè)的業(yè)務運行,有海量用戶經驗總結并經過雙 11 驗證;除此之外。ACK 是在標準的 Kubernetes 基礎上,對與用戶息息相關的能力做了大幅提升,用戶完全不需要擔心會被某一家廠商綁定。


1.jpg

image.gif

在我們過去幫助用戶業(yè)務上云的案例中,絕大部分是自建 Kubernetes 集群遷移到 ACK 集群,與自建 Kubernetes 集群相比較,ACK 在成本、彈性、IaaS 高度融合、性能、安全加固以及實踐經驗等方面都有非常巨大的優(yōu)勢。


另外,ACK 與阿里云的所有 region 保持一致,除了國內多個區(qū)域開服外,在東南亞、中東、歐洲、美東美西等地域都有開服,完全可以滿足用戶開展全球業(yè)務的需求。


整體遷云方案設計


用戶業(yè)務整體遷云的方案設計會涉及到集群規(guī)劃、數據搬遷、監(jiān)控切換、日志切換以及最終的生產流量切換或并網操作。


2.jpg


遷云到 ACK 需要做涉及到哪些組件、搬遷哪些數據、切換哪些服務等,都是需要需要在遷移上云之前設計好的。


首先需要做集群規(guī)劃,用戶需要根據自己業(yè)務場景的不同來選擇不同的機器類型,比如 CPU 機器還是 GPU 機器,比如虛擬服務器ECS還是神龍裸金屬服務器等等。


其次網絡規(guī)劃這部分會涉及到容器集群基礎設施選擇 vpc 內網網絡還是經典網絡,集群內 pod 之間進行通信模式是 flannel 模式還是 terway 模式等。


再次在容量規(guī)劃這部分,用戶可以根據自己的成本以及預算規(guī)劃一個可滿足初期業(yè)務正常運行的容量即可,隨后可以配置動態(tài)擴縮容隨時彈縮集群規(guī)模。


第四在安全防護提升這部分,有基礎架構安全比如設置合理的安全組規(guī)則,有鏡像安全比如使用私有鏡像并定義鏡像安全掃描,Kubernetes 應用安全管理比如設置不同服務間互相訪問的網絡安全策略等。


第五在監(jiān)控切換這部分相對于用戶自建 Kubernetes 會更加全維度和立體,從基礎設施到容器運行時監(jiān)控一應俱全,并可根據閾值設定觸發(fā)報警通知;用戶一般也會把自建的日志收集方案切換成阿里云上企業(yè)級的日志產品 SLS。


第六在數據遷移是非常重要的一部分,這些數據包括數據庫數據、存儲數據、容器鏡像等,我們會對接阿里云上企業(yè)級的產品以及遷移工具來完成數據的遷移,目的是為了保證數據遷云的可靠性、安全性。目前備份中心支持云下數據到云上 ACK 的遷移,您可以使用備份中心來完成應用及數據到 ACK 的遷移。


最后在應用改造主要涉及的內容包括鏡像地址的更新、服務暴露方式的優(yōu)化以及存儲盤掛載方式的更新適配。另外需要提供一個滿足用戶快速迭代上線產品的 CICD 方案。以上各個組件調試完畢后,我們就可以進行一部分生產流量的切換。


以上是從集群規(guī)劃到生產流量切換便是用戶業(yè)務遷移上云所需要涉及到的總體幾個步驟。image.gif


3.jpg


我們提供了一個企業(yè)容器化生命周期模型,這個模型是根據時間階段和用戶側各個業(yè)務角色來劃分的,比如業(yè)務架構師角色需要關心的是業(yè)務上云能給公司帶來什么價值,在 TCO 和場景上會帶來哪些優(yōu)化,云平臺在安全性以及計算、存儲、網絡能力上是否能滿足當前業(yè)務需求;IT 架構師負責規(guī)劃當前業(yè)務需要的集群容量和規(guī)模以及網絡選型等問題,剩下的就是系統(tǒng)管理員與應用管理員把遷云方案的各個細節(jié)落實下來。這個模型的主要核心關注點是讓用戶的業(yè)務上云后能更穩(wěn)定、成本更低、效率更高。



全棧遷云架構思路分兩種,一種是整體遷移,一種是平滑遷移。整體遷移是指用戶應用全部遷移上云后,各個組件調試完畢、測試驗收通過后,可以整體切換生產流量到線上集群,待線上集群上的業(yè)務穩(wěn)定運行一段時間后再下線原有環(huán)境。平滑遷移是指用戶可以使用線上 ACK 集群納管線下節(jié)點,或者線上集群與線下集群混合組網對外提供服務,逐步改造業(yè)務組件上云后將原有環(huán)境下線。這兩種方式相比,整體遷移更簡單,平滑遷移響度復雜但對業(yè)務影響小,所以也需要根據用戶的實際場景做選擇。


4.jpg


容器化整體遷云這部分還有兩個小場景,一個是用戶從自建 Kubernetes 集群遷移到 ACK,此場景下用戶的應用已經做了很大一部分的云原生化改造,遷移工作相對來說會簡單些,還有一部分用戶的應用是傳統(tǒng)應用,直接運行在虛擬機或者裸金屬服務器上,沒有做過任何云原生化的改造,對于這部分場景,我們也提供了相關工具或方案幫助用戶進行云原生化的遷云改造,比如使用 derrick 項目可以自動檢測源碼項目類型并生成 Dockerfile 和用于應用部署編排的 yaml 文件。
image.gif

5.jpg


為了幫助用戶提高遷云的效率,我們也在持續(xù)積累和開源一些遷云工具及產品。比 ack-image-builder 為用戶提供創(chuàng)建 ACK 集群節(jié)點自定義鏡像的模板并通過校驗模塊檢查自定義鏡像是否滿足 ACK 集群要求;sync-repo 能夠幫助用戶快速完成容器鏡像批量遷移至 ACR(容器鏡像倉庫服務); 備份中心為無狀態(tài)或有狀態(tài)應用的備份、恢復與遷移提供了一站式的解決方案,特別是對混合云,多集群的有狀態(tài)應用提供了數據容災和應用遷移能力,能夠幫助用戶快速把其他云廠商或者自建 Kubernetes 集群下的完整應用及 PV 數據遷移至 ACK 集群,并支持豐富的云下存儲類型。


通過備份中心來實現已有 Kubernetes 集群遷移的主要步驟如下:


  1. 在線下 Kubernetes 創(chuàng)建集群(例如,Rancher 集群),將線下集群接入注冊集群。具體操作,請參見創(chuàng)建注冊集群并接入本地數據中心集群;

  2. 云上通過 ACK 創(chuàng)建托管版集群,部署備份服務組件;

  3. 云下納管集群(即注冊集群)安裝備份組件,并通過備份中心備份線下集群的應用及 PV 數據,具體操作,請參見創(chuàng)建備份任務;

  4. 在云上 ACK 集群中,通過備份中心使云下應用和數據的備份,在云上進行恢復。


6.jpg

image.gif

在數據搬遷部分,可靠遷移是關鍵。目前備份中心支持的云下存儲類型為:


  • 數據中心本地塊存儲 SAN、Ceph OBD 及本地盤 LVM 等。


  • 數據中心文件系統(tǒng) HostPath、NFS、NetApp、GlusterFS 及 CephFS 等。


  • 數據中心本地對象存儲 Ceph S3 等。


通過備份中心,可以將云下 Kubernetes 應用及 PV 數據遷移到 ACK 集群,實現順利云原生化改造。


7.jpg


數據、應用遷云完成后,需要進一步適配監(jiān)控、日志等組件,待各個組件調試完畢通過驗收后,可以使用智能 DNS 進行生產流量的切割。


應用改造和優(yōu)化


8.jpg

9.jpg


對于應用改造和優(yōu)化這部分,Kubernetes 到 Kubernetes 的場景下,需要優(yōu)化的是去適配自動擴容等自建 Kubernetes 不具備的那些能力,在傳統(tǒng)應用遷移到 ACK 的場景下,這部分的工作量會更大些,所以我們針對這個場景也輸出了一些方案,比如類似于異地多活的方案,我們把用戶傳統(tǒng)應用環(huán)境,通常是虛擬機或者裸機環(huán)境集成到線上 ACK 部署的 Istio 網格中,逐步改造應用直至業(yè)務全部切換到線上 ACK 集群。


10.jpg


在應用逐步改造的這個過程中,會涉及到應用如何容器化、網絡環(huán)境如何遷移以及數據遷移的問題,應用容器化這個問題,我們可以使用SMC遷云中心來完成虛擬機轉換為容器鏡像的過程,網絡這部分可以通過 iptables,External,CoreDNS PrivateZone 等方式對 IP 地址 DNS 域名做處理,保持原先的邏輯 IP 和域名不變,并通過 Istio 實現網絡虛擬路由和可觀測性的管理。


案例和總結


11.jpg


最后列舉的是部分遷云案例,其中有對高性能網絡有特殊需求的用戶,有做深度學習相關業(yè)務對大規(guī)模 GPU 機器有需求的用戶,也有要求裸金屬機型服務器的用戶等等。


以上這些不同用戶的不同業(yè)務場景在云原生化遷云方案的設計和落實上都有各自的差異性,不盡相同,需要結合 ACK 團隊沉淀下來的最佳實踐來快速做出評估和計劃,并借助已有的一系列遷云工具快速完成業(yè)務從線下遷移上云的過程。


其他


ack-image-builder 能夠幫助用戶制作符合 ACK 集群節(jié)點要求的自定義鏡像


sync-repo 能夠幫助用戶快速完成容器鏡像批量遷移至 ACR(容器鏡像倉庫服務)


跨集群恢復 Kunbernetes 應用備份中心能夠幫助用戶快速把其他云廠商或者自建 Kubernetes 集群下的完整應用遷移至 ACK 集群


相關鏈接


1)ACK(阿里云容器服務Kubernetes):

https://cs.console.aliyun.com/?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


2)derrick:

https://github.com/alibaba/derrick


3)ack-image-builder:

https://github.com/AliyunContainerService/ack-image-builder?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


4)sync-repo:

https://github.com/AliyunContainerService/sync-repo?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


5)ACR(容器鏡像倉庫服務)

https://cr.console.aliyun.com/cn-hangzhou/instances


6)備份中心

https://help.aliyun.com/document_detail/311759.html?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


7)Rancher集群

https://rancher.com/docs/rancher/v2.5/en/installation/?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


8)創(chuàng)建注冊集群并接入本地數據中心集群

https://help.aliyun.com/document_detail/121053.htm?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef#task-skz-qwk-qfb


9)創(chuàng)建備份任務

https://help.aliyun.com/document_detail/188780.htm?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef#step-sv1-55u-opd


10)ack-image-builder

https://github.com/AliyunContainerService/ack-image-builder?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


11)sync-repo

https://github.com/AliyunContainerService/sync-repo?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef


12)ACR(容器鏡像倉庫服務)

https://cr.console.aliyun.com/cn-hangzhou/instances


13)跨集群恢復Kunbernetes應用

https://help.aliyun.com/document_detail/188871.html?spm=a2c6h.12873639.0.0.2eb53cd3L9rbef