OpenSDN cluster components¶
This section describes the OpenSDN, formerly Tungsten Fabric (TF), services and their distribution across the Mirantis OpenStack for Kubernetes (MOSK) deployment.
The OpenSDN services run mostly as DaemonSets in separate containers for each service. The deployment and update processes are managed by the OpenSDN Operator (TFOperator). However, Kubernetes manages the probe checks and restart of broken containers.
Configuration and control services¶
All configuration and control services run on the OpenSDN controller nodes.
Service name |
Service description |
|---|---|
|
Exposes a REST-based interface for the OpenSDN API. |
|
Provisions the node for execution of configuration services. |
|
Communicates with the cluster gateways using BGP and with the vRouter agents using XMPP, as well as redistributes appropriate networking information. |
|
Provisions the node for execution of configuration services. |
|
Using the |
|
The customized Berkeley Internet Name Domain (BIND) daemon of
OpenSDN that manages DNS zones for the |
|
Listens to configuration changes performed by a user and generates corresponding system configuration objects. In multi-node deployments, it works in the active-backup mode. |
|
Listens to configuration changes of |
|
Consists of the |
vRouter¶
The OpenSDN vRouter provides data forwarding to an OpenStack tenant instance. The OpenSDN vRouter is installed on all OpenStack compute nodes.
MOSK supports the kernel-based deployment of the OpenSDN vRouter.
Service name |
Service description |
|---|---|
|
Connects to the OpenSDN Kubernetes Controller container and the OpenSDN DNS system using the Extensible Messaging and Presence Protocol (XMPP). The vRouter Agent acts as a local control plane. Each OpenSDN vRouter Agent is connected to at least two OpenSDN Kubernete Controllers in an active-active redundancy mode. The OpenSDN vRouter Agent is responsible for all networking-related functions including routing instances, routes, and others. The OpenSDN vRouter uses different gateways for the control and data planes. For example, the Linux system gateway is located on the management network, and the OpenSDN gateway is located on the data plane network. |
|
Provisions the node for the vRouter agent execution. |
The following diagram illustrates the OpenSDN kernel vRouter set up by the TFOperator:
On the diagram above, the following types of networks interfaces are used:
eth0- for the management (PXE) network (eth1andeth2are the slave interfaces ofBond0)Bond0.x- for the MKE control plane networkBond0.y- for the MKE data plane network
Third-party services¶
Service name |
Service description |
|---|---|
|
On the OpenSDN control plane nodes, maintains the configuration data of the OpenSDN cluster. |
|
The Kubernetes operator that enables the Cassandra clusters creation and management. |
|
Stores the physical router UVE storage and serves as a messaging bus for event notifications. |
|
The Kubernetes operator that enables Redis clusters creation and management. |
|
Holds the active-backup status for the |
|
The Kubernetes operator that enables ZooKeeper clusters creation and management. |
|
Exchanges messages between API servers and original request senders. |
|
The Kubernetes operator that enables RabbitMQ clusters creation and management. |
Plugin services¶
All OpenSDN plugin services are installed on the OpenStack Controller (Rockoon) nodes.
Service name |
Service description |
|---|---|
|
The Neutron server that includes the OpenSDN plugin. |
|
The Octavia API that includes the OpenSDN Octavia driver. |
|
The Heat API that includes the OpenSDN Heat resources and templates. |
Image precaching DaemonSets¶
Along with the OpenSDN services, MOSK deploys and
updates special image precaching DaemonSets when the kind TFOperator
custom resource is created or image references in it get updated.
These DaemonSets precache container images on Kubernetes nodes minimizing
possible downtime when updating container images. Cloud operator can
disable image precaching through the TFOperator custom resource.
See also