AWS上的Helm Prometheus自定义负载均衡器配置

时间:2020-07-20 15:46:31

标签: amazon-web-services kubernetes prometheus kubernetes-helm aws-eks

你好,谢谢你!

我有以下问题:

我正在尝试使用Helm通过AWS EKS安装prometheus,但希望有机会将AWS ELB配置为私有的并可以从我的VPC内部使用(默认情况下,它将被创建为带有FQDN的公共LoadBalancer)。< / p>

当我执行以下操作时:

helm install stable/prometheus --name prometheus \
--namespace prometheus \
--set alertmanager.persistentVolume.storageClass="gp2" \
--set server.persistentVolume.storageClass="gp2" \
--set server.service.type=LoadBalancer \
--set server.service.annotations{0}="service.beta.kubernetes.io/aws-load-balancer-internal":"0.0.0.0/0"

它将创建一个不包含注释的标准LoadBalancer服务:

$ kubectl describe service/prometheus-server   -n=prometheus
Name:                     prometheus-server
Namespace:                prometheus
Labels:                   app=prometheus
                          chart=prometheus-11.7.0
                          component=server
                          heritage=Tiller
                          release=prometheus
Annotations:              <none>
Selector:                 app=prometheus,component=server,release=prometheus
Type:                     LoadBalancer
IP:                       10.100.255.81

我在玩引号和其他可能的语法变体,但是没有运气。请告知正确的注释用法。

1 个答案:

答案 0 :(得分:2)

这有点棘手,但是您可以这样做:

helm install stable/prometheus --name prometheus \
--namespace prometheus \
--set alertmanager.persistentVolume.storageClass="gp2" \
--set server.persistentVolume.storageClass="gp2" \
--set server.service.type=LoadBalancer \
--set server.service.annotations."service\.beta\.kubernetes\.io/aws-load-balancer-internal"="0.0.0.0/0"

您可以在in the Helm docs处查看设置的格式和限制。例如,

--set nodeSelector."kubernetes\.io/role"=master

成为:

nodeSelector:
  kubernetes.io/role: master

✌️<​​/ p>