Merge "Add basic docs about nested mode"
2 months ago
Gerrit Code Review
3 changed files
Download Patch File
Download Diff File
@ -13,6 +13,7 @@ Contents
@ -1,3 +1,5 @@
Kuryr installation as a Kubernetes network addon
@ -0,0 +1,65 @@
Kuryr-Kubernetes nested VLAN mode
Kuryr-Kubernetes can work in two basic modes - nested and standalone. The main
use case of the project, which is to support Kubernetes running on OpenStack
VMs is implemented with nested mode. The standalone mode is mostly used for
This document describes nested VLAN mode.
Nested VLAN mode requires Neutron to have
extension enabled, which adds
trunk port functionality to Neutron API.
This mode aims at use case of kuryr-kubernetes providing networking for a
Kubernetes cluster running in VMs on OpenStack.
A natural consideration here is running kuryr-kubernetes in containers on
that K8s cluster. For more see
The principle of nested VLAN is that Kuryr-Kubernetes will require that main
interface of the K8s worker VMs is a trunk port. Then each of the pods will
get a subport of that attached into its network namespace.
How to configure
You need to set several options in the kuryr.conf:
default_driver = kuryr.lib.binding.drivers.vlan
# Name of the trunk port interface on VMs. If not provided Kuryr will try
# to autodetect it.
link_iface = ens3
pod_vif_driver = nested-vlan
vif_pool_driver = nested # If using port pools.
# ID of the subnet in which worker node VMs are running.
worker_nodes_subnet = <id>
Also if you want to run several Kubernetes cluster in one OpenStack tenant you
need to make sure Kuryr-Kubernetes instances are able to distinguish their own
resources from resources created by other instances. In order to do that you
need to configure Kuryr-Kubernetes to tag resources with unique ID:
resource_tags = <unique-id-of-the-K8s-cluster>