溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Windows應(yīng)用程序遷移到Kubernetes的方法

發(fā)布時(shí)間:2020-05-27 17:33:23 來源:億速云 閱讀:249 作者:鴿子 欄目:云計(jì)算

 前  言

 

實(shí)際上,沒有一個(gè)遷移路徑能夠適用于將所有傳統(tǒng)應(yīng)用程序遷移到云。這些應(yīng)用程序通常在物理機(jī)、虛擬機(jī)或本地。雖然一般情況下是重新設(shè)計(jì)應(yīng)用程序架構(gòu)以適用云原生服務(wù),但這并非是唯一的答案。將一個(gè)現(xiàn)有的應(yīng)用程序的架構(gòu)重新構(gòu)建為微服務(wù)架構(gòu)或云原生架構(gòu)會(huì)面臨諸多挑戰(zhàn),如重構(gòu)成本、復(fù)雜性以及應(yīng)用程序的依賴性。
 

雖然將應(yīng)用程序的架構(gòu)現(xiàn)代化有諸多好處,但許多組織仍在Windows 2003 Servers上運(yùn)行現(xiàn)有服務(wù)。而微軟不再支持Windows 2003為此帶來了一些挑戰(zhàn)。首先,人們不得不開始決定要如何處理這些應(yīng)用程序,特別是Windows 2008的生命周期也即將結(jié)束。

 

許多企業(yè)想要遷移到現(xiàn)代架構(gòu)中,期望以此能讓他們的應(yīng)用程序獲得復(fù)雜性、安全性和可用性。而容器提供了使應(yīng)用程序現(xiàn)代化并將其移至云原聲服務(wù)的靈活性。在本文中,我們將重點(diǎn)介紹能夠遷移到容器的應(yīng)用程序,一般是.Net、Web、SQL和其他沒有依賴性但在Windows2003上運(yùn)行的應(yīng)用程序。你可以無需更改代碼就能將這些應(yīng)用程序遷移到容器,并且使它們?cè)趯砭邆淇梢浦残浴D銓?huì)享受到在Kubernetes上運(yùn)行容器的好處,如可編排、可用性、更高的彈性伸縮和密度。

 

請(qǐng)注意:不是所有的應(yīng)用程序和服務(wù)都能運(yùn)行在容器中。有些應(yīng)用程序存在核心依賴項(xiàng)(如數(shù)據(jù)庫、存儲(chǔ)需求等),這些都需要解決。此外,需要根據(jù)業(yè)務(wù)決定應(yīng)用程序的持續(xù)壽命。

Windows應(yīng)用程序遷移到Kubernetes的方法
 

商業(yè)層面:遷移到Kubernetes的優(yōu)勢(shì)

 

將這些應(yīng)用程序遷移到容器有一些關(guān)鍵的業(yè)務(wù)原因,如:

 

  • 投資回報(bào)率高

  • 傳統(tǒng)的基于Web的服務(wù)可以獲得可移植性

  • 應(yīng)用程序安全性提升

  • 節(jié)省企業(yè)重新評(píng)估現(xiàn)有應(yīng)用程序的時(shí)間

 

既然Kubernetes支持Windows的worker節(jié)點(diǎn),那么你可以遷移傳統(tǒng)的Windows應(yīng)用程序到現(xiàn)代架構(gòu)中。Windows worker和Linux worker可以共存在同一個(gè)Kubernetes平臺(tái)中,也就是說,運(yùn)維團(tuán)隊(duì)可以適用同一套工具、實(shí)踐以及過程。
 

Step1:分析從Windows遷移到K8S的過程

 

將傳統(tǒng)應(yīng)用程序遷移到Kubernetes需要大量的分析和計(jì)劃。但是,有一些關(guān)鍵的實(shí)踐是十分必要的,比如:
 

  • 分解應(yīng)用程序:將應(yīng)用程序拆分為原始形式,以了解哪些組件正在運(yùn)行,它們?nèi)绾芜\(yùn)行以及它們的依賴關(guān)系

  • 發(fā)現(xiàn)應(yīng)用程序提供的服務(wù)以及在數(shù)據(jù)、網(wǎng)絡(luò)等方面產(chǎn)生的調(diào)用

  • 從應(yīng)用程序中解耦出數(shù)據(jù)層

  • 確定并映射服務(wù)依賴項(xiàng)

  • 測(cè)試、測(cè)試再測(cè)試
     

    Step2:規(guī)劃從Windows到K8S的遷移過程

     

遷移到容器化、基于.Net的平臺(tái)是一個(gè)復(fù)雜的流程,中間會(huì)涉及許多步驟。因此,在執(zhí)行這一流程時(shí)需要做出一些關(guān)鍵的決定。以下過程提供了一些有關(guān)遷移舊Windows系統(tǒng)以在Kubernetes上運(yùn)行的要求的指導(dǎo)。
 

  • 確定你的容器所需要的操作系統(tǒng)——Server Core或Nano Server。這需要根據(jù)應(yīng)用程序的依賴項(xiàng)進(jìn)行選擇。

  • 遵循兼容性準(zhǔn)則。運(yùn)行Windows容器會(huì)為主機(jī)的OS版本和容器正在運(yùn)行的基本鏡像添加嚴(yán)格的兼容性規(guī)則。它們必須運(yùn)行Windows 2019,因?yàn)槿萜骷暗讓又鳈C(jī)共享一個(gè)內(nèi)核。截至成文時(shí),僅支持服務(wù)器隔離進(jìn)程。然而,很快會(huì)開始支持Hyper-V隔離(具體時(shí)間未知),這將有助于主機(jī)和容器的兼容。

  • 打包你的傳統(tǒng)應(yīng)用程序。

  • 使用應(yīng)用程序包構(gòu)建基于Docker的初始容器。

  • 在你所選擇的倉庫中部署一個(gè)新的Docker容器

  • 充分利用現(xiàn)有的DevOps工具(CI/CD構(gòu)建和發(fā)布流水線)

  • 部署新的Windows應(yīng)用程序到你所構(gòu)建的支持Windows的Kubernetes環(huán)境中

  • 測(cè)試、測(cè)試,再測(cè)試
     

    將Windows應(yīng)用程序遷移至K8S的關(guān)鍵優(yōu)勢(shì)

     

通過從Windows遷移到Kubernetes,你的舊應(yīng)用程序?qū)⑾碛心悻F(xiàn)有基于容器的應(yīng)用程序的優(yōu)勢(shì)。此外,你的Windows容器也將會(huì)從Kubernetes平臺(tái)本身獲得優(yōu)勢(shì)。而且,它們可以使用Kubernetes生態(tài)中的工具和系統(tǒng),包括安全性工具、服務(wù)網(wǎng)格、監(jiān)控/告警等。

 

這些優(yōu)勢(shì)疊加在一起,可以讓你處于有利地位,以便于對(duì)應(yīng)用程序做出關(guān)鍵決策并發(fā)掘業(yè)務(wù)用例。對(duì)于無法遷移的應(yīng)用程序,由于缺乏對(duì)底層操作系統(tǒng)的支持,因此你不能對(duì)此放任不管,仍然需要決定如何處理它們。而且由于沒有其他可用的補(bǔ)丁或安全補(bǔ)救措施,因此你的企業(yè)容易受到漏洞和***,所以應(yīng)該及時(shí)采取行動(dòng)。
 

從Windows遷移到K8S的關(guān)鍵要點(diǎn)

 

  • 基于容器的解決方案可以節(jié)省成本

  • 容器減少依賴項(xiàng)并為應(yīng)用程序提供可移植性

  • Docker已經(jīng)是運(yùn)行容器的事實(shí)標(biāo)準(zhǔn),同時(shí)Kubernetes是容器編排引擎的事實(shí)標(biāo)準(zhǔn)

  • Kubernetes可以托管可伸縮、可靠且具有彈性的基于Windows容器的應(yīng)用程序以及基于Linux的應(yīng)用程序

  • 運(yùn)行Kubernetes平臺(tái)的組織可以將傳統(tǒng)應(yīng)用程序集成到他們的DevOps文化和工具中

  • 利用原生和基于生態(tài)系統(tǒng)的Kubernetes工具可以提高安全性并為傳統(tǒng)應(yīng)用程序增加額外的保護(hù)層

     

在Rancher 2.3中,GA了對(duì)Windows容器的支持。通過把Kubernetes的所有優(yōu)勢(shì)引入Windows,Rancher 2.3極大降低了企業(yè)使用Windows容器的復(fù)雜性,并為基于Windows遺留應(yīng)用程序的現(xiàn)代化提供快捷的途徑——無論這些程序是在本地運(yùn)行還是在多云環(huán)境中運(yùn)行。此外,Rancher 2.3還可以將它們?nèi)萜骰⑵滢D(zhuǎn)換為高效、安全和可遷移的多云應(yīng)用程序,從而省去重寫應(yīng)用程序的工作。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI