溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何把應用轉移到Kubernetes

發(fā)布時間:2021-12-21 16:09:26 來源:億速云 閱讀:105 作者:柒染 欄目:云計算

如何把應用轉移到Kubernetes,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Ben Sears

Kubernetes是時下最流行的管理和編排工具,它提供了一個配置驅動的框架,讓我們可以通過定義和操作獲得整個網絡、磁盤和應用,并以可伸縮且易于管理的方式進行。

如果我們還沒有完成應用容器化,那么把應用轉移到Kubernetes上會是一件高強度的工作,目的則是介紹應用與Kubernetes集成的方法。

Step 1?—?將應用容器化

容器是可以獨立運行的基本操作單元,不同于傳統(tǒng)虛擬機依賴模擬操作系統(tǒng),容器利用各種內核特性來提供與主機隔離的環(huán)境。

如何把應用轉移到Kubernetes

對于有經驗的技術人員來說,整個容器化過程不算復雜——使用docker,定義一個包含安裝步驟和配置(下載包、依賴等等)的dockerfile,最后構建一個可以讓開發(fā)人員使用的鏡像即可。

Step 2?—?采用一個多實例架構

如何把應用轉移到Kubernetes

在我們把應用遷移到Kubernetes之前,需要確認向最終用戶交付的方式。

傳統(tǒng)web應用的多租戶結構,是所有用戶共享單個數據庫實例和應用實例,這種形式在Kubernetes中工作沒什么問題,但我們建議考慮把應用改造成多實例架構,以充分利用Kubernetes和容器化應用的優(yōu)勢特性。

采用多實例架構的好處包括:

穩(wěn)定性——單點故障,不影響其他實例;

可伸縮——通過多實例架構,擴展也就是增加計算資源的事;而對于多租戶架構,需要創(chuàng)建集群應用體系結構的部署可能會有些麻煩;

安全性——當您使用單個數據庫時,所有數據都在一起,一旦發(fā)生安全漏洞,所有用戶都會收到威脅,而采用多數據中心,只會有一個用戶的數據面臨風險;

Step 3 — 確定應用的資源消耗

為了獲得成本效益,我們需要確定運行單個應用實例所需的CPU、內存和存儲量。

我們可以通過設置限制,精確調整Kubernetes節(jié)點需要多少空間、確保節(jié)點過載或者不可用等等。

這需要我們反復的嘗試和驗證,也有一些工具可以替我們達成這一目的。

如何把應用轉移到Kubernetes

  • 在確定資源分配之后,我們可以計算Kubernetes節(jié)點的最佳資源大小;

  • 將每個實例需要的內存或CPU乘以100(節(jié)點可以容納的最大Pod數),我們可以大概估計你的節(jié)點應該有多少內存和CPU;

  • 對應用程序進行壓力測試以確保它在滿節(jié)點時順利運行。

Step 4 — 與Kubernetes集成

Kubernetes集群運行起來,我們會發(fā)現許多DevOps實踐水到渠成——

自動縮放Kubernetes節(jié)點

節(jié)點用滿時,通常需要配置更多的節(jié)點以便所有實力順暢運行,自動縮放的Kubernetes節(jié)點便派上了用場。

自動縮放應用程序

根據使用情況,某些應用需要按比例縮放,Kubernetes使用可自動縮放部署的觸發(fā)器來實現,命令:

kubectl autoscale deployment myapp --cpu-percent = 50 --min = 1 --max = 10

如上,當CPU百分比超過50時,將設置myapp部署擴展到10個容器。

在用戶操作時自動配置實例

對于多實例架構,最終用戶在Kubernetes中部署應用程序,而為了實現這一點,我們應該考慮將應用與Kubernetes API集成,或者使用第三方解決方案來提供請求實例的入口。

通過用戶操作定義自定義主機名

最近越來越多的終端用戶將其域名附加到應用程序中,而Kubernetes提供了一些工具來使這個過程變得更加簡單,甚至到達自助服務的地步(用戶按下一個按鈕來設置域指向),我們可以使用Nginx Ingress等系統(tǒng)來完成此操作。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI