mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
1257 字
6 分钟
自建k8s集群日志采集到阿里云sls

基于kind搭建测试集群#

参考基于kind搭建测试集群搭建三主二从的kind测试集群。

配置文件#

kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
networking:
apiServerAddress: "10.10.151.201"
nodes:
- role: control-plane
extraPortMappings:
- containerPort: 6443
hostPort: 6443
listenAddress: "10.10.151.201"
protocol: tcp
- role: control-plane
- role: control-plane
- role: worker
extraPortMappings:
- containerPort: 80
hostPort: 7080
listenAddress: "0.0.0.0"
protocol: tcp
- containerPort: 443
hostPort: 7443
listenAddress: "0.0.0.0"
protocol: tcp
- role: worker
extraPortMappings:
- containerPort: 80
hostPort: 8080
listenAddress: "0.0.0.0"
protocol: tcp
- containerPort: 443
hostPort: 8443
listenAddress: "0.0.0.0"
protocol: tcp
- role: worker
extraPortMappings:
- containerPort: 80
hostPort: 9080
listenAddress: "0.0.0.0"
protocol: tcp
- containerPort: 443
hostPort: 9443
listenAddress: "0.0.0.0"
protocol: tcp

创建集群#

创建高可用集群命令:

sudo kind create cluster --config=huari.yaml --name huari-test --image kindest/node:v1.34.0 --retain; sudo kind export logs --name huari-test

切换kubectl上下文:

sudo kubectl cluster-info --context kind-huari-test

查看信息:

# 查看集群节点
sudo kubectl get nodes
# 查看集群全部的pod
sudo kubectl get pods -A -owide

删除集群:

sudo kind delete cluster --name huari-test

自建K8s集群安装采集Agent#

LoongCollector是阿里云日志服务(SLS)推出的新一代日志采集 Agent,是 Logtail 的升级版。本文档指导您如何在 Kubernetes 集群中安装 LoongCollector,并提供了 DaemonSet 和 Sidecar 两种安装模式。

准备工作#

在安装前,请在集群节点上验证与日志服务服务端点的网络连通性,确保LoongCollector可以正常上报数据。

  1. 获取服务接入点:

    • 登录日志服务控制台,在Project列表中,单击目标Project。

    • 单击Project名称右侧的image进入项目概览页面。

    • 在基础信息中找到当前Project所在地域的公网和内网Endpoint。

  2. **执行连通性测试:**登录到将要安装LoongCollector组件的集群节点上,执行以下 curl 命令。请将 ${Project名称}${SLS_ENDPOINT} 替换为您的实际信息。

curl https://${Project名称}.${SLS_ENDPOINT}
  1. 查看测试结果:

    • 如果命令返回{"Error":{"Code":"OLSInvalidMethod",...}},表明您的节点与日志服务之间的网络是通畅的。

      说明

      此测试仅验证网络层连通性。由于请求缺少必要的 API 参数,日志服务返回错误响应是预期结果。

    • 如果命令超时或返回其他网络层错误(如 Connection refused),则表示网络不通,请检查节点的网络配置、安全组规则或 DNS 解析。

自建集群安装(DaemonSet模式)#

适用场景#

  • 自建 IDC 机房中的 Kubernetes 集群
  • 部署在其他云厂商的 Kubernetes 集群
  • 跨账号或跨地域采集阿里云 ACK 集群容器日志

操作指南#

  1. 下载并解压安装包:在安装并配置了kubectl的机器上,根据集群所在地域选择命令下载LoongCollector及其他依赖组件。
#中国地域
wget https://aliyun-observability-release-cn-shanghai.oss-cn-shanghai.aliyuncs.com/loongcollector/k8s-custom-pkg/3.2.6/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.sh
#海外地域
wget https://aliyun-observability-release-ap-southeast-1.oss-ap-southeast-1.aliyuncs.com/loongcollector/k8s-custom-pkg/3.2.6/loongcollector-custom-k8s-package.tgz; tar xvf loongcollector-custom-k8s-package.tgz; chmod 744 ./loongcollector-custom-k8s-package/k8s-custom-install.sh
  1. 修改配置文件**values.yaml**:进入loongcollector-custom-k8s-package目录,修改配置文件./loongcollector/values.yaml

参数说明

参数类型补充是否必填
projectNameStringProject名称,LoongCollector将上传日志到该Project中。命名规则如下:
1. 项目名称仅支持小写字母、数字和连字符(-)
2. 必须以小写字母开头,以小写字母和数字结尾
3. 名称长度为3~63个字符
regionStringProject所属地域ID,请参考地域查看Project所在地域的ID。
aliUidStringProject所属的阿里云主账号ID
netString日志数据传输使用的网络类型:
1. Internet(默认值):公网
2. Intranet:内网
accessKeyIDStringProject所属账号的AccessKey ID。推荐使用RAM用户的AccessKey,并授予RAM用户AliyunLogFullAccess系统策略权限。
accessKeySecretStringProject所属账号的AccessKey Secret。
clusterIDString自定义集群ID,命名只支持大小写字母、数字、短划线(-)。
  1. 执行安装脚本:在loongcollector-custom-k8s-package目录下执行如下命令,安装LoongCollector及其他依赖组件。
bash k8s-custom-install.sh install
  1. 验证安装结果:安装完成后,执行如下命令查看组件状态:
# 检查Pod状态
kubectl get po -n kube-system | grep loongcollector-ds

返回结果示例:

loongcollector-ds-44pxp 1/1 Running 0 2m45s
loongcollector-ds-4dffp 1/1 Running 0 2m45s
loongcollector-ds-76ns5 1/1 Running 0 2m45s
loongcollector-ds-tcbvz 1/1 Running 0 2m45s
loongcollector-ds-vxwr6 1/1 Running 0 2m45s
loongcollector-ds-z76ct 1/1 Running 0 2m45s

若组件未成功启动(非Running):

  • 检查配置:请确认values.yaml配置项是否正确。

  • 检查镜像:通过如下命令查看Events确认容器镜像是否成功拉取。

kubectl describe pod loongcollector-ds -n kube-system
  1. 组件安装成功后,日志服务会自动创建如下资源,您可登录日志服务控制台查看。
资源类型资源名称作用
Projectvalues.yaml文件中自定义的projectName的值资源管理单元,隔离不同业务日志。
机器组k8s-group-${cluster_id}日志采集节点集合。
机器组k8s-group-${cluster_id}-clusterloongcollector-cluster的机器组,主要用于指标采集场景。
机器组k8s-group-${cluster_id}-singleton单实例机器组,主要用于部分单实例采集配置。
LogStoreconfig-operation-log
重要请不要删除该LogStore。
用于存储LoongCollector组件中的alibaba-log-controller日志,其收费标准与普通LogStore完全相同,具体请参见按写入数据量计费模式计费项。建议不要在此LogStore下创建采集配置。

参考文档#

阿里云官方文档

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

自建k8s集群日志采集到阿里云sls
https://hua-ri.cn/posts/自建k8s集群日志采集到阿里云sls/
作者
花日
发布于
2026-02-16
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时