升级后的 gitlab runner 抛出 `Service LoadBalancer External Address not yet available`

Upgraded gitlab runner throws `Service LoadBalancer External Address not yet available`

我是 运行 一个 kubernetes 单节点集群,并使用 helm chart 将我的 gitlab 14.3.2 升级到 14.7.0。 这是我的 values.yaml 文件,它之前工作得很好...

global:
  edition: ce
  hosts:
    domain: domain.com
  shell:
    port: 30022
  rails:
    bootsnap:
      enabled: false
  ingress:
    class: nginx
    configureCertmanager: false
    annotations:
      cert-manager.io/cluster-issuer: letsencrypt-prod
      acme.cert-manager.io/http01-edit-in-place: "true"
certmanager:
  install: false
nginx-ingress:
  enabled: false
prometheus:
  install: false
redis:
  resources:
    requests:
      cpu: 10m
      memory: 64Mi
minio:
  ingress:
    tls:
      secretName: gitlab-minio-tls
  resources:
    requests:
      memory: 64Mi
      cpu: 10m
gitlab-runner:
  runners:
    privileged: false
gitlab:
  gitaly:
    persistence:
      size: 2Gi
  gitlab-shell:
    minReplicas: 1
    service:
      type: NodePort
      nodePort: 30022
  webservice:
    minReplicas: 1
    ingress:
      tls:
        secretName: gitlab-webservice-tls
  sidekiq:
    minReplicas: 1
  toolbox:
    enabled: false
registry:
  hpa:
    minReplicas: 1
  ingress:
    tls:
      secretName: gitlab-registry-tls

...但是新的 gitlab runner pod 失败了。在日志中我确实得到了错误

gitlab-gitlab-runner Service LoadBalancer External Address not yet available                                                                              

我在 values.yaml 文件中遗漏了什么?由于我是 运行 单节点集群,所以我没有负载均衡器。所以我不明白错误信息。

遇到了同样的问题。我发现一个服务配置错误,查看图表发现它是关于会话服务器的。

然后我简单地禁用了 sessionServer,默认情况下应该禁用它(参见 https://gitlab.com/gitlab-org/charts/gitlab-runner/-/commit/477f145bedcb68690d723826831d9c8c4f5b2d09),我不需要它,它成功了。

gitlab-runner:
  sessionServer:
    enabled: false

如果你需要的话,我觉得你得设置一些配置,比如PublicIp。这是 here 的默认值:

## Specify whether the runner should start the session server.
## Defaults to false
## ref: 
##
## When sessionServer is enabled, the user can either provide a public publicIP 
## or either rely on the external IP auto discovery
## When a serviceAccountName is used with the automounting to the pod disable,
## we recommend the usage of the publicIP
sessionServer:
  enabled: true
  # timeout: 1800
  # internalPort: 8093
  # externalPort: 9000
  # publicIP: ""