helm sentry создал дополнительный балансировщик нагрузки

Я использую Kubernetes в Digitalocean, и я установил nginx-ingress, который создал внешний балансировщик нагрузки. Однако, когда я устанавливаю Sentry с помощью helm, https://github.com/helm/charts/tree/master/stable/sentry был создан другой балансировщик нагрузки. Как ни странно, часовой доступ доступен только через балансировщик нагрузки nginx, то есть если я указываю свой домен на IP-адрес балансировщика нагрузки, созданного при установке Sentry, он загружается.

Я новичок в 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

person dottodot    schedule 05.01.2019    source источник


Ответы (2)


Да, вы можете установить тип службы в файле значений на ClusterIP.

Файл значений внутри диаграммы по умолчанию имеет тип LoadBalancer (https://github.com/helm/charts/blob/master/stable/sentry/values.yaml), но вы можете переопределить это, установив для него значение ClusterIP в файле значений, который вы развертываете с помощью или с помощью '--set service.type = ClusterIP 'в качестве параметра.

Тогда он будет доступен только через Ingress и не будет иметь внешнего LoadBalancer. См. тип входящей службы

Поскольку вы уже установили sentry, вам нужно будет найти его название выпуска (вы увидите его как префикс в ресурсах watch от команд «kubectl get», таких как «kubectl get pod» или из «helm list»). Если вы его используете, то вам нужно сделать «апгрейд руля». Если вы еще не используете его, вы можете выполнить «helm delete» в этом выпуске и установить его снова.

person Ryan Dawson    schedule 05.01.2019

Вместо один LoadBalancer:

service:
  name: sentry
  type: ClusterIP
person Quentin Revel    schedule 05.01.2019