私有Rancher集群监控工具安装失败排查及方案咨询
如何查看Rancher安装Helm Chart时的详细日志
- 查看Rancher Server组件日志:执行
kubectl logs -n cattle-system rancher-<pod-id>(替换<pod-id>为实际的Rancher Pod名称),获取Rancher处理安装请求的完整流程日志。 - 查看集群侧Agent日志:执行
kubectl logs -n cattle-system cattle-cluster-agent-<pod-id>,该Agent负责在集群内执行Rancher下发的Helm安装命令,日志会包含Chart拉取、资源创建的详细报错。 - 直接查询Helm发布状态:通过
helm status <release-name> -n <monitor-namespace>(替换<release-name>和<monitor-namespace>为实际值)获取安装的实时状态,包括失败原因提示。 - 查看命名空间事件:执行
kubectl events -n <monitor-namespace>,集群内资源创建失败的事件(如镜像拉取失败、权限不足)会在这里输出。
Helm Chart安装失败的潜在原因(离线场景)
- 镜像配置问题:即使已推送镜像至私有仓库,若Chart的
values.yaml中镜像地址未替换为私有仓库前缀,或镜像Tag与推送的不一致,会导致拉取失败。需检查Chart中所有组件的image.repository字段,确保指向私有仓库。 - Chart依赖缺失:kube-prometheus-stack包含多个子Chart依赖(如prometheus-operator、grafana),若仅上传主Chart至Chartmuseum而未同步依赖子Chart,安装会因无法拉取依赖而卡住。需先执行
helm dependency build打包所有依赖,再上传至Chartmuseum。 - CRD创建权限不足:kube-prometheus-stack需要创建大量自定义资源(CRD),若Rancher使用的集群Agent服务账户无
cluster-admin级别的权限,会导致CRD创建失败,进而终止安装。可检查cattle-cluster-agent的ClusterRoleBinding配置。 - K8s版本兼容性:部分旧版本的kube-prometheus-stack未适配K8s 1.24.x的API变更(如PodSecurityPolicy被移除),需确认使用的Chart版本支持K8s 1.24.9。
- 资源限制冲突:新创建的监控命名空间若配置了Quota或LimitRange,可能因资源配额不足导致Pod无法调度,可执行
kubectl describe namespace <monitor-namespace>查看限制规则。 - 配置参数错误:安装时传入的自定义参数(如存储卷配置、认证信息)不符合要求,会导致资源创建失败。可通过
helm get values <release-name> -n <monitor-namespace>查看实际生效的配置。
私有离线K8s集群的其他监控工具安装方式
- 手动Helm部署:下载kube-prometheus-stack Chart包至本地,修改
values.yaml中的镜像地址为私有仓库,直接在集群内执行helm install <release-name> ./kube-prometheus-stack -n <monitor-namespace> --create-namespace,可实时查看安装日志,便于排查问题。 - 离线Rancher Cluster Tools:下载Rancher官方提供的Cluster Tools离线包(包含所有监控组件的镜像和Chart),导入至Rancher后即可通过Cluster Tools界面安装,无需手动处理依赖。
- 独立组件部署:不使用集成Chart,分别编写Prometheus、Grafana、Node Exporter等组件的YAML配置文件,替换镜像地址为私有仓库后直接部署,避免Chart依赖问题,配置更灵活。
- 二进制离线部署:下载Prometheus、Grafana等组件的二进制安装包,上传至集群节点,手动编写systemd服务文件启动,适合对资源占用要求较低的场景。
内容的提问来源于stack exchange,提问作者MaiTruongSon
相关产品推荐
相关产品推荐

