kubernetes - 如何访问集群外使用 helm 构建的 Concourse?

标签 kubernetes concourse kubernetes-helm

我正在使用https://github.com/kubernetes/charts/tree/master/stable/concourse提供的大厅 Helm 构建在我们的 kubernetes 集群内设置 concourse。我已经能够使设置正常工作,并且能够在集群内访问它,但在集群外访问它时遇到问题。构建中的注释显示我可以使用 kubectl port-forward 来访问网页,但我不希望所有开发人员都必须转发端 Eloquent 能访问网络用户界面。我尝试创建一个具有如下节点端口的服务:

apiVersion: v1
kind: Service
metadata:
  name: concourse
  namespace: concourse-ci
spec:
  ports:
  - port: 8080
    name: atc
    nodePort: 31080
  - port: 2222
    name: tsa
    nodePort: 31222
  selector:
    app: concourse-web
  type: NodePort

这允许我访问网页并以大多数方式与其交互,但当我尝试查看构建状态时,它永远不会加载发生的事件。相反,/api/v1/builds/1/events 的网络请求陷入待处理状态,并且构建步骤永远不会加载。有什么想法我可以做些什么才能完全访问集群外部的大厅?

编辑:事件网络请求通常会使用 text/event-stream 数据类型进行响应,并且 Kubernetes 服务可能无法正确处理事件流。或者,大厅处理事件流的方式与正常情况不同。

最佳答案

经过大量调查后,我发现 nodePort 服务实际上正在工作,只是我的防病毒软件 (Sophos) 默默地阻止了 events 请求的响应。

关于kubernetes - 如何访问集群外使用 helm 构建的 Concourse?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44807666/

相关文章:

kubernetes - 如何通过 istio 使用自定义客户端证书进行外部服务?

nginx - 用于通配符 url 映射的 Kubernetes Ingress Controller

concourse - 如果每个任务都在自己的容器中运行,容器中的资源如何可供另一个容器使用?

java - Maven:在部署步骤之前设置版本会导致缺少 Artifact

kubernetes-helm - Helm 模板 - 覆盖值文件

kubernetes - 在Kubernetes中启用基本身份验证

bash - 通过 Fly CLI 传递私钥

azure - 如何为 AKS 和 Helm 设置 ASP.NET CORE Web 和 WebAPI 容器之间的通信

kubernetes-helm - helm 图表中的嵌套默认值

Kubernetes:是否可以将卷安装到作为 CronJob 运行的容器?