Instalasi Openstack Ussuri Multinode Menggunakan Kolla-Ansible

Donny Arief Oktavian
Network Evolution
Published in
3 min readMar 9, 2021

Pada kesempatan ini saya akan membagikan tutorial deploy openstack ussuri menggunakan salah satu deployment tools yaitu kolla-ansible. Kolla merupakan deployment tool yang menyediakan production-ready containers OpenStack Cloud. Pada tutorial ini saya menggunakan os ubuntu 18.04.

TOPOLOGI

Berikut beberapa service yang akan saya install:

  • Core service (keystone, nova, neutron, glance)
  • Cinder backend (LVM)
  • Horizon (dashboard)

PREPERATION

Eksekusi pada semua node

Tambahkan user

# adduser donny

Masukan user ke grup sudo dan berikan akses user sudo no password

# usermod -aG sudo donny
# echo "donny ALL=(root) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/donny
# sudo chmod 0440 /etc/sudoers.d/donny
# su donny

Membuat volume grup cinder untuk service cinder

$ sudo pvcreate /dev/vdb
$ sudo vgcreate cinder-volumes /dev/vdb
$ sudo vgs

Menambahkan host

$ sudo nano /etc/hosts
10.20.80.10 do-controller
10.20.80.11 do-compute1
10.20.80.12 do-compute2

Membuat ssh-key

$ ssh-keygen -t rsa

Copy ssh pub key ke semua node

$ ssh-copy-id -i ~/.ssh/id_rsa.pub donny@10.20.80.10
$ ssh-copy-id -i ~/.ssh/id_rsa.pub donny@10.20.80.11
$ ssh-copy-id -i ~/.ssh/id_rsa.pub donny@10.20.80.12

INSTALL DEPENDECIES

Eksekusi hanya pada node controller

Update packet ubuntu

$ sudo apt update -y

Install dependencies yang dibutuhkan

$ sudo apt install -y python3-dev libffi-dev gcc libssl-dev

Install package python3

$ sudo apt install -y python3-pip python-docker python3-venv

Veriifikasi paket yang terinstall pada python3

$ pip3 list --format=columns

Membuat virtual environtment python

$ python3 -m venv kolla-os-venv
$ source kolla-os-venv/bin/activate

Install paket ansible dan kolla ansible menggunakan pip3

$ pip install -U pip
$ pip install ansible==2.9.17
$ pip install kolla-ansible==10.2.0

Membuat direktori untuk kolla ansible

$ sudo mkdir -p /etc/kolla
$ sudo chown $USER:$USER /etc/kolla

Copy file globals.yml dan password.yml ke direktori kolla

$ cp -r kolla-os-venv/share/kolla-ansible/etc_examples/kolla/* /etc/kolla

Copy inventory all-in-one dan multinode ke direktori home

$ cp kolla-os-venv/share/kolla-ansible/ansible/inventory/* .

CONFIGURATION

Eksekusi hanya pada node controller

Edit file inventory multinode

$ nano ~/multinode
[control]
do-controller
[network]
do-controller
[compute]
do-compute1
do-compute2
[monitoring]
do-controller
[storage]
do-controller
do-compute1
do-compute2
[deployment]
localhost ansible_connection=local

Note: jangan rubah inventory lainya

Konfigurasi file ansible.cfg

$ sudo mkdir -p /etc/ansible
$ sudo nano /etc/ansible/ansible.cfg
[defaults]
host_key_checking=False
pipelining=True
forks=100

Cek koneksi antar node menggunakan module ping ansible

$ ansible -i multinode all -m ping

Generate password openstack otomatis menggunakan kolla-genpwd

$ kolla-genpwd
$ cat /etc/kolla/passwords.yml

Konfigurasi file globals.yml

$ nano /etc/kolla/globals.yml
kolla_base_distro: "ubuntu"
kolla_install_type: "source"
openstack_release: "ussuri"
kolla_internal_vip_address: "10.20.80.100"
network_interface: "ens3"
neutron_external_interface: "ens4"
neutron_plugin_agent: "ovn"
enable_openstack_core: "yes"
enable_haproxy: "yes"
enable_neutron_provider_networks: "yes"
nova_compute_virt_type: "kvm"
enable_cinder: "yes"
enable_cinder_backend_lvm: "yes"

DEPLOY

Eksekusi hanya pada node controller

Jalankan bootstrap node kolla-ansible

$ kolla-ansible -i ./multinode bootstrap-servers

Note: Jika ImportError: No module named pkg_resources

$ sudo apt-get install --reinstall python-pkg-resources -y

Jalankan prechecks node kolla-ansible

$ kolla-ansible -i ./multinode prechecks

Note: Jika ImportError:No module named docker

$ sudo apt-get install python-docker -y

Deploy openstack cluster kolla-ansible

$ kolla-ansible -i ./multinode deploy

Jalankan post-deploy untuk mendapatkan file admin-openrc

$ kolla-ansible post-deploy

Install Openstack CLI python

$ sudo apt install -y python3-openstackclient

Reff: https://docs.openstack.org/project-deploy-guide/kolla-ansible/ussuri/quickstart.html

--

--