helm sentry 创建了额外的负载均衡器

helm sentry created additional load balancer

我在 Digitalocean 上使用 Kubernetes,我安装了 nginx-ingress,它创建了一个外部负载平衡器。但是,当我使用 helm https://github.com/helm/charts/tree/master/stable/sentry 安装 Sentry 时,创建了另一个负载均衡器。奇怪的是,虽然哨兵只能通过 nginx 负载均衡器访问,即如果我将我的域指向在哨兵安装中创建的负载均衡器的 ip 地址,它会加载。

我是 kubernetes 的新手,所以很确定我做错了什么 安装 Sentry 并假设它将与我在安装图表时使用的值相关,因为它具有 LoadBalancer 服务类型。

所以我的问题是我可以摆脱 Sentry 创建的负载均衡器吗?什么是最好的方法来破坏任何东西。

# Name of the service and what port to expose on the pod
# Don't change these unless you know what you're doing
service:
  name: sentry
  type: LoadBalancer
  externalPort: 9000
  internalPort: 9000
  ## External IP addresses of service
  ## Default: nil
  ##
  # externalIPs:
  # - 192.168.0.1

## Configure ingress resource that allow you to access the
## Sentry installation. Set up the URL
## ref: http://kubernetes.io/docs/user-guide/ingress/
##
ingress:
  enabled: true
  hostname: sentry.mydomain.com

  ## Ingress annotations
  ##
  annotations:
    kubernetes.io/ingress.class: nginx
    certmanager.k8s.io/cluster-issuer: letsencrypt-prod

  ## Ingress TLS configuration
  ## Secrets must be manually created in the namespace
  ##
  tls:
    - secretName: sentry-mydomain-crt
      hosts:
        - sentry.mydomain.com

是的,您可以将值文件中的服务类型设置为 ClusterIP。

图表中的值文件默认为 LoadBalancer 类型 (https://github.com/helm/charts/blob/master/stable/sentry/values.yaml),但您可以通过在您部署的值文件中将其设置为 ClusterIP 或使用 '--set [=25] 来覆盖它=]=ClusterIP'作为参数。

那么它只会通过 Ingress 暴露,不会有外部 LoadBalancer。参见

因为你已经安装了 sentry,你会想要找到它的版本名称(你会看到它作为来自 'kubectl get' 命令如 'kubectl get pod' 或 'helm list').如果你正在使用它,那么你会想要做一个 'helm upgrade'。如果您还没有使用它,那么您可以在该版本上执行 'helm delete' 并重新安装它。

使用 ClusterIP service type 而不是 LoadBalancer:

service:
  name: sentry
  type: ClusterIP