Skip to content

install-helm fails on most recent k8s version

Summary

install-helm fails because the helm version it uses is too old, which tries to use a deprecated api for k8s deployments. See: https://github.com/helm/helm/issues/6374

Even if following the workaround for helm, gitlab will not recognize that there is already a properly installed tiller service. It would be nice to have a workaround so it recognizes an existing tiller.

Steps to reproduce

Use the latest version of microk8s which brings apiserver version 1.16.0.

What is the current bug behavior?

Something went wrong while installing Helm Tiller

Operation failed. Check pod logs for install-helm for more details.

What is the expected correct behavior?

Installed and recognized helm tiller.

Relevant logs

Pod logs
+ helm init --tiller-tls --tiller-tls-verify --tls-ca-cert /data/helm/helm/config/ca.pem --tiller-tls-cert /data/helm/helm/config/cert.pem --tiller-tls-key /data/helm/helm/config/key.pem --service-account tiller
Creating /root/.helm 
Creating /root/.helm/repository 
Creating /root/.helm/repository/cache 
Creating /root/.helm/repository/local 
Creating /root/.helm/plugins 
Creating /root/.helm/starters 
Creating /root/.helm/cache/archive 
Creating /root/.helm/repository/repositories.yaml 
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com 
Adding local repo with URL: http://127.0.0.1:8879/charts 
$HELM_HOME has been configured at /root/.helm.
Error: error installing: the server could not find the requested resource

Details of package version

Provide the package version installation details
ii  gitlab-ce                                      12.3.5-ce.0                  amd64                        GitLab Community Edition (including NGINX, Postgres, Redis)

Environment details

  • Operating System: Ubuntu 18.04 bionic
  • Installation Target, remove incorrect values:
    • Bare Metal Machine
  • Installation Type, remove incorrect values:
    • New Installation
  • Is there any other software running on the machine: microk8s
  • Is this a single or multiple node installation?
  • Resources
    • CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
    • Memory total: 16GB

Configuration details

Provide the relevant sections of `/etc/gitlab/gitlab.rb`
external_url 'https://git.myhost.de'
gitlab_rails['ldap_enabled'] = true
gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' # remember to close this block with 'EOS' below
  main:
    label: 'myhost'
    host: '127.0.0.1'
    port: 389
    uid: 'uid'
    method: 'plain' # "tls" or "ssl" or "plain"
    bind_dn: 'uid=gitlab,ou=Tokens,dc=myhost'
    password: 'xxxxx'
    allow_username_or_email_login: true
    base: 'ou=Users,dc=myhost'
    user_filter: '(&(objectClass=inetOrgPerson)(memberof=cn=Gitlab,ou=Access,dc=myhost))'
EOS
registry_external_url 'https://registry.git.myhost.de'
gitlab_rails['registry_enabled'] = true
gitlab_rails['registry_host'] = "registry.git.myhost.de"
gitlab_rails['registry_port'] = "443"
gitlab_rails['registry_path'] = "/var/opt/gitlab/gitlab-rails/shared/registry"
registry['enable'] = true
registry['username'] = "registry"
registry['group'] = "registry"
registry['dir'] = "/var/opt/gitlab/registry"
unicorn['port'] = 9090
postgresql['shared_buffers'] = "3GB" # recommend value is 1/4 of total RAM, up to 14GB.
postgresql['work_mem'] = "50MB"
nginx['enable'] = true
nginx['ssl_client_certificate'] = nil # Most root CA's are included by default
nginx['ssl_certificate'] = nil
nginx['ssl_certificate_key'] = nil
nginx['listen_addresses'] = ['127.0.0.1']
nginx['listen_port'] = 3333 # override only if you use a reverse proxy: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#setting-the-nginx-listen-port
nginx['listen_https'] = false # override only if your reverse proxy internally communicates over HTTP: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/nginx.md#supporting-proxied-ssl
registry_nginx['enable'] = true
registry_nginx['redirect_http_to_https'] = false
registry_nginx['redirect_http_to_https_port'] = 80
registry_nginx['ssl_certificate'] = nil
registry_nginx['ssl_certificate_key'] = nil
registry_nginx['ssl_client_certificate'] = nil
registry_nginx['listen_port'] = 3334
registry_nginx['listen_https'] = false
registry_nginx['listen_addresses'] = ['127.0.0.1']
prometheus['enable'] = false
Edited by exi