安装 metrics-server 插件¶
metrics-server 是 Kubernetes 内置的资源使用指标采集组件。 您可以通过配置弹性伸缩(HPA)策略来实现工作负载资源自动水平伸缩 Pod 副本。
本节介绍如何安装 metrics-server 。
前提条件¶
安装 metrics-server 插件前,需要满足以下前提条件:
-
容器管理模块已接入 Kubernetes 集群或者已创建 Kubernetes 集群,且能够访问集群的 UI 界面。
-
已完成一个命名空间的创建。
操作步骤¶
请执行如下步骤为集群安装 metrics-server 插件。
-
在工作负载详情下的弹性伸缩页面,点击 安装 按钮,进入 metrics-server 插件安装界面。
-
阅读 metrics-server 插件相关介绍,选择版本后点击 安装 按钮。本文将以 3.8.2 版本为例进行安装,推荐您安装 3.8.2 及更高版本。
-
在安装配置界面配置基本参数。
- 名称:输入插件名称,请注意名称最长 63 个字符,只能包含小写字母、数字及分隔符(“-”),且必须以小写字母或数字开头及结尾,例如 metrics-server-01。
- 命名空间:选择插件安装的命名空间,此处以 default 为例。
- 版本:插件的版本,此处以 3.8.2 版本为例。
- 就绪等待:启用后,将等待应用下所有关联资源处于就绪状态,才会标记应用安装成功。
- 失败删除:开启后,将默认同步开启就绪等待。如果安装失败,将删除安装相关资源。
- 详情日志:开启安装过程日志的详细输出。
Note
开启 就绪等待 和/或 失败删除 后,应用需要经过较长时间才会被标记为 运行中 状态。
-
高级参数配置
-
如果集群网络无法访问 k8s.gcr.io 仓库,请尝试修改 repositort 参数为 repository: k8s.m.daocloud.io/metrics-server/metrics-server 。
-
安装 metrics-server 插件还需提供 SSL 证书。如需绕过证书校验,需要在 defaultArgs: 处添加 - --kubelet-insecure-tls 参数。
推荐使用如下参数来替换参数配置内的默认 YAML 内容
image: repository: k8s.m.daocloud.io/metrics-server/metrics-server # 将仓库源地址修改为 k8s.m.daocloud.io tag: '' pullPolicy: IfNotPresent imagePullSecrets: [] nameOverride: '' fullnameOverride: '' serviceAccount: create: true annotations: {} name: '' rbac: create: true pspEnabled: false apiService: create: true podLabels: {} podAnnotations: {} podSecurityContext: {} securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 1000 priorityClassName: system-cluster-critical containerPort: 4443 hostNetwork: enabled: false replicas: 1 updateStrategy: {} podDisruptionBudget: enabled: false minAvailable: null maxUnavailable: null defaultArgs: - '--cert-dir=/tmp' - '--kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname' - '--kubelet-use-node-status-port' - '--metric-resolution=15s' - --kubelet-insecure-tls # 绕过证书校验 args: [] livenessProbe: httpGet: path: /livez port: https scheme: HTTPS initialDelaySeconds: 0 periodSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /readyz port: https scheme: HTTPS initialDelaySeconds: 20 periodSeconds: 10 failureThreshold: 3 service: type: ClusterIP port: 443 annotations: {} labels: {} metrics: enabled: false serviceMonitor: enabled: false additionalLabels: {} interval: 1m scrapeTimeout: 10s resources: {} extraVolumeMounts: [] extraVolumes: [] nodeSelector: {} tolerations: [] affinity: {}
-
-
点击 确定 按钮,完成 metrics-server 插件的安装,之后系统将自动跳转至 Helm 应用 列表页面, 稍等几分钟后,为页面执行刷新操作,即可看到刚刚安装的应用。
Note
删除 metrics-server 插件时,在 Helm 应用 列表页面才能彻底删除该插件。如果仅在工作负载页面删除 metrics-server , 这只是删除了该应用的工作负载副本,应用本身仍未删除,后续重新安装该插件时也会提示错误。