
在腾讯云 TKE (Tencent Kubernetes Engine) 上安装 kube-state-metrics,您可以根据具体需求选择多种方式,从全自动化的托管服务到手动的自定义部署。本文将为您详细介绍几种主流的安装方法。
对于追求便捷性和高度集成体验的用户,推荐使用腾讯云的 Prometheus 监控服务 (Tencent Managed Service for Prometheus, TMP)。在创建或关联 TKE 集群到 TMP 实例时,通常会自动为您部署包含 kube-state-metrics 在内的核心监控组件。
优势:
操作步骤:
tke-kube-state-metrics。kubectl 命令查看相关 Pod 是否正常运行:如果您希望对 kube-state-metrics 的版本和配置有更多的控制权,或者您没有使用腾讯云的托管 Prometheus 服务,使用 Helm 是一个非常推荐的方式。社区维护的 kube-prometheus-stack chart 是一个包含了 Prometheus 和 kube-state-metrics 的流行选择。
前提条件:
kubectl 已配置为指向您的 TKE 集群。操作步骤:
由于默认的 Helm chart 可能使用 k8s.gcr.io 作为镜像仓库,在国内环境中可能会拉取失败。建议创建一个 values.yaml 文件,指定使用国内的镜像源。
创建一个名为 ksp-values.yaml 的文件,内容如下:
kube-state-metrics:
image:
# 您可以从 Docker Hub 或其他国内镜像源查找可用的镜像
# 例如:ccr.ccs.tencentyun.com/k8s-mirror/kube-state-metrics:v2.5.0
# 请根据您需要的版本自行替换
repository: ccr.ccs.tencentyun.com/k8s-mirror/kube-state-metrics
tag: v2.5.0 # 请替换为您希望安装的版本
# 如果您的集群有特殊的网络或安全配置,可能需要在此处添加 tolerations 或 nodeSelector
# 如果您只需要安装 kube-state-metrics,可以禁用其他组件
prometheus:
enabled: false
grafana:
enabled: false
alertmanager:
enabled: false
nodeExporter:
enabled: false注意: 请访问腾讯云容器镜像服务 (TCR) 或其他国内镜像仓库,查找一个可用的 kube-state-metrics 镜像地址和版本。
helm install kube-state-metrics prometheus-community/kube-prometheus-stack -f ksp-values.yaml --namespace monitoring --create-namespace这里我们将所有资源安装在 monitoring 命名空间下。
kubectl get pods -n monitoring检查 kube-state-metrics-xxxx Pod 是否成功运行。
kubectl 和 YAML 文件安装这是一种最灵活但也是最繁琐的方式,您需要手动下载官方的 YAML 文件并进行修改和部署。
操作步骤:
examples/standard 目录,下载部署所需的一系列 YAML 文件,通常包括:cluster-role-binding.yamlcluster-role.yamldeployment.yamlservice-account.yamlservice.yamldeployment.yaml 文件,找到 spec.template.spec.containers.image 字段,将其值从官方的 registry.k8s.io/kube-state-metrics/kube-state-metrics:vX.Y.Z 修改为一个国内可以访问的镜像地址。修改前:
# image: registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.5.0修改后 (示例):
image: ccr.ccs.tencentyun.com/k8s-mirror/kube-state-metrics:v2.5.0kubectl 应用这些配置:kubectl apply -f .默认情况下,这会将 kube-state-metrics 安装在 kube-system 命名空间。
kubectl get pods -n kube-system | grep kube-state-metrics确认 Pod 启动并正常运行。您也可以通过其 Service 访问 metrics 端点来验证:
# 获取 Service 名称
kubectl get svc -n kube-system | grep kube-state-metrics
# 在集群内部通过 curl 访问 (例如在一个临时的 Pod 中)
# curl <service-name>.<namespace>.svc.cluster.local:8080/metrics安装方式 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
腾讯云托管 Prometheus (TMP) | 简单、自动化、免运维、官方支持 | 配置灵活性较低 | TKE 新用户,希望快速搭建监控系统,不希望过多关注细节。 |
Helm Chart | 灵活、易于管理和升级、社区活跃 | 需要手动处理国内镜像问题 | 需要自定义配置或版本,有一定 Kubernetes 和 Helm 使用经验的用户。 |
手动 | 完全控制所有配置细节 | 繁琐、易出错、升级困难 | 深度定制化需求,或在无法使用 Helm 的环境中。 |
对于大多数在腾讯云 TKE 上运行工作负载的用户,首选推荐使用腾讯云托管的 Prometheus 服务,因为它极大地简化了部署和运维的复杂度。如果需要更高的灵活性,Helm 是次优的绝佳选择。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。