別再手動編碼了!發現這個一鍵生成 K8S YAML 的神器!
在日常的K8S運維工作中,我們通常會通過以下兩種友好的方式來獲取YAML模板:
- 平時自己收集和整理各種YAML模板文件。
- 通過試運行的方式臨時生成所需的YAML模板文件。例如,可以通過以下命令生成一個deployment的YAML文件。
kubectl create deploy deploy-nginx -o yaml \
--port=80 --image=nginx --dry-run=client
執行上述命令后,會在終端生成一個deploy的YAML文件,如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
creationTimestamp: null
labels:
app: deploy-nginx
name: deploy-nginx
spec:
replicas: 1
selector:
matchLabels:
app: deploy-nginx
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
app: deploy-nginx
spec:
containers:
- image: nginx
name: nginx
ports:
- containerPort: 80
resources: {}
status: {}
以上的基本的信息都已經生成了。但是如果需要部署到其他的命名空間,就需要自行添加命名空間?;蛘咴诿钚兄刑砑訁抵付ú渴鸬拿臻g,命令如下:
kubectl create deploy deploy-nginx -o yaml \
--port=80 --image=nginx \
--namespace=dev \
--dry-run=client
插件安裝
今天為大家介紹一個非常好用的工具,可以一鍵生成K8S資源的YAML模板,使用這個工具需要提前準備以下環境:
安裝Visual studio Code(版本要>=1.38)
安裝Red Hat YAML,該插件是一款為Visual Studio Code 提供全面YAML語言支持的插件。
安裝Kubernetes Templates插件,該插件可以幫助我們一鍵生成K8S資源YAML模板文件。
以上兩個插件安裝好,最后重啟一下vscode。
基本使用
使用方式也十分簡單,打開vscode,新建文件,然后文件格式選擇YAML,如下圖所示:
例如,我們想創建一個deploy模板文件,只需要在文件輸入k,然后,vscode就會智能的提示有關k開頭的所有模板,如下圖所示:
當我們選擇k8sDeployment回車時,就會生成非常詳細的模板。如下圖所示:
這個工具真是太棒了,讓我們不再為尋找K8S資源模板而煩惱,它幾乎覆蓋了K8S所有的資源文件。使用之后,我們的工作效率得到了顯著提升。