
Kubernetes Kuryr is a subproject of OpenStack Neutron. Its main objective is to integrate network configuration between OpenStack and Kubernetes. This particular project implements a native Neutron-based network, which enables OpenStack VM and Kubernetes Pods to run in the same subnet. It also utilizes Neutron L3 agent and security group to deliver network routing, and port management features.

The integration of Kuryr-Kubernetes consists of two major components:
- Kuryr Controller: Monitoring Kubernetes API to obtain Kubernetes resources status, and then allocate and manage resources based on the requirements of Kubernetes resources
- Kuryr CNI: Binding network to Pods based on Kubernetes resources allocation
This article describes how to use DevStack and Kubespray to establish a simple test environment.
Prerequisites
You can prepare two physical computers beforehand with CentOS 7.x installed, which will be run by using a flat network.

Update CentOS 7.x packages of each nodes:
$ sudo yum --enablerepo=cr update -y
Then disable and stop firewalld and SELinux to avoid problems:
$ sudo setenforce 0
$ sudo systemctl disable firewalld && sudo systemctl stop firewalld
OpenStack Controller Installation
Firstly, switch to controller node (172.24.0.34), and enter the following commands. You may execute the commands as below to create DevStack user:
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
The reason to choose DevStack is that instead of using Linux screen command, users tend to use Systemd command to manage services.
Next, you can switch to the stack user to deploy OpenStack:
$ sudo su - stack
Download DevStack package:
$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
Create a local.conf file to describe deployment information.
[[local|localrc]]
HOST_IP=172.24.0.34
GIT_BASE=https://github.com
ADMIN_PASSWORD=passwd
DATABASE_PASSWORD=passwd
RABBIT_PASSWORD=passwd
SERVICE_PASSWORD=passwd
SERVICE_TOKEN=passwd
MULTI_HOST=1
Tip:
Change HOST_IP address to your IP.
After that, execute the following command to start deployment:
$ ./stack.sh
Openstack Compute Installation
Switch to compute node (172.24.0.80), and enter the following commands.
Then, execute the following command to create DevStack user:
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
The reason to choose DevStack is that instead of using Linux screen command, users tend to use Systemd command to manage services.
Next, you can switch user to deploy OpenStack:
$ sudo su - stack
Download DevStack installation package:
$ git clone https://git.openstack.org/openstack-dev/devstack
$ cd devstack
Create a local.conf file to describe deployment information:
[[local|localrc]]
HOST_IP=172.24.0.80
GIT_BASE=https://github.com
MULTI_HOST=1
LOGFILE=/opt/stack/logs/stack.sh.log
ADMIN_PASSWORD=passwd
DATABASE_PASSWORD=passwd
RABBIT_PASSWORD=passwd
SERVICE_PASSWORD=passwd
DATABASE_TYPE=mysql
SERVICE_HOST=172.24.0.34
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client
NOVA_VNC_ENABLED=True
NOVNCPROXY_URL=”http://$SERVICE_HOST:6080/vnc_auto.html”
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN
Tips:
Change HOST_IP address to your IP.
Then, change SERVICE_HOST to IP address of master node.
After that, execute the following command to start deployment:
$ ./stack.sh
–Continue–
by 白凱仁 迎棧科技軟體工程師