devstack を用いた kubernetes VIMのインストール

devstack を用いたopenstack のインストール方法について記載します。

docs.openstack.org を参考にします。

ソースのダウンロード

$ git clone https://opendev.org/openstack/devstack 
$ cd devstack

local.confの作成

Kubernetes VIMを使用するため、以下のようにlocal.confを定義します。

$ cat << 'EOF' > local.conf
[[local|localrc]]
############################################################
# Customize the following HOST_IP based on your installation
############################################################
HOST_IP=127.0.0.1

ADMIN_PASSWORD=devstack
MYSQL_PASSWORD=devstack
RABBIT_PASSWORD=devstack
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=devstack

############################################################
# Customize the following section based on your installation
############################################################

# Pip
PIP_USE_MIRRORS=False
USE_GET_PIP=1

#OFFLINE=False
#RECLONE=True

# Logging
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
ENABLE_DEBUG_LOG_LEVEL=True
ENABLE_VERBOSE_LOG_LEVEL=True

# Neutron ML2 with OpenVSwitch
Q_PLUGIN=ml2
Q_AGENT=openvswitch

# Disable security groups
Q_USE_SECGROUP=False
LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver

# Enable neutron, heat, networking-sfc, barbican and mistral
enable_plugin neutron https://opendev.org/openstack/neutron master
enable_plugin heat https://opendev.org/openstack/heat master
enable_plugin networking-sfc https://opendev.org/openstack/networking-sfc master
enable_plugin barbican https://opendev.org/openstack/barbican master
enable_plugin mistral https://opendev.org/openstack/mistral master

# Ceilometer
#CEILOMETER_PIPELINE_INTERVAL=300
enable_plugin ceilometer https://opendev.org/openstack/ceilometer master
enable_plugin aodh https://opendev.org/openstack/aodh master

# Blazar
enable_plugin blazar https://github.com/openstack/blazar.git master

# Tacker
enable_plugin tacker https://opendev.org/openstack/tacker master

enable_service n-novnc
enable_service n-cauth

disable_service tempest

# Enable kuryr-kubernetes, docker, octavia
KUBERNETES_VIM=True
enable_plugin kuryr-kubernetes https://opendev.org/openstack/kuryr-kubernetes master
enable_plugin octavia https://opendev.org/openstack/octavia master
enable_plugin devstack-plugin-container https://opendev.org/openstack/devstack-plugin-container master
#KURYR_K8S_CLUSTER_IP_RANGE="10.0.0.0/24"

[[post-config|/etc/neutron/dhcp_agent.ini]]
[DEFAULT]
enable_isolated_metadata = True

[[post-config|$OCTAVIA_CONF]]
[controller_worker]
amp_active_retries=9999
EOF

インストールの実行

シェルスクリーンを用いてインストールを実行します。

$ ./stack.sh

トラブルシューティング

インストールが正常に終了しない場合があります。 そのときは、以下のようにunstack, clean を行ってから再度に実行します

$ ./unstack.sh
$ ./clean.sh
$ ./stack.sh