如何在阿里雲上構建一個合適的Kubernetes集羣

摘要: 聲明 本文主要介紹如何在阿里雲上構建一個K8S集羣的實踐,只是做爲參考,你們能夠根據實際狀況作出調整。 集羣規劃 在實際案例中發現,有很多同窗使用了不少的小規格的ECS來構建K8S集羣,這樣其實即沒有達到省錢的目的,也沒有很好的發揮K8S集羣的優點。java

聲明docker

本文主要介紹如何在阿里雲上構建一個K8S集羣的實踐,只是做爲參考,你們能夠根據實際狀況作出調整。安全

集羣規劃服務器

在實際案例中發現,有很多同窗使用了不少的小規格的ECS來構建K8S集羣,這樣其實即沒有達到省錢的目的,也沒有很好的發揮K8S集羣的優點。由於經過大量的小型ECS構建集羣有幾個弊端:網絡

小規格Woker ECS的網絡資源受限
若是一個容器基本能佔用掉一個小規格ECS,那麼這個的機器的剩餘資源就沒法利用(構建新的容器或者是恢復失敗的容器),在ECS數量多的狀況,反而是一種浪費。less

那麼如何選擇Worker ECS的規格呢?運維

肯定整個集羣的平常使用的總核數以及可用度的容忍度。例如總的核數有160核,同時容忍10%的錯誤。那麼最小選擇10臺ECS爲16核的機器,而且高峯運行的負荷不要超過16090%=144核。若是容忍度是20%,那麼最小選擇5臺32核的機器,而且高峯運行的負荷不要超過16080%=128核。這樣確保,就算有一臺機器總體crash均可以支持得住業務運行。
可是上面這個計算只是理論值,由於規格小的機器,極可能剩餘不可利用的資源的比例就高。因此不是越小的機器越好。
選擇好CPU:Memory的比例。對於使用內存比較多的應用例如java類應用,建議考慮使用1:8的機型。性能

高規格ECS的一些好處:區塊鏈

高規格的好處是,網絡帶寬大,對於大帶寬類的應用,資源利用率也高。
在一臺機器內容器建通訊的比例增大,減小網絡的傳輸
拉取鏡像的效率更好。由於鏡像只須要拉取一次就能夠被多個容器使用。而對於小規格的ECS拉取鏡像的此時就增多。在須要聯動ECS作伸縮的場景,則須要花費的時間更長,反而達不到當即響應的目的
選用神龍服務器阿里雲

阿里雲已經推出了裸金屬服務器:神龍,選用神龍服務比較典型的兩個場景:

若是在集羣平常規模可以到1000個核的狀況下,建議所有選擇神龍服務器。(神龍服務器96核起)這樣能夠經過10~11臺神龍服務器構建一個集羣。
須要快速擴大比較多的容器的時候,特別是電商類大促的時候,應對流量尖峯,能夠考慮使用神龍服務來做爲新增的節點,這樣增長一臺神龍就能夠支持不少個容器運行了。
神龍服務做爲容器集羣的構建基礎,還有如下好處:

超強網絡: 配備RDMA技術。經過Terway容器網絡,充分發揮硬件性能跨宿主機容器帶寬超過9Gbit/s
計算性能零抖動:自研芯片取代Hypervisor,無虛擬化開銷,無資源搶佔
安全:物理級別加密,支持Intel SGX加密,可信計算環境,支持區塊鏈等應用

圖片描述

構建集羣選項注意點

在構建k8s集羣是,有不少選項須要注意:

網絡選擇

若是須要鏈接外部的一有服務,如 rds等,則須要考慮複用原有的VPC,而不是取建立一個新的VPC。由於VPC間是隔離的。可是能夠經過建立一個新的交換機,把k8s的機器都放在這個交換機,便於管理。
網絡插件的選擇:目前支持兩種插件,一種是flannel,直通VPC,性能最高。一種是Terway,提供k8s的網絡策略管理。
POD CIDR,整個集羣的POD的網絡。這個不能設置過小。由於設置過小,能支持的節點數量就受限了。這個與高級選項中「每一個節點POD的數量有關」。例如POD CIDR是/16的網段,那麼就有256*256個地址,若是每一個幾點POD數量是128,則最多能夠支持512個節點。

磁盤的選擇

儘可能選擇SSD盤
對於Worker節點,儘可能選擇「掛在數據盤」。由於這個盤是專門提供給/var/lib/docker,使用來存放本地鏡像的。避免後續若是鏡像太多撐爆根磁盤。在運行一段時間後,本地會存在不少無用的鏡像。比較快捷的方式就是,先下線這臺機器,從新構建這個磁盤,而後再上線。

平常運維設置

對於ECS的監控,平常運維必定設置CPU, Memory,磁盤的告警。再次說明一下,儘可能將/var/lib/docker放在獨立一個盤上
必定配置日誌收集

**是否須要當即構建Worker節
點**

目前集羣的建立方式使用的ECS是按照量計費的模式。若是須要包年包月,則能夠考慮先不建立Worker節點,而後建立k8s集羣完後,再單獨購買ECS後添加進集羣裏。

K8S穩定性的考慮

參考 https://yq.aliyun.com/article...

Serverless Kubernetes

若是管理和維護Kuberntes集羣太過於麻煩,爲何不試試咱們的Serverless Kubernetes呢?

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

相關文章
相關標籤/搜索