舵兵创建了额外的负载均衡器

时间:2019-01-05 14:13:25

标签: kubernetes digital-ocean kubernetes-helm sentry

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

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

所以我的问题是,我可以摆脱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

2 个答案:

答案 0 :(得分:4)

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

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

然后它将仅通过Ingress公开,并且不会具有外部LoadBalancer。参见Ingress service type

由于已经安装了哨兵,因此您将需要查找其发行名称(您将在“ kubectl get”命令(如“ kubectl get pod”或“ helm list”)中看到它作为哨兵资源的前缀) 。如果您正在使用它,那么您将需要进行“安全升级”。如果您尚未使用它,则可以对该版本进行“删除”操作,然后重新安装。

答案 1 :(得分:2)

使用ClusterIP service type代替LoadBalancer一个:

{{1}}