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

在安装或升级NetApp Kubornetes监控操作员之前

贡献者

在安装或升级NetApp Kubnetes监控操作员之前、请阅读此信息

前提条件:

  • 如果您使用的是自定义或私有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访问令牌。

  • 网络监控:

    • 需要Linux内核版本4.18.0及更高版本

    • 不支持光子操作系统。

配置操作员

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

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

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

开始之前需要注意的重要事项

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

另请阅读相关内容 权限

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

配置代理支持

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

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

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

如果您对其中一个或两个使用代理、则要安装NetApp Kubornetes操作监控器、必须先确保将代理配置为可以与Cloud Insights环境进行良好的通信。例如、从要安装Operator的服务器/VM中、您需要能够访问Cloud Insights并能够从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组件的访问。

权限

如果您正在监控的集群包含自定义资源、而这些资源没有集群资源 "要查看的聚合",则需要手动授予操作员对这些资源的访问权限,才能使用事件日志对其进行监控。

  1. 在安装之前或安装之后编辑_operator-additional-permissions.yaml.编辑资源_ClusterRole.<namespace>-additional-permissions

  2. 使用动词["GET、"Watch、"list"]为所需的每个组和资源创建一个新规则。参见\https://kubernetes.io/docs/reference/access-authn-authz/rbac/

  3. 将所做的更改应用于集群

容差和污物

netapp-CI-tentlaf-ds_、netapp-CI-fluent-bit-ds_和_netapp-CI-net-oboder-L4-DS DemonSets必须在集群中的每个节点上计划一个POD、以便正确收集所有节点上的数据。操作器已配置为允许某些众所周知的*污染*。如果您在节点上配置了任何自定义污染、从而阻止Pod在每个节点上运行、则可以为这些污染创建一个*容错* "在_AgentConfiguration_中"。如果已将自定义污染应用于集群中的所有节点、则还必须向操作员部署添加必要的容错值、以便可以计划和执行操作员POD。

详细了解Kubbernetes "损害和公差"