Contrail Cloud Overview
Juniper Networks® Contrail® Cloud is an integrated Telco cloud platform built to run high-performance Network Functions Virtualization with always-on reliability, allowing service providers to deliver innovative services with greater agility. Contrail Cloud features Red Hat® OpenStack and Red Hat Ceph combined with Juniper Networks Contrail Networking™, thereby bridging dynamic cloud orchestration with highly scalable connectivity. Contrail Cloud leverages AppFormix, which has a built-in automation capability powered by machine learning, to monitor the cloud infrastructure and VNFs in the most optimal manner, to remediate any potential failures to ensure adherence to service-level agreements (SLAs).
The following sections define key components of Contrail Cloud and your Contrail Cloud deployment. This will give you a basic understanding of the structure and interrelations of the different Contrail Cloud components, and help you understand what happens during the deployment process. For a detailed understanding of Contrail Cloud beyond the scope of the basic deployment instructions, see Contrail Cloud Reference Architecture Guide.
Contrail Cloud Node Types
Understanding the different node types that are used in Contrail Cloudwill help you configure the YAML files for deployment.
jump host | A bare-metal hypervisor from which all Contrail Cloud deployment scripts are run. |
undercloud | A virtual machine (VM) that runs on the jump host. The undercloud deploys and configures the overcloud. |
overcloud | The overcloud is considered the production OpenStack Cloud. The overcloud includes resources for the control plane, baremetal storage nodes, and baremetal compute nodes as deployed by the undercloud. |
Contrail Command | A VM that runs on the jump host and provides the user interface for Contrail Networking. |
control host | A baremetal server on which one or more control VMs run on. |
control VMs | VMs that run on one or more control hosts. Control VMs include:
|
compute nodes | Baremetal servers on which tenant VMs run. The different compute node types include:
|
storage nodes | Baremetal servers that are loaded with storage drives for running Ceph storage software. The use of Ceph storage is optional. |
Contrail Cloud Directory Structure
Contrail Cloud is installed on the jump host and located in /var/lib/contrail_cloud/. The following is the Contrail Cloud file directory structure:
The appformix directory holds your AppFormix license and any user-defined AppFormix plugins.
The auth directory stores the overcloudrc (overcloud) and stackrc (undercloud) credential files.
The certs directory holds your SSL certificates for Contrail and OpenStack.
The config directory has all the configuration files for deploying Contrail Cloud. The configuration files are in the YAML (.yaml) file format.
The docs directory contains a copy of the Contrail Cloud Deployment Guide.This guide includes the essential steps for deploying Contrail Cloud.
The facts.d directory contains information about the Contrail Cloud environment and holds the state across Ansible runs to allow the playbooks to remember important deployment information.
The introspection directory contains detailed information about the hardware that is used and how the hardware is configured. This information is useful when planning your overall Contrail Cloud deployment. This information can also be used to verify that NICs are assigned properly, along with VLANs and bonds.
The samples directory contains sample snippets of the various YAML configuration files which can be referenced for deployment. Each snippet details a specific use case configuration. This directory also contains information about the various knobs and configuration options available, and is separated by features and scaling use cases.
The scripts directory contains various required and optional scripts that are used with Contrail Cloud, including pre-deployment verification scripts, deployment scripts, introspection and post-deployment verification tools.
The tmp directory holds the temporary files that are required by Contrail Cloud.
Configuration Files
This section briefly defines each of the configuration files that are used in your Contrail Cloud deployment. For specific configuration examples, see /var/lib/contrail_cloud/samples on the jump host. All configuration files are in the YAML file format using the Jinja2 template. All deployment configuration files are located in the /var/lib/contrail_cloud/config directory. The following configuration files are used in your Contrail Cloud deployment:
site.yml | This configuration file contains information about the specific undercloud and overcloud instance. |
inventory.yml | This configuration file is for baremetal server configuration, such as IPMI and UEFI. |
overcloud_nics.yml | You can use this configuration file to configure network options for the overcloud nodes. |
control-host-nodes.yml | You can configure the network layout for the control host server(s) in this YAML file. |
compute-nodes.yml | Configure this file to assign naming and role mapping for all computes. |
storage-nodes.yml | Define the role mapping of the storage nodes. |
vault-data.yml | This is an encrypted file that holds all sensitive user data, such as product keys and user data. |
Contrail Cloud also provides default values for all Contrail Cloud playbooks. The default values can be found in /var/lib/contrail_cloud/ansible/playbooks/default.yml. Advanced users may review this file to look for values they wish to override in their config/site.yml.
Never modify the default.yml file directly. Always apply the values from the default.yml into your config/site.yml.