內置CRD(custom resource definition)模板工具內置了一系列采集能力,通過此工具,可以快速集成標準化采集能力并通過CRD管理采集配置的生命周期,避免控制臺配置繁瑣步驟。
前提條件
采集Kubernetes集群內Logs、Metrics、Trace數據,需要先安裝Logtail組件。Logtail組件安裝方式請參見:
支持的Logtail組件版本: 1.7.3版本及以上,查看Logtail版本,請參見查看Logtail版本,升級Logtail版本,請參見升級Logtail。
支持的Logtail組件版本:V2及以上,查看Logtail版本,請參見查看Logtail版本,升級Logtail版本,請參見升級Logtail。
安裝CRD 模板工具
操作方式 | 描述 |
集群外安裝 | 集群外部安裝要求登錄賬戶存在 |
集群內安裝 | 容器內安裝基于已安裝組件 |
集群外安裝
登錄集群,下載模板工具。
中國地區
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
海外地區
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
安裝模板工具,安裝成功后會在當前文件夾生成
sls-crd-tool
工具。tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh
執行
./sls-crd-tool list
命令驗證工具是否安裝成功,當存在返回值時,說明工具安裝成功。
容器內安裝
登錄集群,進入
alibaba-log-controller
容器。kubectl get pods -n kube-system -o wide |grep alibaba-log-controller | awk -F ' ' '{print $1}' kubectl exec -it {pod} -n kube-system bash cd ~
下載模板工具。
如集群內可以下載公網資源,操作方法如下:
中國地區
curl https://logtail-release-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
海外地區
curl https://logtail-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/kubernetes/crd-tool.tar.gz -o /tmp/crd-tool.tar.gz
如集群內無法下載公網資源,可以集群外下載,使用
kubectl cp <source> <destination>
或者ACK上傳等功能將模板工具傳輸至上述容器。
安裝模板工具,安裝成功后會在當前文件夾生成
sls-crd-tool
工具。tar -xvf /tmp/crd-tool.tar.gz -C /tmp &&chmod 755 /tmp/crd-tool/install.sh && sh -x /tmp/crd-tool/install.sh
執行
./sls-crd-tool list
命令驗證工具是否安裝成功,當存在返回值時,說明工具安裝成功。
使用模板工具創建采集配置
指令構成
./sls-crd-tool <全局參數> <操作指令> <指令參數>
全局參數
參數 | 功能 |
--version或-v | 查看工具版本。 |
--help或-h | 查看工具幫助文檔。 |
--kubepath path或-k path | 指定kube config地址,僅集群外操作生效,默認參數為 |
--inner或-i | 集群內操作為在組件alibaba-log-controlle的容器內操作(此容器具有操作aliyunlogconfigs CRD的權限)。如果無機器存在kube config操作權限,推薦容器內安裝并操作。默認參數為false。 |
--language language或-l language | 支持zh(中文) 或en(英文) 參數,默認參數為zh。 |
操作指令
list
功能:查看內置模板列表
指令:
./sls-crd-tool list
樣例:
./sls-crd-tool -l en list
get
功能:下載模板配置, 模板配置文件將保存為
template-<NAME.yaml>
文件。指令:
./sls-crd-tool get
指令參數:
--help或-h:查看當前指令文檔。
--gen或-g:生成模板文件,默認參數為true。
--output value或-o value輸出文件格式,支持JSON和yaml,默認參數為yaml。
樣例:
下載模板配置文件
./sls-crd-tool -l en get autometrics
查看模板配置文件
cat template-autometrics.yaml
修改模板配置文件,請參考下表:
可修改的模板參數分為2種,如下所述,REQUIRED字段為必填字段,auto字段可以按實際需求修改。
參數類型
說明
auto
支持自動填充,具體填充參數為安裝指令時設置,目前支持自動填充的值:ClusterID、MachineGroup、NameSpace、Project。
重要MachineGroup請保持auto 參數,模板會自動根據工作模型自動選擇正確機器組,避免因錯誤機器組導致的采集重復等問題。
REQUIRED
REQUIRED 參數為當前CRD 模板必須填寫的參數,請配置為使用場景參數值。
apply
功能: 應用模板配置,創建真實
aliyunlogconfigs
CRD 資源。指令:
./sls-crd-tool apply -f <FILE>
指令參數:
--file value或-f value : get指令生成的模板文件路徑。
--create或-c :創建真實
aliyunlogconfigs
CRD資源,默認參數為true。--namespace value或-n value:選擇組件空間,當集群安裝多個Logtail組件時生效,默認參數為空。
--help或-h : 查看當前指令文檔。
樣例:
驗證參數合法性
說明當前模板配置文件中含有REQUIRED參數未填充。
./sls-crd-tool apply -f template-autometrics.yaml --caeate=false -n alibabacloud-sls-new
創建真實
aliyunlogconfigs
CRD資源./sls-crd-tool apply -f template-autometrics.yaml -n alibabacloud-sls-new
kubectl get aliyunlogconfigs.log.alibabacloud.com -n alibabacloud-sls-new