Не удалось обнаружить доступные версии удостоверений при обращении к http://controller:5000/v3.

При попытке настроить узел контроллера для версии openstack USSURI. Меня просят настроить службу look в качестве вспомогательной службы управления образами виртуальных машин.

По требованию: статья (в Ubuntu 18.04):

  1. Я создал файл с именем: admin-openrc.sh, в папке: /usr/share/keystone, с содержимым:
    export OS_USERNAME=admin 
    
    export OS_PASSWORD=ADMIN_PASS 
    
    export OS_PROJECT_NAME=admin 
    
    export OS_USER_DOMAIN_NAME=Default 
    
    export OS_PROJECT_DOMAIN_NAME=Default 
    
    export OS_AUTH_URL=http://controller:5000/v3 
    
    export OS_IDENTITY_API_VERSION=3`

где ADMIN_PASS настраивается

  1. Введите cmd : source ./admin-openrc.sh

  2. Затем создайте пользователя look с помощью cmd: openstack user create --domain default --password-prompt glance

в качестве вывода я получаю сообщение об ошибке:

Failed to discover available identity versions when contacting http://controller:5000/v3. Attempting to parse version from URL.
Unable to establish connection to http://controller:5000/v3/auth/tokens: HTTPConnectionPool(host='controller', port=5000): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fa20bba02b0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))

Кто-нибудь посоветует, пожалуйста? Ранее я выполнил все шаги: установка NTP, загрузка пакетов openstack, установка SQL, установка RabbitMQ, установка Memcached, установка Etcd, установка Keystone (версия USSURI)

Кажется, проблема с аутентификацией, может быть, или что-то еще?


Если вопрос помог вам, проголосуйте за него. Заранее спасибо


person CloudRock    schedule 15.07.2020    source источник
comment
вы зарегистрировали controller (который используется в пути http://controller) в /etc/hosts или как он разрешает адрес? Если вы воспользовались слишком простыми инструкциями по установке, возможно, вы пропустили замену controller на ip-адрес хоста или адрес, который можно разрешить в файле /etc/hosts.   -  person Tobias    schedule 15.07.2020
comment
единственная регистрация, которую я сделал для controller, указана на этом ссылка, как хост apache2   -  person CloudRock    schedule 15.07.2020
comment
да, тогда я был прав. Вы должны заменить controller за каждым http:// в каждой команде openstack и в каждом конфигурационном файле на ip-адрес вашего узла-контроллера или на имя, которое сопоставляется /etc/hosts/-файлом с ip-адресом или с помощью доменное имя, например www.example.com, которое можно преобразовать в IP-адрес вашего узла-контроллера. Вы также можете зарегистрировать имя controller в файле /etc/hosts вместе с IP-адресом вашего узла-контроллера в качестве обходного пути. Таким образом, вам не нужно менять каждую команду и конфигурацию.   -  person Tobias    schedule 15.07.2020
comment
Я тестирую ваш подход, но запутался в определении IP-адреса для controller. У меня есть два IP-адреса: 10.0.0.4, который является IP-адресом хоста ОС, и 10.0.0.11, который является IP-адресом управления для controller.   -  person CloudRock    schedule 15.07.2020


Ответы (4)


Если это настройка с одним управляющим узлом (например, один экземпляр Keystone), я бы рекомендовал просто заменить controller на IP-адрес управления. При переходе к производству вы, как правило, используете балансировщик нагрузки перед этим сервером, но вы также можете использовать DNS-запись, разрешаемую на всех ваших узлах (например, controller.internal).

# keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
  --bootstrap-admin-url http://<your-ip>:5000/v3/ \
  --bootstrap-internal-url http://<your-ip>:5000/v3/ \
  --bootstrap-public-url http://<your-ip>:5000/v3/ \
  --bootstrap-region-id RegionOne

Недостаток использования controller и отсутствия решения DNS или балансировки нагрузки впереди (например, путем добавления его в файл /etc/hosts) заключается в том, что вам необходимо вручную поддерживать это на всех узлах, включая любые вычислительные узлы, которые вы добавляете в свою настройку. .

person eandersson    schedule 15.07.2020

Я добавил запись в etc/hosts : 10.0.0.11 controller, затем повторно выполнил эти 2 команды:

sudo keystone-manage bootstrap --bootstrap-password XXXXXXXX --bootstrap-admin-url http://10.0.0.11:5000/v3/ --bootstrap-internal-url http://10.0.0.11:5000/v3/ --bootstrap-public-url http://10.0.0.11:5000/v3/ --bootstrap-region-id RegionOne

sudo openstack user create --domain default --os-username XXXXXXXX --password-prompt --os-auth-url http://10.0.0.11:5000/v3 glance

Но получил, та же ошибка:

Failed to discover available identity versions when contacting http://10.0.0.11:5000/v3. Attempting to parse version from URL.

Unable to establish connection to http://10.0.0.11:5000/v3/auth/tokens: HTTPConnectionPool(host='10.0.0.11', port=5000): Max retries exceeded with url: /v3/auth/tokens (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fe863dff290>: Failed to establish a new connection: [Errno 113] No route to host',))

Жду твоей помощи,

person CloudRock    schedule 16.07.2020

Также пробовал это:

$sudo ping controller

PING controller (10.0.0.11) 56(84) bytes of data.
From bassamvm01.internal.cloudapp.net (10.0.0.4) icmp_seq=1 Destination Host Unreachable
......
^C
--- controller ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5081ms
pipe 4
person CloudRock    schedule 16.07.2020
comment
На хосте, куда пытаетесь установить keystone, есть вообще сетевой интерфейс, который слушает на 10.0.0.11? - person Tobias; 16.07.2020
comment
единственная конфигурация, которую я сделал с 10.0.0.11, приведена в статье, то есть: я добавил IP-адрес в файл /etc/mysql/mariadb.conf.d/99-openstack.cnf. Хост-интерфейс ОС: 10.0.0.4, я не добавлял новый интерфейс... - person CloudRock; 16.07.2020
comment
Общий совет для вас: не просто копируйте и вставляйте команды-примеры, когда вы не знаете, что они делают. - person Tobias; 16.07.2020
comment
нужно ли добавлять сетевой интерфейс с 10.0.0.11 ? - person CloudRock; 16.07.2020
comment
Если ваш физический хост имеет только один сетевой интерфейс с ip 10.0.0.4, то вы должны использовать этот адрес в своих командах и конфигурационных файлах для любой службы, которая работает на этом физическом хосте. Использование 10.0.0.11 имеет смысл только тогда, когда существует физический или виртуальный интерфейс, который прослушивает этот IP-адрес. - person Tobias; 16.07.2020

Спасибо за ваше замечание. Мне удалось предоставить доступ к контроллеру с адресом 10.0.0.11

Мне нужно соответствующим образом изменить конфигурацию NIC (с IP: 10.0.0.11)

person CloudRock    schedule 25.07.2020