配置NetApp Kubernetes监控操作员
提供者
Cloud Insights 使用多种组件、包括 "流畅的位" 和 "Telegraf"、用于收集Kubernetes数据。Telegraf 是一种插件驱动的服务器代理,可用于收集和报告指标,事件和日志。输入插件用于通过直接访问系统 /OS ,调用第三方 API 或侦听已配置的流(例如 Kafka , statsD 等)。输出插件用于将收集的指标,事件和日志从代理发送到 Cloud Insights 。
Cloud Insights 为Kubernetes收集提供了* NetApp Kubernetes监控操作员*(NKMO)。添加数据收集器时、只需选择"Kubernetes "图块即可。
下面是一个概括性图、显示了操作员在您的环境中的位置。根据您的环境、_Proxy Server_可能需要、也可能不需要。
操作员(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访问令牌。
配置操作员
在较新版本的运算符中,可以在_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监控操作员之前*执行以下步骤:
-
为当前用户设置 https_proxy 和 / 或 http_proxy 环境变量:
-
如果要设置的代理没有身份验证(用户名/密码)、请运行以下命令:
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操作员中、使用相同的集群名称和命名空间。
-
输入这些代码后、您可以将Download Command代码录复制到剪贴板。
-
将此代码片段粘贴到 bash 窗口中并执行。此时将下载Operator安装文件。请注意、此代码片段具有唯一的密钥、有效期为24小时。
-
如果您有自定义或私有存储库、请复制可选的映像提取代码段、将其粘贴到_bash_ shell中并执行该代码段。提取映像后、将其复制到您的私有存储库。请务必保持相同的标记和文件夹结构。更新_operator-DEPRAYAML_中的路径以及_operator-config.yaml_中的Docker存储库设置。
-
如果需要、请查看可用的配置选项、例如代理或专用存储库设置。您可以阅读有关的更多信息 "配置选项"。
-
准备好后、请通过复制kubec临时 应用的小程序来部署Operator、然后下载并执行该操作。
-
安装将自动进行。完成后、单击_Next_按钮。
-
安装完成后、单击_Next_按钮。同时、请务必删除或安全地存储_operator-秘密.yaml文件。
了解更多信息 正在配置代理。
了解更多信息 使用自定义/私有Docker存储库。
在安装NetApp Kubnetes Monitoring Operator时、默认情况下会启用Kubnetes EMS日志收集。要在安装后禁用此收集、请单击Kubernetes集群详细信息页面顶部的*修改部署*按钮、然后取消选择"日志收集"。
此屏幕还会显示当前日志收集状态。以下是可能的状态:
-
已禁用
-
enabled
-
Enabled (已启用)—正在进行安装
-
Enabled (已启用)—脱机
-
Enabled (已启用)-联机
-
错误- API密钥权限不足
升级
|
如果您先前安装了基于脚本的代理、则必须升级到NetApp Kubernetes监控操作员。 |
从基于脚本的代理升级到NetApp Kubernetes监控操作员
要升级电报代理,请执行以下操作:
-
记下Cloud Insights 可识别的集群名称。您可以运行以下命令来查看集群名称。如果您的命名空间不是默认命名空间(CI-monitoring)、请替换相应的命名空间:
kubectl -n ci-monitoring get cm telegraf-conf -o jsonpath='{.data}' |grep "kubernetes_cluster ="
-
保存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;无需用户交互。
Kube-state-metrics 计数器
使用以下链接访问这些Kubbe状态指标计数器的信息:
验证 Kubernetes 校验和
Cloud Insights 代理安装程序会执行完整性检查,但某些用户可能希望在安装或应用下载的项目之前执行自己的验证。要执行仅下载操作(与默认的下载和安装操作相反),这些用户可以编辑从 UI 获取的代理安装命令并删除尾随的 "install" 选项。
请按照以下步骤操作:
-
按照说明复制 Agent 安装程序代码片段。
-
请将代码片段粘贴到文本编辑器中,而不是将其粘贴到命令窗口中。
-
从命令中删除后缀"-install"。
-
从文本编辑器复制整个命令。
-
现在,将其粘贴到命令窗口(在工作目录中)并运行。
-
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 文件。要放松此限制、请编辑代理 ( |
在 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运行后、这些消息应停止。 |
可以从找到追加信息 "支持" 页面或中的 "数据收集器支持列表"。