Работа с OpenStack API с помощью консольных клиентов

Перед началом работы с консольными клиентами OpenStack следует создать пользователя и добавить его в проект в панели управления или с помощью selvpc CLI, а затем установить необходимое программное обеспечение на локальную систему.

Запуск RC-файла

Перед установкой необходимого ПО настройте доступ к проекту из локальной системы и установите переменные среды. Для этого в панели управления:

  1. Перейдите в подраздел Доступ в проекте, выберите пользователя и регион облака по умолчанию, скачайте RC-файл.

    Примечание: с помощью этого файла можно управлять ресурсами в одном регионе. Для работы с другими регионами вы можете передавать нужное имя ключом --os-region-name или менять содержимое переменной окружения OS_REGION_NAME.

  2. На локальном компьютере перейдите в каталог, в котором лежит файл rc.sh.

  3. Запустите скрипт из этого каталога с помощью команды:

    source rc.sh
  4. Введите запрашиваемый пароль OpenStack — пароль пользователя проекта.

Установка ПО

Для установки на локальную систему программного обеспечения, необходимого для работы с консольными клиентами OpenStack, исспользуйте следующие команды.

Примечание: для каждого дистрибутива предназначен свой набор утилит.

Debian 9 / 10 или Ubuntu 16 / 18 / 20 (для python3)

apt update
apt -y install build-essential curl git \
    libffi-dev libssl-dev libxml2-dev libxslt1-dev \
    python3-pip python3-dev python3-openssl python3-pyasn1
pip3 install -UI pbr setuptools pytz
pip3 install -UI git+https://github.com/openstack/python-openstackclient.git@stable/train

CentOS

yum -y install epel-release
yum -y install gcc git libffi-devel libxslt-devel openssl-devel \
    python-pip python-devel
pip install -UI pbr setuptools pytz
pip install -UI git+https://github.com/openstack/python-openstackclient.git@stable/train

Fedora

yum -y install gcc git libffi-devel libxslt-devel openssl-devel \
    python-pip python-devel
pip install -UI pbr setuptools pytz
pip install -UI git+https://github.com/openstack/python-openstackclient.git@stable/train

Использование Docker-контейнера с утилитами

Вы можете использовать Docker-контейнер для установки необходимого ПО.

  1. Установите Docker на своей локальной системе.
  2. Создайте Dockerfile со следующим содержимым:

    FROM alpine:3.11
    
    RUN apk add --update --no-cache python3 py3-pip git python3-dev libffi libffi-dev \
    openssl openssl-dev build-base iputils bash curl linux-headers && \
    apk add py3-cffi py3-tz py3-pbr py3-setuptools && \
    pip3 install -UI git+https://github.com/openstack/python-openstackclient.git@stable/ussuri \
                     git+https://github.com/openstack/python-heatclient.git@stable/ussuri \
                     git+https://github.com/openstack/python-octaviaclient.git@stable/ussuri \
                     git+https://github.com/openstack/python-magnumclient.git@stable/ussuri \
    && apk del build-base linux-headers python3-dev libffi-dev openssl-dev && rm -rf /var/cache
    
    CMD ["sh"]
  3. Для сборки контейнера используйте команду:

    docker build -t osc:train .
  4. Запустите Docker из каталога, в котором лежит файл rc.sh:

    docker run -ti --rm -v $(PWD):/workspace osc:train
  5. После этого в контейнере можно работать с утилитами, представленными выше. Перед этим запустите скрипт rc.sh из папки /workspace:

    source rc.sh

SSH-ключ

С помощью SSH-ключа можно подключаться к виртуальным машинам по SSH.

Создание SSH-ключа

Для создания SSH-ключа введите:

openstack keypair create <key> --private-key <file>
chmod 600 <file>

Эта команда выведет в файл приватный ключ, с помощью которого можно будет подключаться к виртуальным машинам по SSH. Команда соединения в этом случае будет выглядеть так:

ssh -i <file> <server IP>

Обратите винмание! Если не указать --private-key <file>, то содержимое будет выведено на экран.

Если у вас уже есть пара «приватный ключ – публичный ключ», можно указать публичный ключ в качестве аргумента:

openstack keypair create <key> --pub-key <path to public key>

Например:

openstack keypair create my_key --pub-key ~/.ssh/id_rsa.pub

Добавление SSH-ключа

SSH-ключи можно также добавлять в панели управления на вкладке Доступ в проекте.