預備知識:
- 對k8s的運行原理有一定了解
- 對阿里雲的eip,snat和基本網絡知識有一定了解,熟悉linux操作
准備條件
- 兩台及以上ecs服務器
- 阿里雲賬戶余額100元以上(阿里雲要求)
- 阿里雲oss一個(oss和ecs在一個區域最好,目前40g一年才9塊錢,足夠用)
首先阿里雲創建k8s集群要求至少有兩台ecs服務器,可以創建集群的時候購買,也可以預先購買好。另外雲服務器可以選擇不含有eip的,之后自己綁定eip以方便使用共享流量包,或者固定帶寬,或者是在創建集群的時候選擇使用snat。阿里雲的snat是收費的,有點坑。
下面開始創建:
阿里雲左上角的菜單(新版本首頁)->產品與服務->容器服務kubernetes版本
第一次創建會讓開啟ram授權,正常點擊授權就可以
點擊創建集群后如下圖


如果不懂得,除了名稱可以按照我的設置來
下面進行各個選項的解析:
集群版本: 最上面可以選擇托管版,和其他版本,本文着重說一下專有版本和托管版本的區別
- 專有版本:master和worker都需要自己創建,如果需要高可用,那么master需要至少三個,也就是說,如果你不想把master和worker放在同一台服務器上,就要多使用三台服務器。
- ACK托管版:master由阿里雲給創建,自己只需要購買worker服務器。
集群名稱: 隨意選擇,
地域: 請選擇自己ecs和rds等資源所在的地域
kubernetes版本:阿里雲已經做好充分的測試了,所以選擇最新的就可以,不懂就選擇默認值
容器運行時: 默認即可
專有網絡: 專有網絡選擇和ecs,rds同一個專有網絡
虛擬交換機: 只要是同一個專有網絡下面的交換機是可以互通的
網絡插件: 除去阿里雲自己的區別描述,還有一點 如果使用flannel插件,則worker端對外,訪問外網(比如短信接口等)使用的是worder所在ecs自己的eip或者如果使用的是snat模式,就是snat綁定的eip。如果使用的terway插件則走的就是snat的eip。注意,創建集群成功后,會為集群創建一個對外服務的ingress的slb,worker內部的容器直接對外訪問,使用的不是這個slb的ip。
pod網絡 CIDR:一般默認就可以,不懂就看官方文檔
service CIDR:一般默認就可以,不懂就看官方文檔
節點數量:選擇合適的數量即可,不用太糾結
配置SNAT:如果ecs沒有訪問外網能力,則必須使用snat,snat就是把vpc綁定一個eip,然后給內部的eds使用nat方式上網用的。如果ecs自己已經綁定了eip或者自帶ip帶寬,可以不選擇。
公網訪問:這個最好是選一下,這個綁定以后ip不收費,可以使用流量包,管理master用的
RDS白名單:這個主意,目前阿里雲顯示出來的只有普通的mysql-rds,redis的和polardb的都不顯示
安全組:這個看需求選擇,也基本都是選擇企業類型就可以,后期可以修改規則。
增加worker


可以新增實例,也可以選擇現有實例
- 新增實例:就是新購買ecs,要注意自己選擇vpc和交換機
- 選擇已有實例:可以選擇現有的服務器,注意:現有服務器會被更換硬盤,硬盤內容會被清空,如果硬盤以后內容,注意備份。或者不要添加節點

選擇完節點以后,會有數據盤掛載這個選項,可以不選,默認就一個盤。
我這里多說一句:這里選擇操作系統的時候,只有兩個系統可以選擇,一個是centos7,一個是阿里雲linux。為什么操作系統不能選很多種?我猜測因為阿里雲會自動安裝docker的各種工具包進作為worker角色的ecs,所以他對系統的要求更高,否則很可能出現各種各樣的問題。這里才會有這種限制。
其他的就是設置自己的秘鑰對或者密碼了。
下一步組件配置


安裝ingress組件:如果想要配置多個網站,並且需要對外服務,則這個必選,會給分配一個slb
負載類型: 公網/內網,對外服務就要寫公網。
存儲插件: 選什么不是很有所謂,都可以滿足需求。推薦csi,對之后創建數據卷語法沒影響
監控插件: 基礎版是免費的,可以放心使用
日志服務: 日志服務可以加,尤其是以后如果想采集內部doker里面的日志,這里還是推薦加一下最好,他會自動創建標記采集,后面使用這個標記可以方便的自動添加日志節點。
slb費用: 0.05/小時,帶寬費用0.8/g
下一步確認配置
核對一下是否和自己選擇的一樣
核對無誤后點擊創建集群 注意:創建集群的時候,會有檢測一些權限,如果權限未開通,可以令開頁面進行開通授權,比如ess彈性伸縮,開通后點小按鈕刷新狀態, 狀態都ok以后,點擊創建集群。
等待十分鍾左右集群創建成功。到此創建集群已經完成。