Cong Phuoc Hoang be9e41e11f Add supporting Kubernetes to devstack
This patch describes the way to install Kubernetes VIM via Devstack and
register Kubernetes VIM in Tacker.

Tacker reuses the efforts from Kuryr-Kubernetes project to create
Kubernetes cluster. This patch also sets up native Neutron-based networking
between Kubernetes and OpenStack VIMs to connect VM based and container based
VNFs together, that bring hybrid deployment SFC in the future.

Partially Implements: blueprint kubernetes-as-vim

Change-Id: Idf04f012c6daf93a33ad89a5a7c737f3668eb405
2017-11-11 00:52:00 +09:00

79 lines
3.0 KiB
Plaintext

TACKER_MODE=${TACKER_MODE:-all}
USE_BARBICAN=True
KUBERNETES_VIM=${KUBERNETES_VIM:-False}
if [ "${TACKER_MODE}" == "all" ]; then
# Nova
disable_service n-net
VIRT_DRIVER=libvirt
#enable_service q-lbaas
#enable_service q-fwaas
# TACKER_NEUTRON_AGENTS can be disabled by adding
# TACKER_NEUTRON_AGENTS='' in local.conf if neutron agents are running on a separate node
TACKER_NEUTRON_AGENTS=${TACKER_NEUTRON_AGENTS:-q-agt,q-dhcp,q-meta,q-l3}
for i in $(echo $TACKER_NEUTRON_AGENTS | sed 's/,/ /g')
do
enable_service $i
done
enable_service q-svc
enable_service neutron
enable_service tacker
# enable tacker-conductor will make systemctl enable conductor service
enable_service tacker-conductor
# tacker-horizon isn't installable from pip
LIBS_FROM_GIT=tacker-horizon
MGMT_PHYS_NET=${MGMT_PHYS_NET:-mgmtphysnet0}
BR_MGMT=${BR_MGMT:-br-mgmt0}
NET_MGMT=${NET_MGMT:-net_mgmt}
SUBNET_MGMT=${SUBNET_MGMT:-subnet_mgmt}
FIXED_RANGE_MGMT=${FIXED_RANGE_MGMT:-192.168.120.0/24}
NETWORK_GATEWAY_MGMT=${NETWORK_GATEWAY_MGMT:-192.168.120.1}
NETWORK_GATEWAY_MGMT_IP=${NETWORK_GATEWAY_MGMT_IP:-192.168.120.1/24}
NET0=${NET0:-net0}
SUBNET0=${SUBNET0:-subnet0}
FIXED_RANGE0=${FIXED_RANGE0:-10.10.0.0/24}
NETWORK_GATEWAY0=${NETWORK_GATEWAY0:-10.10.0.1}
NET1=${NET1:-net1}
SUBNET1=${SUBNET1:-subnet1}
FIXED_RANGE1=${FIXED_RANGE1:-10.10.1.0/24}
NETWORK_GATEWAY1=${NETWORK_GATEWAY1:-10.10.1.1}
if [ "${KUBERNETES_VIM}" == "True" ]; then
K8S_PHYS_NET=${K8S_PHYS_NET:-"k8s-physnet"}
BR_K8S=${BR_K8S:-"br-k8s0"}
NET_K8S=${NET_K8S:-"k8s-public-net"}
SUBNET_K8S=${SUBNET_K8S:-"public-subnet"}
FIXED_RANGE_K8S=${FIXED_RANGE_K8S:-192.168.28.0/22}
NETWORK_GATEWAY_K8S=${NETWORK_GATEWAY_K8S:-192.168.28.1}
NETWORK_GATEWAY_K8S_IP=${NETWORK_GATEWAY_K8S_IP:-192.168.28.1/24}
KURYR_NEUTRON_DEFAULT_PROJECT="admin"
Q_ROUTER_NAME="route-k8s"
KURYR_NEUTRON_DEFAULT_ROUTER=${KURYR_NEUTRON_DEFAULT_ROUTER:-$Q_ROUTER_NAME}
SUBNETPOOL_NAME_V4=${SUBNETPOOL_NAME:-"shared-default-subnetpool-v4"}
SUBNETPOOL_SIZE_V4=${SUBNETPOOL_SIZE_V4:-26}
SUBNETPOOL_V4_ID=${SUBNETPOOL_V4_ID:-} #nqa
enable_service q-lbaasv2
enable_service etcd3
enable_service kubernetes-api
enable_service kubernetes-controller-manager
enable_service kubernetes-scheduler
enable_service kubelet
enable_service kuryr-kubernetes
NEUTRON_LBAAS_SERVICE_PROVIDERV2="LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default"
fi
elif [ "${TACKER_MODE}" == "standalone" ]; then
# set the enabled services here. This will need tacker devstack plugin put as the last one in local.conf
ENABLED_SERVICES=key,horizon,tacker,tacker-conductor,mysql,dstat,barbican,mistral,mistral-api,mistral-engine,mistral-executor,mistral-event-engine
else
die $LINENO "invalid value: $TACKER_MODE for TACKER_MODE"
fi