Эксплуатация Docker swarm на openstack magnum
Установка DNF
Как оказалось, на master-ноде кластера docker swarm нет никакого пакетного менеджера (dnf, yum) и поставить его не так просто. Вот здесь описано, как это сделать:
Скачать репозиторий byo-atomic
Ставим httpd
mkdir -p /etc/httpd/logs && mkdir -p /srv/rpm-ostree/repo && cd /srv/rpm-ostree/ && ostree --repo=repo init --mode=archive-z2
Заменить URL в файле /etc/ostree/remotes.d/fedora-atomic.conf
[remote "fedora-atomic"]
#url=https://kojipkgs.fedoraproject.org/atomic/25/
url=http://10.0.128.224/repo
branches=fedora-atomic/25/x86_64/docker-host;
gpg-verify=false
Обновить образ atomic
Установить пакетный менеджер:
Создание шаблона кластера:
openstack coe cluster template create swarm-cluster-tcoreos --image fedora-coreos --external-network provider --master-flavor a2.medium --flavor a2.medium --coe swarm --docker-volume-size 100 --fixed-network 3de10eb9-b4a2-40e9-bd1a-9f4c58c23855 --fixed-subnet 4a2a46d1-c968-474f-a468-d4f7c74a3e34
Cоздание кластера:
openstack coe cluster create swarm-c1 --cluster-template swarm-cluster-t1 --master-count 1 --node-count 2 --keypair docker
openstack coe cluster create swarm-c2 --cluster-template swarm-cluster-tcoreos --master-count 1 --node-count 2 --keypair docker
Установка magnum-ui плагина в horizon
Документация по установке плагина:
https://docs.openstack.org/magnum/latest/user/#horizon-interface
Приступаем:
cd /opt/horizon
gitg clone https://opendev.org/openstack/magnum-ui.git
cd magnum-ui & python setup.py sdist
cp -rv enabled horizon/openstack_dashboard/local/
horizon/tools/with_venv.sh pip install dist/package.tar.gz
systemctl restart apache2
Шаг 3 устанавливает ваш пакет в виртуальную среду Horizon. Можно установить плагин без использования with_venv.shи pip. Вместо этого пакет будет просто установлен в системе в каталог, определенный переменной PYTHON_PATH.
Источники
- FAQ Fedora-coreos: https://docs.fedoraproject.org/en-US/fedora-coreos/faq/
- Кастомизиция Fedora: https://developers.redhat.com/blog/2020/03/12/how-to-customize-fedora-coreos-for-dedicated-workloads-with-ostree#
- Пакетный менеджер и установка пакетов: https://russianfedora.github.io/FAQ/package-manager.html
- Building and updating Fedora Atomic image: https://docs.openstack.org/magnum/mitaka/dev/build-atomic-image.html