尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

KubeSphere 如何安装 WizTelemetry Auditing 并查询审计事件

KubeSphere 如何安装 WizTelemetry Auditing 并查询审计事件 KubeSphere 如何安装 WizTelemetry Auditing 并查询审计事件【免费下载链接】kubesphereThe container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ ☁️项目地址: https://gitcode.com/GitHub_Trending/ku/kubesphere在 KubeSphere 4.x微内核 扩展架构环境中要让集群的 Kubernetes 审计事件被收集、存储并可检索需要安装 WizTelemetry Auditing 扩展whizard-auditing。它负责采集并导出审计事件默认写入 OpenSearch之后可以通过 WizTelemetry 平台的审计查询 API 按用户、资源、操作类型、时间范围等条件检索。本文给出一条完整的操作路径准备 OpenSearch 存储 → 安装数据管道vector→ 安装平台服务whizard-telemetry→ 安装whizard-auditing→ 调用审计查询 API。前置条件在安装whizard-auditing之前确认以下条件依赖关系来自扩展文档的 Dependencies 说明已可用的OpenSearch用于存储审计索引。可以是 KubeSphere 内置的 OpenSearch 扩展也可以是外部 OpenSearch 集群。使用外部 OpenSearch 时需要准备可访问的 endpoint URL例如http://node-ip:30920或https://opensearch.example.com:9200和账号密码用户名默认admin。endpoint 必须能从部署 Vector agent 的各个集群访问。WizTelemetry Platform Servicewhizard-telemetry必选依赖提供所有可观测扩展共用的 APIServer审计查询 API 就挂在它上面。WizTelemetry Data Pipelinevector必选依赖负责采集、转换和路由审计数据。OpenSearch 的 sink 配置endpoint、认证信息由vector扩展提供因此必须先装好vector并配置 OpenSearch再安装whizard-auditing。已注册的目标集群用以下命令查看kubectl get clusters -o jsonpath{.items[*].metadata.name}如果环境里还没有内置 OpenSearch可先通过 OpenSearch 扩展安装InstallPlan 的metadata.name必须为opensearch版本从extensionversions中获取数据节点默认以 NodePort30920暴露安装完成后可以用下面命令验证集群健康curl -k -u admin:admin https://node-ip:30920/_cluster/health其中node-ip是集群节点内部 IP账号密码按你实际环境替换内置扩展的文档示例使用admin。第一步安装数据管道 vector 并配置 OpenSearch sink先获取vector的最新可用版本kubectl get extensionversions -l kubesphere.io/extension-refvector -o jsonpath{range .items[*]}{.spec.version}{\n}{end} | sort -V | tail -1按返回的版本号填写 InstallPlan。下面模板中的VECTOR_VERSION替换为上一步取到的版本号OPENSEARCH_ENDPOINT、OPENSEARCH_USER、OPENSEARCH_PASSWORD替换为你自己的 OpenSearch 地址与凭据TARGET_CLUSTERS替换为要部署 agent 的集群名例如hostapiVersion: kubesphere.io/v1alpha1 kind: InstallPlan metadata: name: vector spec: extension: name: vector version: VECTOR_VERSION enabled: true upgradeStrategy: Manual config: | agent: sinks: opensearch: auth: strategy: basic user: OPENSEARCH_USER password: OPENSEARCH_PASSWORD endpoints: - OPENSEARCH_ENDPOINT clusterScheduling: placement: clusters: - TARGET_CLUSTERSmetadata.name必须是vector所有占位符都要替换为真实值后再kubectl apply。应用后等待 agent 就绪并验证# 等待 vector pods 就绪在每个目标集群上 kubectl wait --forconditionReady pods -n kubesphere-logging-system -l app.kubernetes.io/instancevector --timeout300s # 验证部署状态 kubectl get pods -n kubesphere-logging-system -l app.kubernetes.io/instancevector kubectl get installplan vector如果 Pod 迟迟不起文档给出的排查方向是检查 OpenSearch 是否可达如果数据不流转检查 sink 配置kubectl get secret -n kubesphere-logging-system vector-sinks -o yaml和网络连通性。第二步安装平台服务 whizard-telemetry获取最新版本kubectl get extensionversions -l kubesphere.io/extension-refwhizard-telemetry -o jsonpath{range .items[*]}{.spec.version}{\n}{end} | sort -V | tail -1whizard-telemetry的config段需要描述已安装的可观测扩展auditing、logging、events 等以及各自的 OpenSearch 连接。仓库提供了辅助脚本 generate-config.sh它会检查已安装并启用的扩展、从kubesphere-logging-system命名空间的vector-sinkssecret 中读取 OpenSearch endpoint 和凭据并在---CONFIG_START---与---CONFIG_END---之间输出 config 内容找不到 vector 配置时回退到默认的内置地址https://opensearch-cluster-data.kubesphere-logging-system.svc:9200admin/admin。用生成的 config 创建 InstallPlanVERSION替换为上一步的版本号CONFIG_FROM_STEP_2替换为脚本输出的 config 内容apiVersion: kubesphere.io/v1alpha1 kind: InstallPlan metadata: name: whizard-telemetry spec: extension: name: whizard-telemetry version: VERSION enabled: true upgradeStrategy: Manual config: | CONFIG_FROM_STEP_2metadata.name必须是whizard-telemetry。安装完成后可以检查 APIServer 的 Podkubectl get pods -n extension-whizard-telemetry -l appwhizard-telemetry-apiserver注意如果安装whizard-telemetry时尚未安装whizard-auditingconfig 里不会包含auditing段。文档说明的做法是在安装新扩展后重新生成 config 并更新# 重新运行脚本生成 config包含 auditing 段然后 kubectl get installplan whizard-telemetry -n kubesphere-system -o yaml /tmp/whizard-telemetry.yaml # 编辑文件把 spec.config 更新为生成的内容再应用 kubectl apply -f /tmp/whizard-telemetry.yaml第三步安装 whizard-auditing获取最新版本文档示例输出形如1.4.0kubectl get extensionversions -l kubesphere.io/extension-refwhizard-auditing -o jsonpath{range .items[*]}{.spec.version}{\n}{end} | sort -V | tail -1创建 InstallPlan。metadata.name必须为whizard-auditingVERSION替换为上面取到的版本TARGET_CLUSTERS替换为确认过的集群名apiVersion: kubesphere.io/v1alpha1 kind: InstallPlan metadata: name: whizard-auditing spec: extension: name: whizard-auditing version: VERSION enabled: true upgradeStrategy: Manual clusterScheduling: placement: clusters: - TARGET_CLUSTERS默认情况下kube-auditing组件的 OpenSearch sink 是开启的默认值kube-auditing.sinks.opensearch.enabled: true索引前缀默认{{ .cluster }}-auditing、索引时间格式%Y.%m.%d这是文档给定的默认配置值按原样保留不要自行改写。不需要自定义配置时就不要添加config字段。应用后跟踪安装状态kubectl get installplan whizard-auditing -w kubectl describe installplan whizard-auditing验证扩展安装状态kubectl get installplan whizard-auditing kubectl get extensionversions -l kubesphere.io/extension-refwhizard-auditingInstallPlan 的status.state会经历Installing等状态按通用扩展管理流程确认目标命名空间下的资源已部署status.targetNamespace由 InstallPlan 状态给出NAMESPACE$(kubectl get installplan whizard-auditing -o jsonpath{.status.targetNamespace}) kubectl get pods,svc -n $NAMESPACE如果 InstallPlan 卡在Installing且 Job Pod 报错按文档排查kubectl describe installplan whizard-auditing查看status.state和status.conditions再看 Job Pod 日志status.jobName为 Job 名重点确认扩展版本存在、依赖vector、whizard-telemetry已安装、config 语法正确。可选分支启用 Doris 存储或 ISM 策略以下两项都不是默认开启的doris.enabled默认falseism_policy.enable默认false只有在你的存储方案需要时才在 InstallPlan 的config中配置。启用 Doris sink需要 Doris 前端fe与后端be地址apiVersion: kubesphere.io/v1alpha1 kind: InstallPlan metadata: name: whizard-auditing spec: extension: name: whizard-auditing version: VERSION enabled: true upgradeStrategy: Manual config: | kube-auditing: sinks: opensearch: enabled: true index: prefix: {{ .cluster }}-auditing timestring: %Y.%m.%d doris: enabled: true fe: DORIS_FE be: DORIS_BE table: partitionUnit: DAY retentionPartition: 7 replicationNum: 2 clusterScheduling: placement: clusters: - TARGET_CLUSTERSDORIS_FE、DORIS_BE替换为你的 Doris 地址partitionUnit: DAY、retentionPartition: 7、replicationNum: 2为文档示例中的取值。启用 OpenSearch ISM 策略apiVersion: kubesphere.io/v1alpha1 kind: InstallPlan metadata: name: whizard-auditing spec: extension: name: whizard-auditing version: VERSION enabled: true upgradeStrategy: Manual config: | kube-auditing: sinks: opensearch: enabled: true index: prefix: {{ .cluster }}-auditing timestring: %Y.%m.%d ism_policy: enable: true min_index_age: 7d clusterScheduling: placement: clusters: - TARGET_CLUSTERS查询审计事件安装完成后审计事件查询通过whizard-telemetry-apiserver提供。文档给出的查询示例curl -X GET http://whizard-telemetry-apiserver.extension-whizard-telemetry.svc:80/kapis/logging.kubesphere.io/v1alpha2/auditing?operationquerysortdescsize10clusterhost \ -H X-Remote-User: admin注意该地址是集群内的 Service 域名.svc需要在集群内部环境执行cluster参数默认hostX-Remote-User请求头用于标识调用用户示例使用admin。查询参数均来自文档的参数表参数类型默认说明operationstringquery操作类型query/statistics/histogram/exportworkspace_filterstring工作空间列表逗号分隔workspace_searchstring工作空间名模糊匹配objectref_namespace_filterstring命名空间列表逗号分隔objectref_namespace_searchstring命名空间名模糊匹配objectref_name_filterstring对象名列表逗号分隔objectref_name_searchstring对象名模糊匹配level_filterstring审计级别Metadata/Request/RequestResponseverb_filterstring操作动词列表逗号分隔create, update, delete 等user_filterstring用户列表逗号分隔user_searchstring用户名模糊匹配group_searchstring用户组模糊匹配source_ip_searchstring来源 IP 模糊匹配objectref_resource_filterstring资源列表逗号分隔objectref_subresource_filterstring子资源列表逗号分隔response_code_filterstring响应码列表逗号分隔response_status_filterstring响应状态列表逗号分隔start_timestring开始时间epoch 秒end_timestring结束时间epoch 秒intervalstring15mhistogram 时间间隔sortstringdesc排序asc/descfromint0偏移量sizeint10返回条数clusterstringhost集群名例如按用户和时间范围过滤某集群的审计记录把user_filter、start_time、end_time拼进 query 字符串即可具体取值按你的环境填写。卸载与限制从所有集群卸载kubectl delete installplan whizard-auditing从指定集群卸载更新 InstallPlan把该集群从clusterScheduling.placement.clusters中移除后重新应用。需要记住的边界vector必须先于whizard-auditing安装并完成 OpenSearch sink 配置否则审计数据没有落盘路径索引前缀、时间格式和保留策略以上文默认值/配置参数表为准retentionPartition、min_index_age等数值是文档示例中的默认值按你的留存要求调整更多配置参数见 skills/whizard-auditing/SKILL.md平台服务与数据管道的操作命令见 skills/whizard-telemetry/SKILL.md 和 skills/vector/SKILL.md。【免费下载链接】kubesphereThe container platform tailored for Kubernetes multi-cloud, datacenter, and edge management ⎈ ☁️项目地址: https://gitcode.com/GitHub_Trending/ku/kubesphere创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表