简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

配置NetApp Kubernetes监控操作员

提供者

Cloud Insights 使用多种组件、包括 "流畅的位""Telegraf"、用于收集Kubernetes数据。Telegraf 是一种插件驱动的服务器代理,可用于收集和报告指标,事件和日志。输入插件用于通过直接访问系统 /OS ,调用第三方 API 或侦听已配置的流(例如 Kafka , statsD 等)。输出插件用于将收集的指标,事件和日志从代理发送到 Cloud Insights 。

Cloud Insights 为Kubernetes收集提供了* NetApp Kubernetes监控操作员*(NKMO)。添加数据收集器时、只需选择"Kubernetes "图块即可。

Kubernetes Data Collector Tile

下面是一个概括性图、显示了操作员在您的环境中的位置。根据您的环境、_Proxy Server_可能需要、也可能不需要。

显示驻留在Kubernetes集群中的NKMO"的高级映射、其中的箭头显示了数据如何从主机、代理服务器传输到集群、所有这些数据都是从Cloud Insights 传输到集群的

操作员(NKMO)和数据收集器可从Cloud Insights Docker注册表下载。安装后、NKMOO将管理部署在Kubernetes集群节点中的任何与操作员兼容的收集器以获取数据、包括管理这些收集器的生命周期。在此链之后、将从收集器中获取数据并将其发送到Cloud Insights。

安装NetApp Kubernetes监控操作员之前

前提条件:
  • 如果您使用的是自定义或私有Docker存储库、请按照使用自定义或私有Docker存储库一节中的说明进行操作

  • Kubernetes 1.20或更高版本支持安装NetApp Kubernetes监控操作员。

  • 当Cloud Insights 监控后端存储且Kubernetes与Docker容器运行时结合使用时、Cloud Insights 可以显示NFS和iSCSI的POD到PV到存储映射和指标;其他运行时仅显示NFS。

  • 从2022年8月开始、NetApp Kubernetes监控操作员支持Pod安全策略(PSP)。如果您的环境使用PSP、则必须升级到最新的NetApp Kubennetes Monitoring Operator。

  • 如果您运行的是OpenShift 4.6或更高版本、则除了确保满足这些前提条件之外、您还必须遵循下面的OpenShift说明。

  • 仅在Linux节点上安装监控Cloud Insights 支持监控运行Linux的KubeNet节点、方法是指定一个KubeNet节点选择器、用于在这些平台上查找以下KubeNet标签:

平台

标签

Kubernetes v1.20及更高版本

Kubernetes 。 io/OS = Linux

Rancher + catt.io 作为流程编排 /Kubernetes 平台

catt.io/OS = Linux

  • 运行ARM64架构的节点不支持NetApp Kubernetes监控操作员及其依赖项(电报、Kube-state-metrics、fluentbit等)。

  • 必须提供以下命令:Curl、kubecl。可选安装步骤需要使用Docker命令。为获得最佳结果,请将这些命令添加到路径中。请注意、必须至少为kubect配置对以下Kubernetes对象的访问权限:代理、群集角色、群集角色、群集配置、自定义资源定义、部署、 名区、角色、rolebinbeds、密钥、服务帐户、 和服务。请参见此处、了解具有这些最小的"给予"角色权限的示例.yaml文件。

  • 要用于安装NetApp Kubennetes监控操作员的主机必须已配置kubec特 尔、以便与目标K8s集群进行通信、并可通过Internet连接到您的Cloud Insights 环境。

  • 如果您在安装期间或操作要监控的K8s集群时使用了代理、请按照配置代理支持一节中的说明进行操作。

  • NetApp Kubernetes监控操作员会安装自己的Kube-state-metrics、以避免与任何其他实例发生冲突。为了准确地进行审核和数据报告、强烈建议使用网络时间协议(NTP)或简单网络时间协议(SNTP)同步Agent计算机上的时间。

  • 如果要重新部署Operator (即更新或替换Operator)、则无需创建_new_ API令牌;您可以重新使用先前的令牌。

  • 另请注意、如果您最近安装了NetApp Kubnetes Monitoring Operator、并且正在使用可续订的API访问令牌、则即将过期的令牌将自动替换为新的/刷新的API访问令牌。

请在开始之前记下这些内容

如果您使用运行 代理、具有 自定义存储库或正在使用 OpenShift、请仔细阅读以下各节。

如果要从先前安装升级、另请阅读 升级 信息。

配置操作员

在较新版本的运算符中,可以在_AgentConfiguration_自定义资源中配置最常修改的设置。您可以通过编辑_operator-config.yaml文件来在部署操作员之前编辑此资源。此文件包含一些已注释掉的设置示例。请参见列表 "可用设置" 对于最新版本的运算符。

您也可以在部署操作员后使用以下命令编辑此资源:

 kubectl -n netapp-monitoring edit AgentConfiguration
要确定您部署的操作员版本是否支持AgentConfiguration、请运行以下命令:
 kubectl get crd agentconfigurations.monitoring.netapp.com
如果您看到“Error from server (NotFound)”消息,则必须先升级操作员,然后才能使用AgentConfiguration。

配置代理支持

要安装NetApp Kubernetes监控操作员、您可以在环境中的两个位置使用代理。这些代理系统可以是相同的、也可以是单独的:

  • 在执行安装代码片段(使用"curt")期间需要使用代理将执行该片段的系统连接到Cloud Insights 环境

  • 目标Kubernetes集群与Cloud Insights 环境通信所需的代理

如果您对其中一项或两项操作使用代理、则要安装NetApp Kubernetes操作监控器、必须先确保您的代理已配置为可以与Cloud Insights 环境进行良好的通信。如果您有一个代理、并且可以从要安装此操作员的服务器/VM访问Cloud Insights 、则您的代理可能已正确配置。

对于用于安装NetApp Kubernetes操作监控器的代理、在安装操作员之前、请设置_http_proxy/https_proxy_environment变量。对于某些代理环境、您可能还需要设置_no_proxy environment_变量。

要设置变量、请在您的系统上*在*安装NetApp Kubernetes监控操作员之前*执行以下步骤:

  1. 为当前用户设置 https_proxy 和 / 或 http_proxy 环境变量:

    1. 如果要设置的代理没有身份验证(用户名/密码)、请运行以下命令:

       export https_proxy=<proxy_server>:<proxy_port>
      .. 如果要设置的代理具有身份验证(用户名/密码)、请运行以下命令:
      export http_proxy=<proxy_username>:<proxy_password>@<proxy_server>:<proxy_port>

要使Kubernetes集群与Cloud Insights 环境通信所使用的代理、请在阅读完所有这些说明后安装NetApp Kubernetes监控操作员。

在部署NetApp Kubernetes Monitoring Operator之前、请在operator-config.yaml中配置AgentConfiguration的代理部分。

agent:
  ...
  proxy:
    server: <server for proxy>
    port: <port for proxy>
    username: <username for proxy>
    password: <password for proxy>

    # In the noproxy section, enter a comma-separated list of
    # IP addresses and/or resolvable hostnames that should bypass
    # the proxy
    noproxy: <comma separated list>

    isTelegrafProxyEnabled: true
    isFluentbitProxyEnabled: <true or false> # true if Events Log enabled
    isCollectorsProxyEnabled: <true or false> # true if Network Performance and Map enabled
    isAuProxyEnabled: <true or false> # true if AU enabled
  ...
...

使用自定义或专用Docker存储库

默认情况下、NetApp Kubrenetes监控操作员将从Cloud Insights 存储库中提取容器映像。如果您将某个Kubornetes集群用作监控目标、并且该集群配置为仅从自定义或私有Docker存储库或容器注册表中提取容器映像、则必须配置对NetApp Kubornetes监控操作员所需容器的访问权限。

从NetApp Monitoring Operator安装磁贴运行"Image Pull Snippet"。此命令将登录到Cloud Insights 存储库、提取操作员的所有映像依赖关系、然后注销Cloud Insights 存储库。出现提示时、输入提供的存储库临时密码。此命令可下载操作员使用的所有映像、包括可选功能的映像。请参见以下内容、了解这些图像用于哪些功能。

核心操作员功能和Kubornetes监控

  • NetApp监控

  • Kube-RBAC-代理

  • Kube-state-metrics

  • 电报

  • distroless root用户

事件日志

  • 流畅位

  • Kubbernetes-event-exporter

网络性能和映射

  • CI-net-observer

根据您的企业策略,将操作员 Docker 映像推送到您的私有 / 本地 / 企业 Docker 存储库。确保存储库中这些映像的映像标记和目录路径与Cloud Insights 存储库中的映像一致。

在operator-DEPLOYAML中编辑monitor-operator部署、并修改所有映像引用以使用私有Docker存储库。

image: <docker repo of the enterprise/corp docker repo>/kube-rbac-proxy:<kube-rbac-proxy version>
image: <docker repo of the enterprise/corp docker repo>/netapp-monitoring:<version>

编辑operator-config.yaml中的AgentConfiguration以反映新的Docker repo位置。为私有存储库创建新的imagePullSecret,有关更多详细信息,请参见_https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/_

agent:
  ...
  # An optional docker registry where you want docker images to be pulled from as compared to CI's docker registry
  # Please see documentation link here: https://docs.netapp.com/us-en/cloudinsights/task_config_telegraf_agent_k8s.html#using-a-custom-or-private-docker-repository
  dockerRepo: your.docker.repo/long/path/to/test
  # Optional: A docker image pull secret that maybe needed for your private docker registry
  dockerImagePullSecret: docker-secret-name

OpenShift 说明

如果您运行的是OpenShift 4.6或更高版本、则必须在_operator-config.yaml中编辑AgentConfiguration以启用_run特权_设置:

# Set runPrivileged to true SELinux is enabled on your kubernetes nodes
runPrivileged: true

OpenShift可以实施更高的安全级别、从而可能阻止对某些Kubernetes组件的访问。

安装NetApp Kubernetes监控操作员

在 Kubernetes 上安装 NetApp Kubernetes 监控操作员代理的步骤:
  1. 输入唯一的集群名称和命名空间。如果您是 升级 在基于脚本的代理或先前的Kubernetes操作员中、使用相同的集群名称和命名空间。

  2. 输入这些代码后、您可以将Download Command代码录复制到剪贴板。

  3. 将此代码片段粘贴到 bash 窗口中并执行。此时将下载Operator安装文件。请注意、此代码片段具有唯一的密钥、有效期为24小时。

  4. 如果您有自定义或私有存储库、请复制可选的映像提取代码段、将其粘贴到_bash_ shell中并执行该代码段。提取映像后、将其复制到您的私有存储库。请务必保持相同的标记和文件夹结构。更新_operator-DEPRAYAML_中的路径以及_operator-config.yaml_中的Docker存储库设置。

  5. 如果需要、请查看可用的配置选项、例如代理或专用存储库设置。您可以阅读有关的更多信息 "配置选项"

  6. 准备好后、请通过复制kubec临时 应用的小程序来部署Operator、然后下载并执行该操作。

  7. 安装将自动进行。完成后、单击_Next_按钮。

  8. 安装完成后、单击_Next_按钮。同时、请务必删除或安全地存储_operator-秘密.yaml文件。

了解更多信息 正在配置代理

在安装NetApp Kubnetes Monitoring Operator时、默认情况下会启用Kubnetes EMS日志收集。要在安装后禁用此收集、请单击Kubernetes集群详细信息页面顶部的*修改部署*按钮、然后取消选择"日志收集"。

显示"日志收集"复选框的"修改部署"屏幕

此屏幕还会显示当前日志收集状态。以下是可能的状态:

  • 已禁用

  • enabled

  • Enabled (已启用)—正在进行安装

  • Enabled (已启用)—脱机

  • Enabled (已启用)-联机

  • 错误- API密钥权限不足

升级

注 如果您先前安装了基于脚本的代理、则必须升级到NetApp Kubernetes监控操作员。

从基于脚本的代理升级到NetApp Kubernetes监控操作员

要升级电报代理,请执行以下操作:

  1. 记下Cloud Insights 可识别的集群名称。您可以运行以下命令来查看集群名称。如果您的命名空间不是默认命名空间(CI-monitoring)、请替换相应的命名空间:

    kubectl -n ci-monitoring get cm telegraf-conf -o jsonpath='{.data}' |grep "kubernetes_cluster ="
  2. 保存K8s集群名称、以便在安装K8s基于操作员的监控解决方案 期间使用、以确保数据连续性。

    如果您不记得CI中K8s集群的名称、可以使用以下命令行从已保存的配置中提取此集群:

     cat /tmp/telegraf-configs.yaml | grep kubernetes_cluster | head -2
    . 删除基于脚本的监控

    要卸载 Kubernetes 上基于脚本的代理,请执行以下操作:

    如果监控命名空间仅用于 Telegraf :

    kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf
    kubectl delete ns ci-monitoring

    如果除了 Telegraf 之外,监控命名空间还用于其他目的:

     kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf
    . <<installing-the-netapp-kubernetes-monitoring-operator,安装>> 当前运算符。请务必使用上述步骤1中记下的相同集群名称。

升级到最新的NetApp Kubernetes监控操作员

确定现有Operator是否存在AgentConfiguration (如果您的命名空间不是默认的_NetApp-monitoring _、请替换相应的命名空间):

 kubectl -n netapp-monitoring get agentconfiguration netapp-monitoring-configuration
如果存在AgentConfiguration:

如果AgentConfiguration不存在:

  • 记下Cloud Insights 可识别的集群名称(如果您的命名空间不是默认的NetApp监控、请替换相应的命名空间):

     kubectl -n netapp-monitoring get agent -o jsonpath='{.items[0].spec.cluster-name}'
    * 为现有Operator创建备份(如果您的命名空间不是默认的NetApp监控、请替换相应的命名空间):
     kubectl -n netapp-monitoring get agent -o yaml > agent_backup.yaml
    * <<to-remove-the-netapp-kubernetes-monitoring-operator,卸载>> 现有操作员。
    * <<installing-the-netapp-kubernetes-monitoring-operator,安装>> 最新的运算符。
    • 请使用相同的集群名称。

    • 下载最新的Operator YAML文件后、在部署之前、将在agent_backup.yaml中找到的所有自定义设置移植到下载的operator-config.yaml。

    • 确保您的状态 提取最新的容器映像 如果使用的是自定义存储库。

停止和启动NetApp Kubernetes监控操作员

要停止NetApp Kubernetes监控操作员、请执行以下操作:

 kubectl -n netapp-monitoring scale deploy monitoring-operator --replicas=0
要启动NetApp Kubernetes监控操作员、请执行以下操作:
kubectl -n netapp-monitoring scale deploy monitoring-operator --replicas=1

正在卸载

注 如果您运行的是先前安装的基于脚本的Kubernetes代理、则必须执行此操作 升级 NetApp Kubernetes监控操作员。

删除已弃用的基于脚本的代理

请注意,这些命令使用的是默认命名空间 "CI-monitoring" 。如果您已设置自己的命名空间,请在这些命令和所有后续命令和文件中替换该命名空间。

要卸载Kubernetes上基于脚本的代理(例如、升级到NetApp Kubernetes监控操作员时)、请执行以下操作:

如果监控命名空间仅用于 Telegraf :

 kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf
 kubectl delete ns ci-monitoring
如果除了 Telegraf 之外,监控命名空间还用于其他目的:
kubectl --namespace ci-monitoring delete ds,rs,cm,sa,clusterrole,clusterrolebinding -l app=ci-telegraf

删除NetApp Kubernetes监控操作员

请注意、NetApp Kubernetes监控操作员的默认命名空间为"netapp-monitoring"。如果您已设置自己的命名空间,请在这些命令和所有后续命令和文件中替换该命名空间。

可以使用以下命令卸载较新版本的监控操作员:

kubectl delete agent -A -l installed-by=nkmo-<name-space>
kubectl delete ns,clusterrole,clusterrolebinding,crd -l installed-by=nkmo-<name-space>

如果第一个命令返回"未找到资源"、请按照以下说明卸载旧版本的监控操作员。

按顺序执行以下每个命令。根据您当前的安装情况、其中某些命令可能会返回‘object not found '消息。可以安全地忽略这些消息。

kubectl -n <NAMESPACE> delete agent agent-monitoring-netapp
kubectl delete crd agents.monitoring.netapp.com
kubectl -n <NAMESPACE> delete role agent-leader-election-role
kubectl delete clusterrole agent-manager-role agent-proxy-role agent-metrics-reader <NAMESPACE>-agent-manager-role <NAMESPACE>-agent-proxy-role <NAMESPACE>-cluster-role-privileged
kubectl delete clusterrolebinding agent-manager-rolebinding agent-proxy-rolebinding agent-cluster-admin-rolebinding <NAMESPACE>-agent-manager-rolebinding <NAMESPACE>-agent-proxy-rolebinding <NAMESPACE>-cluster-role-binding-privileged
kubectl delete <NAMESPACE>-psp-nkmo
kubectl delete ns <NAMESPACE>

如果先前为基于脚本的 Telegraf 安装手动创建了安全上下文限制:

kubectl delete scc telegraf-hostaccess

关于Kube-state-metrics

NetApp Kubernetes监控操作员会自动安装Kube-state-metrics;无需用户交互。

验证 Kubernetes 校验和

Cloud Insights 代理安装程序会执行完整性检查,但某些用户可能希望在安装或应用下载的项目之前执行自己的验证。要执行仅下载操作(与默认的下载和安装操作相反),这些用户可以编辑从 UI 获取的代理安装命令并删除尾随的 "install" 选项。

请按照以下步骤操作:

  1. 按照说明复制 Agent 安装程序代码片段。

  2. 请将代码片段粘贴到文本编辑器中,而不是将其粘贴到命令窗口中。

  3. 从命令中删除后缀"-install"。

  4. 从文本编辑器复制整个命令。

  5. 现在,将其粘贴到命令窗口(在工作目录中)并运行。

    • Download and install (下载并安装)(默认):

       installerName=cloudinsights-kubernetes.sh … && sudo -E -H ./$installerName --download –-install
      ** 仅下载:
      installerName=cloudinsights-kubernetes.sh … && sudo -E -H ./$installerName --download

仅下载命令会将所有所需的项目从 Cloud Insights 下载到工作目录。这些项目包括但不限于:

  • 安装脚本

  • 环境文件

  • YAML 文件

  • 签名校验和文件( SHA256.signed )

  • 用于签名验证的 PEM 文件( netapp_cert.pem )

安装脚本,环境文件和 YAML 文件可以通过目视检查进行验证。

可以通过确认 PEM 文件的指纹为以下内容来验证 PEM 文件:

 1A918038E8E127BB5C87A202DF173B97A05B4996
更具体地说,
 openssl x509 -fingerprint -sha1 -noout -inform pem -in netapp_cert.pem
可以使用 PEM 文件验证签名校验和文件:
 openssl smime -verify -in sha256.signed -CAfile netapp_cert.pem -purpose any
在对所有项目进行满意的验证后,可以通过运行以下命令启动代理安装:
sudo -E -H ./<installation_script_name> --install

故障排除

如果在设置NetApp Kubernetes监控操作员时遇到问题、请尝试执行以下操作:

问题: 请尝试以下操作:

我未看到 Kubernetes 永久性卷与相应后端存储设备之间的超链接 / 连接。我的 Kubernetes 永久性卷使用存储服务器的主机名进行配置。

按照以下步骤卸载现有的 Telegraf 代理,然后重新安装最新的 Telegraf 代理。您必须使用Telegraf 2.0或更高版本、并且Cloud Insights 必须主动监控您的Kubernetes集群存储。

我在日志中看到类似以下内容的消息: E0901 15 : 21 : 39.962145 1 个 trirror.go : 178] K8s.io/Kube-state-metrics/internal/store/builer.go : 352 :无法列出 * 。 MutatingWebhookConfiguration :服务器找不到请求的资源 E091.IO/Kube-state-metrics :内部 /8.171.Go :无法找到服务器

如果您运行的是Kube-state-metrics版本2.0.0或更高版本、而Kubernetes版本低于1.20、则可能会出现这些消息。要获取 Kubernetes 版本: kubectl version 以获取 Kube-state-metrics 版本: kubectl get deploy/Kube-state-metrics -o jsonpath="" { ..image } ' 要防止发生这些消息,用户可以修改其 Kube-state-metrics 部署以禁用以下租约: mutatingwebconfigurations _webhook ,具体可以使用以下参数: resources=certificatesigningrequests , configmaps , cronjobs , demonsets ,部署,端点,水平 podautoscalers , ingeses ,作业,限制范围,命名空间,网络策略,节点,复制卷,持久性卷, poddis中断 预算, Pod ,证书集,资源控制器,资源等,网络,存储器,卷,存储器,卷,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,存储器,卷,存储器,存储器,存储器,存储器,存储器,存储器, 验证 webhookconfigurations , volumeattachments

我看到来自 Telegraf 的错误消息如下所示,但 Telegraf 确实启动并运行: Oct 11 14 : 23 : 41 IP-172-31-39-47 systemd1* :启动了插件驱动的服务器代理,以便向 InfluxDB 报告指标。Oct 11 14 : 23 : 41 IP-172-31-39-47 cailaf[1827] : time="2021-10-11T14 : 23 : 41Z" level=error msg="failed to create cache directory" 。/etc/celaf/.cache/snowvelc ,错误: mkdir /etc/tengraf/.ca ChE :权限被拒绝。ignored\n" func="gosnowchelf.( * defaultLogger ) .Errorf" fil="log.go : 120" Oct 11 14 : 23 : 41 IP-172-31 : 39-47 celaf[1827] : time="2021-10-11T14 : 23 : 41Z" level=error msg="failed to open.已忽略。打开 /etc/celaf/.cache/snowlife/OCSP_response_cache.json : no such file or directory\n" func="gosnowchlafe.( * defaultLogger ) .Errorf" fil="log.go : 120" Oct 11 14 : 23 : 41 IP-172-31-39-47 craaf[1827] : I-41Z-2021 :启动 Telegraf 1.19.3

这是一个已知的问题描述。请参见 "此 GitHub 文章" 有关详细信息:只要 Telegraf 启动并运行,用户就可以忽略这些错误消息。

在 Kubernetes 上,我的 Telegraf Pod 报告以下错误: " 处理 mountstats 信息时出错:无法打开 mountstats 文件: /hostfs/proc/1/mountstats ,错误: open /hostfs/proc/1/mountstats :权限被拒绝 "

如果启用并强制实施 SELinux ,则可能会阻止 Telegraf Pod 访问 Kubernetes 节点上的 /proc/1/mountstats 文件。要放松此限制、请编辑代理 (kubectl edit agent agent-monitoring-netapp)、并将"privileged-mode:false"更改为"privileged-mode:true"

在 Kubernetes 上,我的 Telegraf ReplicaSet Pod 报告以下错误: inputs.prometheus] 插件错误:无法加载密钥类型 /etc/Kubernetes , PKI/etcd/server.crt : /etc/Kubernetes , crt/etcd/server.key :打开 /etc/Kubernetes , pki/etcd/server.key : open /etc/Kubernetes , pki/etcd/server.key : no 此类文件或目录

Telegraf ReplicaSet Pod 应在指定为主节点或 etcd 节点上运行。如果 ReplicaSet Pod 未在其中一个节点上运行,您将收到这些错误。检查您的主 /etcd 节点是否具有此类节点的影响。如果是,请将必要的容错添加到 Telegraf ReplicaSet ,即 Teleaf-RS 中。例如,编辑 ReplicaSet…​ kubectl edit RS ceaaf-rs …​ 并将适当的容错添加到规范中。然后,重新启动 ReplicaSet Pod 。

我使用的是PSP/PSA环境。这是否会影响我的监控操作员?

如果您的Kubernetes集群运行时已设置Pod安全策略(PSP)或Pod安全准入(PSA)、则必须升级到最新的NetApp Kubernetes监控操作员。按照以下步骤升级到支持PSP/PSA的当前NKMO:1. 卸载 先前的监控运算符:kubectl delete agent agent-monitoring-netapp -n netapp-monitoring kubectl delete ns netapp-monitoring kubectl delete crd agents.monitoring.netapp.com kubectl delete clusterrole agent-manager-role agent-roxy-role agent-metrics-reader kubectl delete clusterrolebinding agent-manager-rolebinding rolebinding agent-rolebind-rolebind-rolebind-2-admin-cluster-rolebinding.name。 安装 监控运算符的最新版本。

我在尝试部署NKMOO时遇到问题、并且正在使用PSP/PSA。

1.使用以下命令编辑代理:kubectl -n <name-space> edit agent 2.将"securtion-policy-enabled"标记为"false"。此操作将禁用Pod安全策略和Pod安全准入、并允许NKMO.使用以下命令进行确认:kubectl get PSP (应显示Pod Security Policy Removed) kubectl get all -n <namespace> grep -i PSP (应显示未找到任何内容)

出现"ImagePullBackoff"错误

如果您拥有自定义或专用Docker存储库、但尚未将NetApp Kubernetes监控操作员配置为正确识别该存储库、则可能会出现这些错误。 阅读更多内容 关于为自定义/私有repo.

我正在部署监控操作员问题描述 、而当前文档对我的解决没有帮助。

捕获或记下以下命令的输出、然后联系技术支持团队。

 kubectl -n netapp-monitoring get all
 kubectl -n netapp-monitoring describe all
 kubectl -n netapp-monitoring logs <monitoring-operator-pod> --all-containers=true
 kubectl -n netapp-monitoring logs <telegraf-pod> --all-containers=true

在KMO命名空间中、Net-Observer (Workload Map) Pod位于CrashLoopBackOff中

这些Pod对应于用于网络可观察性的工作负载映射数据收集器。请尝试以下操作:•检查其中一个Pod的日志以确认最低内核版本。例如:---{"ci租户id":"Your -en租 户id"、"cCollector cluster-cluster-":"Your -K8s-cluster-name"、"뮷 뺳":"prod"、"level ":"error"、"msg":"验证失败。原因:内核版本3.10.0低于最低内核版本4.18.0"、"time":"2022-11-09T08:23:08Z"}---•Net-observer Pod要求Linux内核版本至少为4.18.0。使用命令"uname -r "检查内核版本、并确保它们>= 4.18.0

NKMO命名空间中的Net-Observer Pod位于OpenShift 4环境中的CrashLoopBackOff中

目前不支持此功能。请留意将来更新中要添加的支持。

Pod正在KMO命名空间中运行(默认值:netapo-monitoring)、但在查询中、UI中不会显示工作负载映射数据或Kubornetes指标数据

检查K8S集群节点上的时间设置。为了准确地进行审核和数据报告、强烈建议使用网络时间协议(NTP)或简单网络时间协议(SNTP)同步Agent计算机上的时间。

在新工单命名空间中、某些Net-observer Pod处于Pending状态

Net-observer是一个DemonSet、在K8s集群的每个节点上运行一个POD。•记下处于“待定”状态的POD,并检查它是否遇到了CPU或内存的资源问题描述。确保节点中具有所需的内存和CPU。

安装NetApp Kubenetes Monitoring Operator后、我的日志中立即显示以下内容:[HTTP inputs.prometheus] Error in plugin: Error m制作HTTP请求时出错 http://kube-state-metrics.<namespace>.svc.cluster.local:8080/metrics: 获取 http://kube-state-metrics.<namespace>.svc.cluster.local:8080/metrics: 拨号<namespace> :LOOKUP KUbe状态指标.tcp.svc.cluster-local:无此主机

通常、只有在安装了新操作员且_craaf-RS_ POD在_KSM_ POD启动之前启动时、才会显示此消息。所有Pod运行后、这些消息应停止。

可以从找到追加信息 "支持" 页面或中的 "数据收集器支持列表"