阿里云容器服務(wù)Kubernetes集群支持CentOS操作系統(tǒng),在絕大多數(shù)情況下可以滿足客戶的要求。但是有些客戶由于業(yè)務(wù)系統(tǒng)對操作系統(tǒng)依賴
比較高,希望定制化一些操作系統(tǒng)參數(shù),則可以用packer自定義鏡像來創(chuàng)建Kubernetes集群。
創(chuàng)建自定義操作系統(tǒng)鏡像有兩種方式,一是在控制臺上通過為一臺E
CS創(chuàng)建快照的方式創(chuàng)建鏡像,注意一定要基于阿里云CentOS作為基礎(chǔ)鏡像,把對操作系統(tǒng)的定制化更新完打成鏡像即可。但這種方式的不便之處在于,如果每次對操作系統(tǒng)鏡像有更新,則都要手動操作一遍,很難自動化。而且如果是從已有的Kubernetes節(jié)點制作鏡像,還需要把Docker,Kubelet等清理干凈才能制作鏡像,步驟繁瑣且容易遺漏。
另外一種方式就是本文介紹的用Packer構(gòu)建鏡像。相關(guān)的參考
文檔:使用Packer創(chuàng)建自定義鏡像。采用Packer構(gòu)建鏡像的好處是可以把構(gòu)建方式自動化,構(gòu)建所需的參數(shù)文件中包含了對干凈的基礎(chǔ)鏡像所做的修改,一目了然,并且可以把配置進(jìn)行版本化管理。后期需要構(gòu)建新的鏡像,只需改變配置重新執(zhí)行一下Packer構(gòu)建即可,非常方便,是在生產(chǎn)環(huán)境中使用自定義鏡像的推薦方式。
那么有沒有一個針對容器服務(wù)集群的Packer配置模版呢?容器服務(wù)團隊開源的ack-image-builder就是一個這樣的示例項目。下面我們就來一起動手實踐一下。
安裝Packer
可以根據(jù)官方文檔安裝Packer。
創(chuàng)建自定義鏡像
克隆ack-image-builder項目到本地,可以看到config和scripts目錄下是一些示例定制化腳本,讀者可以根據(jù)自己的需求更新改。
2 directories,8 files
在ack-centos.json 可以配置在把生成好的自定義鏡像存在哪個區(qū)(示例中為cn-hangzhou)。
{
"variables": {
"region": "cn-hangzhou",
"image_name": "ack_test_image{{timestamp}}",
"source_image": "centos_7_06_64_20G_alibase_20190218.vhd",
...
},
配置好阿里云賬號的AK,然后執(zhí)行構(gòu)建命令。
export ALICLOUD_ACCESS_KEY=XXX
export ALICLOUD_SECRET_KEY=XXX
packer build ack-centos.json
大約7-8分鐘一個新的自定義鏡像就構(gòu)建成功了?梢赃M(jìn)入ECS控制臺查看新生成的鏡像。
利用自定義鏡像創(chuàng)建容器集群
開通自定義鏡像白名單
讀者如果需要嘗試自定義鏡像能力,需要先開工單,申請在容器服務(wù)控制臺上開通自定義鏡像的白名單。
創(chuàng)建容器集群
白名單開通后進(jìn)入容器服務(wù)控制臺 https://cs.console.aliyun.com/#/k8s/cluster/list,創(chuàng)建Kubernetes集群。選擇自定義鏡像所在的區(qū),在示例中是cn-hangzhou。
在創(chuàng)建集群的頁面中點擊"顯示高級選項",會出現(xiàn)"自定義鏡像"的選擇界面:
利用Packer自定義鏡像創(chuàng)建容器集群圖二
如果在選擇中找不到剛創(chuàng)建的鏡像,請檢查一下集群和自定義鏡像是否在同一個Region。
選擇了自定義鏡像后點擊創(chuàng)建集群即可完成一個自定義鏡像集群的創(chuàng)建。
集群擴容與自動伸縮
使用自定義鏡像創(chuàng)建集群后,集群的擴容與自動伸縮中所用的都是自定義鏡像。
利用Packer自定義鏡像創(chuàng)建容器集群圖三
scale
Terraform 中自定義鏡像支持
利用Terraform創(chuàng)建容器集群也可以使用自定義鏡像,具體參數(shù)是:
討論
自定義鏡像創(chuàng)建集群為很多有對操作系統(tǒng)有定制化要求的客戶帶來了很大的便利性,在使用自定義鏡像的過程中幾個比較好的做法是:根據(jù)阿里云的提供的最新的CentOS鏡像來定制化,利用自定義創(chuàng)建集群后要充分測試,防止對操作系統(tǒng)的更改引發(fā)沖突。在實踐中也建議基于Packer示例項目來構(gòu)建鏡像。
- 軟件性質(zhì):國外軟件
- 授權(quán)方式:免費版
- 軟件語言:簡體中文
- 軟件大。245 KB
- 下載次數(shù):75 次
- 更新時間:2020/1/22 3:12:55
- 運行平臺:WinAll...
- 軟件描述:EnigmaVBUnpacker是一款國外開發(fā)的單文件EXE解包工具,它的功能是... [立即下載]