容器化之后如何节省云端成本?(二十七)
上云在大部分情況下就是為了降低成本,在這方面,主流的容器服務(wù)基本上都能夠有效地降低成本——不僅能夠高效自動化的管理和控制容器,極大地降低了DevOps的維護成本,而且不需支付Kubernetes Master節(jié)點的管理費用。不過,我們還可以在此基礎(chǔ)上進一步節(jié)約成本,介紹幾個技巧:
無需過度購買配置,盡量使用自動擴展
傳統(tǒng)IT往往都會過度購買配置,甚至上一年都有計劃下一年需要購買的虛擬機和存儲資源,往往都會超買,造成了很多不必要的消費(云資源一經(jīng)購買,無論是否使用,均會按時收費)。在云端,k8s擁有極高的擴展性、自動化和可伸縮性,我們完全可以對云資源按量付費并且設(shè)置設(shè)置自動伸縮。比如云端的k8s集群,我們可以配置集群節(jié)點的伸縮組,以按需使用云端資源:
最大化的利用服務(wù)器資源
當我們創(chuàng)建好k8s集群后,我們就可以創(chuàng)建容器服務(wù)了。但是,容器服務(wù)的創(chuàng)建是有限制的,例如下面這個集群:
如果我們在創(chuàng)建服務(wù)時,設(shè)置了各個服務(wù)的CPU限制和內(nèi)存限制,哪怕當前容器實際的資源消耗低的可憐,我們也有可能無法繼續(xù)創(chuàng)建容器服務(wù),因為只有當當前節(jié)點上可分配資源量大于等于容器限制資源最小值時才允許將容器調(diào)度到該節(jié)點。這時,如果我們對程序有信心,或者希望更大限度的利用云端資源,可以將CPU限制和內(nèi)存限制留空,也就是不做任何限制,以便更大程度的利用好云資源。不過此項設(shè)置有風險,比如有的服務(wù)特別吃資源或者代碼編寫不當,那么勢必會影響其他的容器服務(wù)的穩(wěn)定,因此僅推薦開發(fā)測試環(huán)境使用。
用好Ingress
Ingress是k8s集群的流量入口,即外部流量進入k8s集群的必經(jīng)之路,其公開了從集群外部到集群內(nèi)服務(wù)的HTTP和HTTPS路由。
騰訊云的Ingress提供以下類型的服務(wù):
公網(wǎng)訪問
僅在集群內(nèi)訪問
VPC內(nèi)網(wǎng)訪問
其中,僅當提供公網(wǎng)訪問時,Ingress才按時收費。因此,我們可以將一些無需公網(wǎng)的容器服務(wù)的Ingress配置為內(nèi)網(wǎng)訪問。
當我們的容器服務(wù)需要提供公網(wǎng)訪問時,一個Ingress我們可以設(shè)置多個轉(zhuǎn)發(fā)配置,從而達到節(jié)省成本的目的:
省存儲
容器服務(wù)的數(shù)據(jù)卷支持本地硬盤(主機目錄)、云硬盤、NFS盤和配置項。通常情況下,我們會使用云硬盤,但是一個云硬盤僅能掛載到一個容器服務(wù)實例,既不利于存儲數(shù)據(jù)的共享,而且也不利于存儲資源的最大化利用。
在對IO性能要求不高的情況下,我們推薦使用NFS盤。NFS數(shù)據(jù)卷適用于多讀多寫的持久化存儲,適用于大數(shù)據(jù)分析、媒體處理、內(nèi)容管理等場景,可以選擇使用騰訊云的文件存儲CFS,也可使用自建的文件存儲NFS。
另外,騰訊云的NFS盤目前有10G的免費存儲空間!
往期內(nèi)容
Docker最全教程——從理論到實戰(zhàn)(一)
Docker最全教程——從理論到實戰(zhàn)(二)
Docker最全教程——從理論到實戰(zhàn)(三)
Docker最全教程——從理論到實戰(zhàn)(四)
Docker最全教程——從理論到實戰(zhàn)(五)
Docker最全教程——從理論到實戰(zhàn)(六)
Docker最全教程——從理論到實戰(zhàn)(七)
Docker最全教程——從理論到實戰(zhàn)(八)? ??
Docker最全教程——從理論到實戰(zhàn)(九)
Docker最全教程之使用Tencent Hub來完成CI(十)Docker最全教程——數(shù)據(jù)庫容器化(十一)
Docker最全教程——數(shù)據(jù)庫容器化之持久保存數(shù)據(jù)(十二)
Docker最全教程——MongoDB容器化(十三)
Docker最全教程——Redis容器化以及排行榜實戰(zhàn)(十四)
Docker最全教程之Ubuntu下安裝Docker(十五)
Docker最全教程之樹莓派和Docker(十六)
Docker最全教程之使用TeamCity來完成內(nèi)部CI、CD流程(十七)
Docker最全教程之使用Docker搭建Java開發(fā)環(huán)境(十八)
Docker最全教程之Go實戰(zhàn),墻裂推薦(十九)
Docker最全教程之使用.NET Core推送釘釘消息(二十)
Docker最全教程之使用 Visual Studio Code玩轉(zhuǎn)Docker(二十一)
Docker最全教程之Python爬網(wǎng)實戰(zhàn)(二十二)
使用PHP搭建個人博客站點
Docker最全教程之使用Node.js搭建團隊技術(shù)文檔站(二十四)
Docker最全教程之MySQL容器化 (二十五)
Docker+ Kubernetes已成為云計算的主流(二十六)
點此留言
總結(jié)
以上是生活随笔為你收集整理的容器化之后如何节省云端成本?(二十七)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux下Jenkins与GitHub
- 下一篇: kubernetes高级之创建只读文件系