使用 Operator 部署
要启用持续的网络流量采集,你需要:
- 一个可访问的 ClickHouse server,用于存储 flow 日志
- NetObserv Operator
- 一个 FlowCollector 实例
ClickHouse 后端可以通过以下任一方式准备:
- 使用现有的 ClickHouse server,并在 FlowCollector 配置中提供其连接信息
- 通过 ClickHouse Operator 在集群中部署一个新的 ClickHouse 实例
目录
选择 ClickHouse 部署选项可选:使用 ClickHouse Operator 部署 ClickHouse安装 ClickHouse Operator创建 ClickHouseInstallation 实例安装 NetObserv Operator创建 ClickHouse 认证 Secret创建 FlowCollector 实例选择 ClickHouse 部署选项
在创建 FlowCollector 实例之前,请从以下方式中选择一种:
- 现有 ClickHouse server:如果你已经有一个 FlowCollector 可以访问的 ClickHouse 部署,请使用此选项。
- 新建集群内 ClickHouse 实例:如果你希望使用 ClickHouse Operator 在集群中部署 ClickHouse,请使用此选项。
如果你使用现有的 ClickHouse server,请提前准备以下值:
- 以
host:port格式提供的 ClickHouse service 地址 - flow 日志的数据库名称
- ClickHouse 认证的用户名和密码
- 将用于 FlowCollector 的
.spec.namespace的 namespace
可选:使用 ClickHouse Operator 部署 ClickHouse
如果你已经为 NetObserv 准备好了 ClickHouse server,请跳过本节,直接转到安装 NetObserv Operator。
安装 ClickHouse Operator
-
导航到 管理员 > Marketplace > OperatorHub。
-
搜索 "ClickHouse",并找到由 提供的 ClickHouse Operator。
-
如果 ClickHouse Operator 的状态为 Absent,请上传你从 Customer Portal 下载的 ClickHouse Operator 包。
-
单击 ClickHouse Operator 以打开详情页。
-
在 operator 详情页上,单击 安装。
-
根据需要填写配置参数。
-
单击 安装 开始安装。
-
在弹窗对话框中单击 确认,确认安装。
-
等待安装完成。
如果 提供的 ClickHouse Operator 已经安装,请跳过本节,直接创建用于 NetObserv 的 ClickHouse 集群。
创建 ClickHouseInstallation 实例
-
在 ClickHouse Operator 详情页中,进入 所有实例 页面并单击 创建。
-
在弹窗对话框中,单击 ClickHouseInstallation 部分中的 创建。
-
在 创建 ClickHouseInstallation 页面中,单击右上角的 YAML 以切换到 YAML 编辑模式。
-
根据需要编辑 YAML 文件,然后单击 创建 以创建 ClickHouseInstallation 实例。
示例 ClickHouseInstallation YAML:
在 ClickHouse 实例就绪后,通过查看 ClickHouseInstallation 实例的字段 .status.endpoint 获取 service endpoint。
你也可以运行以下命令来获取 endpoint:
命令中的 cpaas-system 和 netobserv 必须分别与 ClickHouseInstallation 实例的 namespace 和名称一致。
如果你使用了不同的 namespace 或名称,请相应替换命令中的 cpaas-system 和 netobserv。
记录 ClickHouse endpoint 地址和凭据,供后续使用。 在创建 FlowCollector 实例时,你将需要这些信息。
安装 NetObserv Operator
-
导航到 管理员 > Marketplace > OperatorHub。
-
搜索 "Alauda Container Platform Network Observability Operator"。
-
单击 安装 以打开安装配置页面。
-
根据需要填写配置参数。
-
单击 安装 开始安装。
-
在弹窗对话框中单击 确认,确认安装。
-
等待安装完成。
创建 ClickHouse 认证 Secret
在创建 FlowCollector 实例之前,先为 ClickHouse 认证创建一个 Kubernetes secret。
该 secret 会在 FlowCollector 配置中通过 .spec.clickhouse.authSecret.name 引用。
-
创建一个名为 ck-auth.env 的本地文件,内容如下:
-
创建 Kubernetes secret:
在此命令中,netobserv 必须与 FlowCollector 配置中的 .spec.namespace 值一致。
如果你在 FlowCollector 配置中使用了不同的 namespace,请相应替换命令中的 netobserv。
创建 FlowCollector 实例
在创建 FlowCollector 实例之前,请确认:
- ClickHouse server 可以从集群访问
ck-authsecret 已存在于.spec.namespace指定的 namespace 中- ClickHouse 地址、数据库和凭据均正确
然后创建 FlowCollector 实例:
-
导航到 所有实例 页面并单击 创建。
-
在弹窗对话框中,单击 FlowCollector 部分中的 创建。
-
在 创建 FlowCollector 页面中,单击右上角的 YAML 以切换到 YAML 编辑模式。
-
根据需要编辑 YAML 文件,然后单击 创建 以创建 FlowCollector 实例。
示例 FlowCollector YAML:
- eBPF agent 启用的功能。
- eBPF probe 的采样间隔。值为 100 表示每 100 个 packet 采样 1 个。值为 0 或 1 表示采样所有 packet。
- ClickHouse server 地址。使用
host:port格式。这些地址可以指向集群中创建的 ClickHouse 实例,也可以指向现有的外部 ClickHouse server。 - ClickHouse 认证 secret。该 secret 必须 包含两个 key:
username和password。该 secret 必须创建在与.spec.namespace相同的 namespace 中。 - ClickHouse 中用于存储 flow 日志的数据库名称。如果数据库不存在,将自动创建。
- ClickHouse 中的数据保留期。使用数字加时间单位,例如
24h。此设置仅在创建 ClickHouse table 时生效。 - eBPF agents 和 flow 日志 pipeline 所部署的 namespace。
- flow 日志 pipeline 的副本数。
如果你使用的是现有的 ClickHouse server,请确保 FlowCollector 可以访问该 server 地址,并且引用的 secret 中包含有效凭据。
在创建 FlowCollector 实例后,eBPF agents 和 flow 日志 pipeline 将部署到 .spec.namespace 指定的 namespace 中。