Deep Dive into OpenStack Kuryr

Understanding OpenStack's Container Networking Service

Featured image

Image Reference link



Understanding OpenStack Kuryr

Kuryr is OpenStack’s container networking service that directly connects container networks with Neutron.

It enables container environments like Kubernetes and Docker to utilize OpenStack’s native networking capabilities, providing consistent network policies and eliminating the need for separate network management.


What is Kuryr?


The Container Networking Bridge

Kuryr serves as OpenStack’s container networking integration service, providing essential functionality:

By bridging container networks with OpenStack networking, Kuryr provides a unified network management solution for containerized applications.


Kuryr Architecture Overview (Diagram Description)

graph LR A[OpenStack Kuryr] A --> B[Core Features] A --> C[Service Integration] A --> D[Network Management] A --> E[Performance] B --> B1[Neutron Integration] B --> B2[CNI Plugin] B --> B3[Multi-tenancy] C --> C1[Kubernetes] C --> C2[Docker] C --> C3[Neutron] D --> D1[Port Management] D --> D2[Security Groups] D --> D3[Load Balancing] E --> E1[VIF Direct] E --> E2[SR-IOV] E --> E3[Network Optimization] style A stroke:#333,stroke-width:1px,fill:#f5f5f5 style B stroke:#333,stroke-width:1px,fill:#a5d6a7 style C stroke:#333,stroke-width:1px,fill:#64b5f6 style D stroke:#333,stroke-width:1px,fill:#ffcc80 style E stroke:#333,stroke-width:1px,fill:#ce93d8



Kuryr Architecture and Components

Kuryr’s architecture consists of several key components that work together to provide container networking capabilities.

Each component plays a specific role in network integration and management.


Core Components

Component Role Description
Kuryr Controller Resource Management
  • Monitors Kubernetes resources
  • Manages Neutron resource creation/deletion
  • Handles network policy updates
  • Coordinates service integration
Kuryr CNI Network Interface
  • Configures container network interfaces
  • Manages pod network connectivity
  • Handles network policy enforcement
  • Supports VIF Direct configuration
Neutron Integration Network Service
  • Provides network resources
  • Manages security groups
  • Handles load balancing
  • Controls network policies


Service Integration

Kuryr integrates with several container platforms:

This integration enables comprehensive container networking within the OpenStack ecosystem.



Key Features and Capabilities

Kuryr provides comprehensive container networking capabilities that enable effective network management and integration.

These features make it a powerful tool for container networking in OpenStack environments.


Core Features

Feature Description Benefits
Neutron Integration Native OpenStack networking
  • Unified network management
  • Consistent security policies
  • Resource reuse
Multi-tenancy Project-based isolation
  • RBAC support
  • Network isolation
  • Resource separation
Performance VIF Direct support
  • Enhanced throughput
  • Reduced latency
  • Hardware acceleration

Best Practices

Key considerations for Kuryr deployment:

These practices ensure reliable and maintainable container networking.



Implementation and Usage

Effective implementation of Kuryr requires proper configuration and integration with container platforms.

Here are key considerations and best practices for utilizing Kuryr effectively.


Common Operations

Operation Description Command
Cluster Setup Configure Kuryr CNI openstack coe cluster template create --network-driver kuryr
Status Check Verify Kuryr deployment kubectl get pod -n kube-system | grep kuryr
Port Management List container ports openstack port list --device-owner kuryr


Use Cases

Kuryr is particularly useful for:

These use cases demonstrate Kuryr’s flexibility and integration capabilities.



Advanced Configuration (Production Hardening)


Network Models Matrix

Scenario Recommendation Notes
High Throughput VIF Direct or SR‑IOV Requires NIC/host support; bypasses kernel bridges
Multi‑tenant Isolation Neutron provider networks + security groups Project‑scoped subnets/routers; RBAC on SGs
Policy Control Neutron security groups mapped from K8s NetworkPolicy Define default‑deny and explicit allows
North‑South Access Octavia LBaaS for Service type=LoadBalancer Align health checks and timeouts with app SLOs


Performance Tuning


High Availability (HA)

Layer Recommendation Notes
Kuryr Controller 2+ replicas with leader election Monitor reconciliation lag
Message/DB HA RabbitMQ / Galera (for Neutron) Observe queue depth and DB latency
LBaaS Octavia active/standby amphorae Health checks, AZ spread


Security & Compliance


Observability & Operations


CI/CD for Manifests


Troubleshooting Playbook (Quick Checks)



Key Points

Kuryr Essentials
  • Core Functionality
    - Container networking integration
    - Neutron native networking
    - Multi-tenancy support
    - Performance optimization
  • Key Features
    - CNI plugin support
    - Security group integration
    - Load balancer integration
    - VIF Direct support
  • Best Practices
    - Network architecture planning
    - Performance tuning
    - Security configuration
    - Monitoring setup



References