使用 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 服务地址 - 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 字段获取服务端点。
你也可以运行以下命令来获取端点:
命令中的 cpaas-system 和 netobserv 必须分别与 ClickHouseInstallation 实例的 namespace 和名称一致。
如果你使用不同的 namespace 或名称,请相应替换命令中的 cpaas-system 和 netobserv。
记录 ClickHouse 端点地址和凭据,供后续使用。 在创建 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 必须 包含两个键:
username和password。该 secret 必须创建在与.spec.namespace相同的 namespace 中。 - 用于存储 flow 日志的 ClickHouse 数据库名称。如果数据库不存在,将自动创建。
- ClickHouse 中的数据保留期。使用数字加时间单位,例如
24h。此设置仅在创建 ClickHouse 表时生效。 - 部署 eBPF agents 和 flow 日志 pipeline 的 namespace。
- flow 日志 pipeline 的副本数。
如果你使用现有的 ClickHouse server,请确保 FlowCollector 能够访问该 server 地址,并且所引用的 secret 包含有效凭据。
在创建 FlowCollector 实例后,eBPF agents 和 flow 日志 pipeline 会部署到 .spec.namespace 指定的 namespace 中。