K8s 方式安装 light-agent
本文档将指导您在 Kubernetes 集群中安装和配置 light-agent。
操作环境说明
本文档涉及两个不同的操作环境:
- Lighthouse 平台所在服务器:用于执行镜像推送操作
- Kubernetes 管理节点:用于执行所有 Kubernetes 相关操作(如创建 Secret、部署应用等)
请确保在正确的环境中执行相应的命令。
系统要求
Kubernetes 版本要求
- Kubernetes 1.16 及以上版本
- 支持 Helm 3.x(如果使用 Helm 安装)
资源要求
- 每个节点至少 512MB 可用内存
- 每个节点至少 1GB 可用磁盘空间
网络要求
- Kubernetes 节点能够访问 Lighthouse 平台
- 需要确保容器运行时(如 Docker)能够访问指定的镜像仓库
- 防火墙需开放相关端口(默认 80)
前置条件
- 确保已具备以下条件:
- 有效的 Kubernetes 集群访问权限
- kubectl 命令行工具
- 可用的容器镜像仓库
- 准备所需信息:
- Lighthouse 平台访问地址
- 镜像仓库访问凭证
- Kubernetes 集群管理员权限
安装步骤
1. 推送镜像到镜像仓库
环境说明
以下操作需要在 Lighthouse 平台所在服务器 上执行。
私有仓库配置
如果使用私有仓库,需要在 Lighthouse 平台所在服务器 上配置 Docker:
- 编辑
/etc/docker/daemon.json
文件:
{
"insecure-registries": ["<registry_url>"]
}
- 重启 Docker 服务:
systemctl restart docker
在 Lighthouse 平台所在机器上执行:
cd /opt/lighthouse/downloads
REGISTRY_REPO=<your_registry_url> ./pusher.sh -- -u <username> -p <password>
参数说明
<your_registry_url>
: 镜像仓库地址(需包含项目名称,如 192.168.2.99/light-agent)-u <username>
: 镜像仓库用户名(可选)-p <password>
: 镜像仓库密码(可选)
2. 配置镜像仓库访问凭证
环境说明
以下操作需要在 Kubernetes 管理节点 上执行,请确保已配置好 kubectl 访问权限。
- 创建 Docker 配置密钥:
kubectl create secret docker-registry dockerconfig-secret \
--docker-email=<email> \
--docker-username=<username> \
--docker-password=<password> \
--docker-server=<registry_url>
参数说明
<email>
: 镜像仓库关联的邮箱地址<username>
: 镜像仓库用户名<password>
: 镜像仓库密码<registry_url>
: 镜像仓库地址(不需要项目名称,如 192.168.2.99)
- 获取密钥内容:
kubectl get secret dockerconfig-secret -o jsonpath='{.data.*}'
3. 部署 light-agent
环境说明
以下操作需要在 Kubernetes 管理节点 上执行。
- 获取部署模板:
curl -O http://<Lighthouse IP>/downloads/k8s/light-agent-template.yaml
- 生成部署配置:
COLLECTOR_SERVER_IP=<Lighthouse IP> \
REGISTRY_REPO=<your_registry_url> \
REGISTRY_CRED=<registry_cred_str> \
envsubst '${REGISTRY_REPO} ${COLLECTOR_SERVER_IP} ${REGISTRY_CRED}' \
<light-agent-template.yaml >light-agent.yaml
参数说明
COLLECTOR_SERVER_IP
: Lighthouse 平台 IP 地址REGISTRY_REPO
: 完整的镜像仓库地址(含项目名称)REGISTRY_CRED
: 上一步获取的 Docker 配置密钥
- 执行部署:
kubectl apply -f light-agent.yaml
验证部署
环境说明
以下操作需要在 Kubernetes 管理节点 上执行。
使用以下命令监控部署状态:
watch -n 1 kubectl get all -n light-agent
检查要点
- 确保所有 Pod 状态为 Running
- 检查 Pod 日志是否有错误信息
- 验证与 Lighthouse 平台的连接状态
常见问题排查
环境说明
以下操作都需要在 Kubernetes 管理节点 上执行。可以使用以下命令查看详细信息:
# 查看 Pod 状态
kubectl get pods -n light-agent
# 查看 Pod 日志
kubectl logs -n light-agent <pod-name>
# 查看 Pod 详细信息
kubectl describe pod -n light-agent <pod-name>
-
镜像拉取失败
- 检查镜像仓库配置是否正确
- 验证 Docker 配置密钥是否正确配置
- 确认网络连接是否正常
-
Pod 启动失败
- 检查资源配额是否充足
- 查看 Pod 详细状态和事件
- 检查节点状态和调度情况
-
数据采集异常
- 确认 Lighthouse 平台地址配置是否正确
- 检查网络策略和防火墙设置
- 查看 Pod 日志中的错误信息
卸载说明
环境说明
以下操作需要在 Kubernetes 管理节点 上执行。
执行以下命令卸载 light-agent:
kubectl delete -f light-agent.yaml
注意事项
- 卸载前请确保已备份重要数据
- 卸载操作不可逆,请谨慎执行
- 建议在维护窗口期进行操作
技术支持
如果您在安装或使用过程中遇到问题:
- 收集以下信息:
- Kubernetes 集群版本和状态
- light-agent Pod 日志
- 相关错误信息和事件日志
- 联系技术支持团队获取帮助