- play_arrow Overview
- play_arrow Understanding Contrail Controller
-
- play_arrow Configuring Contrail
- play_arrow Configuring Virtual Networks
- Creating Projects in OpenStack for Configuring Tenants in Contrail
- Creating a Virtual Network with Juniper Networks Contrail
- Creating a Virtual Network with OpenStack Contrail
- Creating an Image for a Project in OpenStack Contrail
- Creating a Floating IP Address Pool
- Using Security Groups with Virtual Machines (Instances)
- Support for IPv6 Networks in Contrail
- Configuring EVPN and VXLAN
- Support for EVPN Route Type 5
- play_arrow Example of Deploying a Multi-Tier Web Application Using Contrail
- play_arrow Configuring Services
- play_arrow Configuring Service Chaining
- play_arrow Examples: Configuring Service Chaining
- play_arrow Adding Physical Network Functions in Service Chains
- play_arrow QoS Support in Contrail
- play_arrow BGP as a Service
- play_arrow Load Balancers
- play_arrow Optimizing Contrail
-
- play_arrow Contrail Security
- play_arrow Contrail Security
-
- play_arrow Monitoring and Troubleshooting Contrail
- play_arrow Configuring Traffic Mirroring to Monitor Network Traffic
- play_arrow Understanding Contrail Analytics
- play_arrow Configuring Contrail Analytics
- Analytics Scalability
- High Availability for Analytics
- System Log Receiver in Contrail Analytics
- Sending Flow Messages to the Contrail System Log
- Ceilometer Support in a Contrail Cloud
- User Configuration for Analytics Alarms and Log Statistics
- Alarms History
- Node Memory and CPU Information
- Role- and Resource-Based Access Control for the Contrail Analytics API
- Configuring Analytics as a Standalone Solution
- Configuring Secure Sandesh and Introspect for Contrail Analytics
- play_arrow Using Contrail Analytics to Monitor and Troubleshoot the Network
- Monitoring the System
- Debugging Processes Using the Contrail Introspect Feature
- Monitor > Infrastructure > Dashboard
- Monitor > Infrastructure > Control Nodes
- Monitor > Infrastructure > Virtual Routers
- Monitor > Infrastructure > Analytics Nodes
- Monitor > Infrastructure > Config Nodes
- Monitor > Networking
- Query > Flows
- Query > Logs
- Understanding Flow Sampling
- Example: Debugging Connectivity Using Monitoring for Troubleshooting
- play_arrow Common Support Answers
-
- play_arrow Contrail Commands and APIs
- play_arrow Contrail Commands
- play_arrow Contrail Application Programming Interfaces (APIs)
-
Installing and Managing Contrail 5.0 Microservices Architecture Using Helm Charts
Contrail Release 5.0 introduces microservices architecture. This section provides an overview of using Helm charts when installing Contrail with a microservices architecture. Contrail Helm charts work together with OpenStack Helm for an OpenStack Contrail deployment. For an introduction to Contrail microservices, refer to Introduction to Contrail Microservices Architecture.
Understanding Helm Charts
Helm is the package manager for Kubernetes, an open source software for managing containerized systems. The packaging format used by Helm is a chart, a collection of files that describe a related set of Kubernetes resources. Helm charts enable you to define, install, and configure your Kubernetes application. A chart can be used to deploy something simple, like a memcached pod, or something complex, like a full web application stack complete with HTTP servers, databases, and the like.
Starting with Contrail Release 5.0, Contrail Helm charts give you complete life cycle management of installation, update, and delete of Contrail Docker-based containers in a microservices architecture.
The Contrail Helm deployer supports deploying Contrail for OpenStack.
Contrail Helm Deployer Charts
The Contrail Helm deployer uses the following charts.
helm-toolkit chart
Contains common templates and functions that are used by every other Contrail Helm chart.
contrail-thirdparty chart
Defines and deploys third party containers as Kubernetes resources for Contrail, including:
RabbitMQ
ZooKeeper
Cassandra
Kafka
Redis
contrail-controller chart
Deploys and manages Contrail components as Kubernetes resources, including:
control
config
webui
contrail-analytics chart
Deploys and manages Contrail analytics components as Kubernetes resources.
contrail-vrouter chart
Deploys and manages Contrail vrouter components as Kubernetes resources.
contrail-superset chart
A superset of all other Contrail Helm charts, can be used to install all Kubernetes resources defined in other Contrail charts.
Contrail Kubernetes Resource implementation
All Contrail Helm charts follow a similar approach to implementing
Kubernetes resources. For each of the Contrail Release 5.0 containers,
configuration input is given as an environment variable in the file values.yaml
. Use the variable .Values.contrail_env
to define environment variables for the containers.
contrail_env: CONTROLLER_NODES: <Controller-Nodes-IP-Address> LOG_LEVEL: SYS_NOTICE CLOUD_ORCHESTRATOR: openstack AAA_MODE: cloud-admin
All of the environment variables are stored in Kubernetes resources called configmaps. The configmaps are loaded into specific containers as environment variables.
Because Contrail is an infrastructure-level application, every pod of Contrail is hosted on the host network namespace. Consequently, the daemonset controller is used to define all Contrail pods, so that each of the Contrail pods are brought up on different nodes to avoid port conflicts.
Example: Contrail Pods Deployment Options
By default, the contrail-thirdparty
Helm chart creates a separate pod for each of the third party services.
pods: - contrail-control containers: - contrail-control - contrail-dns - contrail-named - control-nodemgr - contrail-config containers: - config-api - schema-transformer - svc-monitor - device-manager - config-nodemgr - contrail-webui containers: - contrail-webui - contrail-middleware - contrail-analytics containers: - analytics-api - analytics-colletor - snmp-collector - query-engine - alarm-gen - contrail-topology - contrail-vrouter containers: - vrouter-kernel/vrouter-dpdk/vrouter-sriov - vrouter-agent - vrouter-nodemgr