使用Helm在Kubernetes集群中运行Nexus

时间:2018-09-11 10:52:57

标签: nexus kubernetes-helm google-kubernetes-engine

有一个指向枢纽的头盔图表:https://github.com/helm/charts/tree/master/stable/sonatype-nexus

我像使用头盔一样安装它:

helm install stable/sonatype-nexus --name=nexus

但是由于代理关系而无法使用。 nexus-proxy容器有日志:

  

[vert.x-eventloop-thread-0]   [io.vertx.ext.web.impl.RoutingContextImplBase]中的意外异常   路线

因此,我开始使用google并发现了该帖子: https://github.com/travelaudience/nexus-proxy/issues/4

除此以外,我们没有其他答案:

  

我遇到此错误。使用imageTag = 2.2.0解决了以下问题   我。

所以我删除了nexus版本并按如下方式安装该图表:

helm install stable/sonatype-nexus --name=nexus -f nexus.yml
  

nexus.yml是此文件,替换了nexus-proxy图像标签的值   https://github.com/helm/charts/blob/master/stable/sonatype-nexus/values.yaml

现在,当我按下http://localhost:8080/时,我得到了:

  

无效的主机。要浏览Nexus,请点击此处/。使用Docker   注册表,将您的客户指向。

Tadaaam,我做错了什么? 我尝试在Mac的kubernetes中安装此图表。我尚未在GKE上成功安装此图表

3 个答案:

答案 0 :(得分:1)

我遇到了与您相同的问题(稳定/sonatype-nexus-1.10.0),并且我试图解决该问题。我猜你的问题是由于码头图片,如quay.io/travelaudience/docker-nexus-proxy所致。您可以在value.yaml中看到配置,例如

yaml nexusProxy: imageName: quay.io/travelaudience/docker-nexus-proxy imageTag: 2.3.0 imagePullPolicy: IfNotPresent port: 8080 env: nexusDockerHost: 127.0.0.1 nexusHttpHost: 127.0.0.1 enforceHttps: false cloudIamAuthEnabled: false

默认情况下,nexusDockerHost和nexusHttpHost保留为空白,因此代理将拒绝您对nexus的访问。允许通过docker-nexus-proxy访问nexus。以我为例,在将127.0.0.1添加到nexusDockerHost / nexusHttpHost之后,我可以从图表的节点端口配置访问nexus ui。

答案 1 :(得分:1)

为我工作!它创建了另一个ReplicaSet,为了避免新容器中的运行状况检查失败,我不得不删除原始的副本集,但是随后它可以正常工作。

答案 2 :(得分:0)

我已通过以下更改修复了此问题,这似乎是端口问题,我已将其部署在AWS EKS私有服务器上

nexusProxy:
  enabled: true
  # svcName: proxy-svc
  imageName: quay.io/travelaudience/docker-nexus-proxy
  imageTag: 2.6.0
  imagePullPolicy: IfNotPresent
  port: 8080
  targetPort: 8080

更改

nexusProxy:
  enabled: true
  # svcName: proxy-svc
  imageName: quay.io/travelaudience/docker-nexus-proxy
  imageTag: 2.6.0
  imagePullPolicy: IfNotPresent
  port: 8080
  targetPort: 8081

仅将端口从8080更改为8081