Невозможно установить gitlab в Kubernetes
Я пытаюсь установить gitlab с helm на кластер kubernetes, который уже имеет вход (кластер, созданный RKE). С помощью gitlab я хочу развернуть его в отдельном пространстве имен. Для этого я запустил следующую команду:
$ gitlab-config helm upgrade --install gitlab gitlab/gitlab \
--timeout 600 \
--set global.hosts.domain=asdsa.asdasd.net \
--set certmanager-issuer.email=sd@cloudssky.com \
--set global.edition=ce \
--namespace gitlab-ci \
--set gitlab.migrations.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-rails-ce \
--set gitlab.sidekiq.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-sidekiq-ce \
--set gitlab.unicorn.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-unicorn-ce \
--set gitlab.unicorn.workhorse.image=registry.gitlab.com/gitlab-org/build/cng/gitlab-workhorse-ce \
--set gitlab.task-runner.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-task-runner-ce
Но установка не удалась при проверке домена с помощью теста http01 с помощью cert-manager. Для этого перед запуском вышеупомянутой команды я указал свой базовый домен на существующий балансировщик нагрузки в моем кластере.
Есть ли что-то другое, что нужно сделать для успешной проверки http01?
Ошибка:
Conditions:
Last Transition Time: 2018-11-18T15:22:00Z
Message: http-01 self check failed for domain "asdsa.asdasd.net"
Reason: ValidateError
Status: False
Type: Ready
Дополнительная информация:
Проверка работоспособности для балансировщика нагрузки также не проходит. Таким образом, даже при использовании самозаверяющих сертификатов установка не выполняется.
Когда я попытался подключиться к одному из узлов и проверить состояние возврата, вот что я увидел:
$ curl -v localhost:32030/healthz
* Trying 127.0.0.1...
* Connected to localhost (127.0.0.1) port 32030 (#0)
> GET /healthz HTTP/1.1
> Host: localhost:32030
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 503 Service Unavailable
< Content-Type: application/json
< Date: Mon, 19 Nov 2018 13:38:49 GMT
< Content-Length: 114
<
{
"service": {
"namespace": "gitlab-ci",
"name": "gitlab-nginx-ingress-controller"
},
"localEndpoints": 0
* Connection #0 to host localhost left intact
}
И, когда я проверил службу входящего контроллера, он был запущен:
gitlab-nginx-ingress-controller LoadBalancer 10.43.168.81 XXXXXXXXXXXXXX.us-east-2.elb.amazonaws.com 80:32006/TCP,443:31402/TCP,22:31858/TCP
2 ответа
Проблема была решена здесь - https://gitlab.com/charts/gitlab/issues/939
По сути, решение, упомянутое в потоке, официально не задокументировано, поскольку требует подтверждения.
Похоже, он пытается проверить пустой домен ""
, Я бы попробовал установить указав ExternalIP
вашего балансировщика нагрузки:
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm upgrade --install gitlab gitlab/gitlab \
--timeout 600 \
--set global.hosts.domain=asdsa.asdasd.net \
--set global.hosts.externalIP=10.10.10.10 \
--set certmanager-issuer.email=sd@cloudssky.com
Как описано в документах.