Как CATTLE_ENVIRONMENT_ADMIN_ACCESS_KEY трябва да бъде зададен в контейнер Rancher?

Работя по проект, който изисква замяна на rancher-compose с rancher CLI. В същото време моята инсталация на Rancher беше надстроена от 1.6.21 (IIRC) на 1.6.27. Стековете се разполагат правилно при използване на rancher-compose. Когато разположа стековете с помощта на rancher CLI, всички контейнери за балансиране на натоварването имат грешки, подобни на тези в своите регистрационни файлове:

6/5/2019 11:08:30 PM time="2019-06-06T03:08:30Z" level=error msg="Failed to initialize Kubernetes controller: KUBERNETES_URL is not set"
6/5/2019 11:08:30 PM 009921c0-3362-45a0-9ae1-3f2f4d06e7fatime="2019-06-06T03:08:30Z" level=info msg="Starting Rancher LB service"
6/5/2019 11:08:30 PM time="2019-06-06T03:08:30Z" level=info msg="Listening on /tmp/log.sock"
6/5/2019 11:08:30 PM time="2019-06-06T03:08:30Z" level=fatal msg="CATTLE_ENVIRONMENT_ADMIN_ACCESS_KEY is not set, fail to init of Rancher LB provider"
6/5/2019 11:08:32 PM + METADATA_ADDRESS=169.254.169.250
6/5/2019 11:08:32 PM + curl -s -f http://169.254.169.250/2015-12-19/self/service/uuid
6/5/2019 11:08:32 PM + /usr/bin/update-rancher-ssl
6/5/2019 11:08:32 PM + exec lb-controller --controller rancher --provider haproxy

Когато използвам rancher-compose CLI, стековете се стартират без грешки.

Опитах се да потърся нещо, свързано с грешката, и единствените върнати резултати, които включват CATTLE_ENVIRONMENT_ADMIN_ACCESS_KEY, изглежда са стари доклади за грешки, където низът се е появил в изхода за дъмп. Опитах се да потърся този низ на уеб сайта на Rancher и получих съобщение за грешка

Unauthorized access to internal API. Please refer to https://support.google.com/customsearch/answer/4542055

Имам API ключ и API ключ за среда, конфигурирани чрез GUI на Rancher. Зададох стойностите на средата RANCHER_ACCESS_KEY и RANCHER_SECRET_KEY в моята обвивка на Linux, като използвах последователно API ключа и API ключа за средата. Нито едно от тях не работи. Опитах също с набора RANCHER_ACCESS_KEY и RANCHER_SECRET_KEY, използвайки стойностите на ключовете за API, и настройката CATTLE_ENVIRONMENT_ADMIN_ACCESS_KEY и CATTLE_ENVIRONMENT_ADMIN_SECRET_KEY, използвайки ключовете за API на средата. Това също не проработи. Също така добавих код към скрипта за внедряване, за да предам файл на средата към командата CLI up, за да настроя променливите CATTLE_*, което не работи. Също така модифицирах docker-compose.yml, за да добавя списък environment: и това нямаше ефект.

Къде мога да намеря документация за това какво трябва да бъде CATTLE_ENVIRONMENT_ADMIN_ACCESS_KEY и как да го настроя така, че фаталните грешки, които спират стартирането на контейнерите за балансиране на натоварването, да спрат да се появяват?

За бонус точки ми кажете как да се отърва от съобщението за грешка, че KUBERNETES_URL не е зададено: Ние не използваме Kubernetes в този проект въобще, така че не представа откъде идва това.


РЕДАКТИРАНЕ

$ rancher-compose --version
rancher-compose version v0.12.5
$ rancher --version
rancher version v0.6.13
$ docker --version
Docker version 18.09.6, build 481bc77

Опитах също да задам променлива на средата RANCHER_ENVIRONMENT в моя Linux shell, веднъж на 1a5 и веднъж на Default. Нито една от тези промени нямаше значение.


person FKEinternet    schedule 06.06.2019    source източник


Отговори (2)


Опитахте ли да зададете и ключа за среда на ранчър?

RANCHER_ENVIRONMENT=xxx

И каква е вашата команда rancher cli, която използвате?

Грешката на kubernetes е доста често срещана, мисля, че Rancher я проверява преди Cattle.

person Rafael Rodrigo De Souza    schedule 10.06.2019
comment
Грешката само възниква в контейнерите за балансиране на натоварването, всички останали работят правилно. Ако трябваше да се зададе ключ RANCHER_ENVIRONMENT, бих очаквал други контейнери да се провалят. Както посочих във въпроса си, проектът, върху който работя, преминава от rancher-compose CLI към rancher CLI и тази грешка възниква само с rancher CLI. - person FKEinternet; 13.06.2019

Оказа се, че проблемът е, че rancher CLI е чувствителен към реда на параметрите на командния ред по начин, по който rancher-compose не е: С rancher-compose този команден ред работи правилно:

rancher-compose --file docker-compose.yml --rancher-file rancher-compose.yml up pull

Въпреки това, за rancher CLI, командите трябва да бъдат представени преди файловете:

rancher up pull --file docker-compose.yml --rancher-file rancher-compose.yml

Това не е документирано НИКЪДЕ и получих нулев отговор, когато публикувах въпроса си в канала на Rancher Slack. Единственият начин, по който успях да отстраня проблема, беше чрез две седмици отстраняване на грешки чрез проба и грешка и просто емпирично намиране на решението.

person FKEinternet    schedule 22.07.2019