内置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