說到 K8S 喔,就不得不提到那精美的 YAML,
當你想佈個 Service / Deployment 時,
可能會因為你常打還知道怎麼打出來!
一旦你要用的元件是不常用的時候,
你應該會很幹的去翻 K8S 官網文件查!(就跟我之前為了要寫 AWS Cloudformation 時還要翻那該死的文件一樣)
因此 AWS 推出 CDK8S ,
讓你開發時比較不需要花太多時間翻文件!
CDK8S 目前支援 TypeScript / Python / Java,
不過這裡直接用 TypeScript 做個說明好了。
安裝 CDK8S 工具
npm install -g cdk8s-cli
建立新專案
mkdir /helloworld
cd /helloworld
cdk8s init typescript-app
開始開發
打開專案的 main.ts ,那就是開發的起點了!
部署
雖然一般都會直覺想到用 npm run build ,
但是實際上這會跑 compile / test / generate yaml 三個動作。
在還沒有寫測試之前,建議直接跑 npm run compile && npm run synth,
這樣就能直接產生 K8S 所需要的 YAML(在 dist/ 目錄內)
接著輸入 kubectl apply -f dist/* 就可以開始部署到你的 K8S Cluster 上。
感想
老實說,這其實是個還蠻方便的玩意,
除了常用的一堆元件外,
也可以針對各種少見但就是會用到的元件寫自己的宣告(?),
下次要寫的時候可以提示哪些參數是必須或是該填些什麼,
能夠省下每次翻文件的時間。
留言