部署
HUATUO 采集器 huatuo-bamai 运行在物理机或 VM 上,提供了二进制包和 docker 镜像,可完全通过自定义方式部署,如 k8s daemonset 方式、systemd/supervisord 托管方式等。
- systemd 托管、daemonset 方式适合生产环境
- docker / compose 方式适合开发和快速验证场景
二进制包下载
国内镜像下载
镜像默认存储在 dockerhub,也提供国内镜像获取方式,手动同步了采集器 huatuo/huatuo-bamai v2.1.0 版本到渡渡鸟镜像站,注意别下载 latest (渡渡鸟镜像站不会自动更新 latest 版本):
1 - Daemonset
HUATUO 为减少理解成本,提供了最简单的 daemonset 部署方式。
通过 daemonset 方式部署 HUATUO 采集器有如下步骤。
1 拉取采集器配置文件
curl -L -o huatuo-bamai.conf https://github.com/ccfos/huatuo/raw/v2.1.0/huatuo-bamai.conf
配置文件需要根据你的实际环境作修改,如连接 kubelet 和 elasticsrearch 的相关配置。
2 创建 configMap
kubectl create configmap huatuo-bamai-config --from-file=./huatuo-bamai.conf
3 部署采集器
kubectl apply -f huatuo-daemonset.minimal.yaml
文件 huatuo-daemonset.minimal.yaml 内容:
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: huatuo
namespace: default
labels:
app: huatuo
spec:
selector:
matchLabels:
app: huatuo
template:
metadata:
labels:
app: huatuo
spec:
containers:
- name: huatuo
image: docker.io/huatuo/huatuo-bamai:v2.1.0
resources:
limits:
cpu: '1'
memory: 2Gi
requests:
cpu: 500m
memory: 512Mi
securityContext:
privileged: true
volumeMounts:
- name: proc
mountPath: /proc
- name: sys
mountPath: /sys
- name: run
mountPath: /run
- name: var
mountPath: /var
- name: etc
mountPath: /etc
- name: record
mountPath: /home/huatuo-bamai/record
- name: huatuo-bamai-config-volume
mountPath: /home/huatuo-bamai/conf/huatuo-bamai.conf
subPath: huatuo-bamai.conf
volumes:
- name: proc
hostPath:
path: /proc
- name: sys
hostPath:
path: /sys
- name: run
hostPath:
path: /run
- name: var
hostPath:
path: /var
- name: etc
hostPath:
path: /etc
- name: record
hostPath:
path: /var/log/huatuo/record
type: DirectoryOrCreate
- name: huatuo-bamai-config-volume
configMap:
name: huatuo-bamai-config
hostNetwork: true
hostPID: true
2 - Docker
国内镜像下载
镜像默认存储在 dockerhub,也提供国内镜像获取方式,手动同步了采集器 huatuo/huatuo-bamai v2.1.0 版本到渡渡鸟镜像站,注意别下载 latest (渡渡鸟镜像站不会自动更新 latest 版本):
只部署采集器
启动容器
docker run --privileged --cgroupns=host --network=host -v /sys:/sys -v /proc:/proc -v /run:/run huatuo/huatuo-bamai:v2.1.0
⚠️:这会使用容器内的默认配置文件,容器内的默认配置不会连接 ES,完整配置可将 huatuo-bamai.conf 通过 -v 方式挂载到容器内部,需要根据你的实际环境对 huatuo-bamai.conf 作修改,如连接 kubelet 和 elasticsrearch 的相关配置、本地存储异常事件日志的路径等。
部署所有组件(docker compose)
在本地开发、验证使用 docker compose 是最便捷的方式,可通过该方式快速地在本地搭建部署一套完整的环境自行管理采集器、ES、prometheus、grafana 等组件。
docker compose --project-directory ./build/docker up
docker compose 建议使用 plugins 方式安装,参考 https://docs.docker.com/compose/install/linux/
3 - Systemd
rpm 方式安装
腾讯 OpenCloudOS 提供了 HUATUO 安装包,因此在 OpenCloudOS 上可快速启用 HUATUO。
wget https://mirrors.opencloudos.tech/epol/9/Everything/x86_64/os/Packages/huatuo-bamai-2.1.0-2.oc9.x86_64.rpm
wget https://mirrors.opencloudos.tech/epol/9/Everything/aarch64/os/Packages/huatuo-bamai-2.1.0-2.oc9.aarch64.rpm
sudo rpm -ivh huatuo-bamai*.rpm
类似其他使用 rpm 包管理的 OS 也可通过该方式下载和安装,配置文件需要根据你的实际环境作修改,如连接 kubelet 和 elasticsrearch 的相关配置等。
腾讯 OpenCloudOS 完整安装可参考https://mp.weixin.qq.com/s/Gmst4_FsbXUIhuJw1BXNnQ
二进制安装
可下载二进制包自定义配置托管方式,同上配置文件需要根据你的实际环境作修改,如连接 kubelet 和 elasticsrearch 的相关配置等。