云栖问答

找不到答案?去提问题

nginx service digitalocean k8s 2019-01-09 13:37:36

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

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

我是kubernetes的新手,所以我确信在安装Sentry时我做错了,并假设它与我在安装图表时使用的值有关,因为它有一个ServiceBiler的服务类型。

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

1个回答

0

k8s小能手

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

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

然后它只会通过Ingress公开,并且不会有外部LoadBalancer。请参阅Ingress服务类型

既然您已经安装了哨兵,那么您将需要找到它的发布名称(您可以在'kubectl get'命令中找到它作为哨兵资源的前缀,例如'kubectl get pod'或'helm list')。如果您正在使用它,那么您将需要进行“掌舵升级”。如果您还没有使用它,那么您可以在该版本上执行'helm delete'并再次安装它。

1
GO