我的大学项目有一个EKS集群,我想在集群上安装Prometheus。为此,我使用helm和以下命令(请参阅本教程https://archive.eksworkshop.com/intermediate/240_monitoring/deploy-prometheus/):
kubectl create namespace prometheus
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm install prometheus prometheus-community/prometheus \
--namespace prometheus \
--set alertmanager.persistentVolume.storageClass="gp2" \
--set server.persistentVolume.storageClass="gp2"
字符串
当我检查prometheus pod的状态时,警报管理器和服务器似乎处于无限的Pending状态:x1c 0d1x
当我描述prometheus-alertmanager-0 pod时,我看到以下VolumeBinding错误:
当我描述prometheus-server-5d 858 bd 4 bd-6xmws pod时,我看到以下VolumeBinding错误:
我还可以看到有2个pvcs处于挂起状态:
当我描述prometheus服务器pvc时,我可以看到它正在等待创建卷:x1c4d 1x
我熟悉Kubernetes的基础知识,但pvcs不是我以前用过的东西。这里的解决方案是创建一个“卷”吗?如果是,我该怎么做?,这能解决问题吗?,或者我偏离了目标?
我应该尝试以不同的方式安装Prometheus吗?
任何帮助在这方面非常感谢
注意事项:虽然类似,但这并不是Prometheus server in pending state after installation using Helm的重复。对于其中一个突出显示的错误,有不同的错误,也执行了其他手动步骤,如创建卷(我没有这样做),最后,我遵循参考的特定教程,我也问我是否应该尝试以不同的方式设置Prometheus,如果有一个更简单的方法
2条答案
按热度按时间k5hmc34c1#
1.在Amazon Elastic Kubernetes Service(EKS)集群上安装Amazon Elastic Block Store(EBS)Container Storage Interface(CSI)驱动程序。这将在启动持久卷声明(PVC)时,通过使用
ebs-csi-driver-controller
,从EKS环境中创建Amazon Elastic Compute Cloud(EC2)卷。1.确保
ebs-csi-driver-controller
拥有使用IAM角色生成EC2卷所需的适当AWS身份和访问管理(IAM)权限。要完成此操作,请创建指定为ebs-csi-driver-controller-role
的IAM角色。将带有ARNarn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy
的策略附加到此角色。1.随后,将
ebs-csi-driver-controller-role
IAM角色与控制器关联。这可以通过在部署配置中的serviceAccount
元素上使用注解来实现,如下所示:字符串
2nc8po8w2#
假设您在运行EKS集群时已经安装了CSI驱动程序。
步骤1:-检查日志的pod ebs-csi-pumer-pod如果它说像
无法在EC2中创建卷:UnauthorizedOperation:您无权执行此操作
然后执行下面的步骤来运行prometheus pod。
步骤2:-使用AWS Policy AmazonEBSCSIDriverPolicy创建一个IAM角色名称<AmazonEKS_EBS_CSI_DriverRole>,并在“信任关系”部分中附上相应群集的OIDC详细信息,如下所示。
字符串
注:-如果你在上述oidc代码的末尾有sys,请将其更改为如上所述的aud。
步骤3:-现在转到群集并编辑ebs-csi-baseer-sa
型
并放在元数据如下,请更正indetation
型
步骤4:-然后重新启动部署
型
就是这样,你应该有PV绑定和运行的普罗米修斯服务器吊舱吊舱。