Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Contrail Cloud Overview

Juniper Networks® Contrail Cloud provides cloud service providers with a bundled solution to build cloud platform infrastructures. Contrail Cloud simplifies your network by integrating multiple software components into a bundle with pre-configured files that you can install on multiple devices using a single installation procedure. The bundle includes:

  • Red Hat OpenStack

  • Red Hat Ceph Storage

  • Juniper Networks Contrail Networking

  • Juniper Networks Contrail Insights (formerly known as AppFormix)

  • Pre-configured YAML files to simplify the initial configuration procedure, and Ansible scripts to deploy configurations made in the YAML files.

A Contrail Cloud environment includes servers that function as non-blocking compute nodes, storage nodes, and a variety of management nodes that are used to manage components for the compute and storage nodes and these nodes are interconnected to one another and connect to the fabric to connect to the larger network.

The following sections define the key compont of Contrail Cloud and how to deploy it. For a detailed understanding of Contrail Cloud beyond the scope of the basic deployment, see the Contrail Cloud Reference Architecture Guide.

Contrail Cloud Node Types

Table 1 describes the types of nodes used in Contrail Cloud. Understanding the different node types will help you configure the YAML files for deployment.

Table 1: Contrail Cloud Node Types

Node Type

Definition

jump host (also known as the Contrail Cloud host)

Physical hypervisor from which all Contrail Cloud deployment scripts are run.

undercloud

Provisions and manages all nodes in the overcloud (controller, compute, and storage nodes). The undercloud runs as a virtual machine (VM) on the jump host.

RHV Manager

Controller for the control host hypervisors that resides as a VM on the jump host. It is the core component of Red Hat's server virtualization platform and manages the control hosts and their resources.

overcloud

Includes the resources for the control plane, baremetal storage nodes, and baremetal compute nodes as deployed by the undercloud. Considered the production OpenStack Cloud.

control host

Baremetal (physical) server on which one or more control VMs run on. The servers host all OpenStack, Contrail Networking, and Contrail Insights control functions.

control VMs

VMs that run on one or more control hosts. The control VMs include:

  • OpenStack controller

  • Contrail Insights controller

  • Kubernetes (also known as K8s)

The K8s control hosts include:

  • Contrail controller

  • Contrail analytics

  • Contrail analytics database

  • Contrail Web UI

compute nodes

Baremetal servers on which tenant VMs run. The three types of compute nodes are:

  • Kernel

  • DPDK (data plane development kit):

  • Single Root I/O Virtualization and Sharing (SR-IOV) ports

storage nodes

Baremetal servers loaded with storage drives for running Ceph storage software (optional).

Contrail Cloud Directory Structure

Table 2 describes the file directory structure and YAML file parameters used in Contrail Cloud.

Contrail Cloud is installed on the jump host and resides in the /var/lib/contrail_cloud/ directory.

Table 2: Contrail Cloud Directory Structure

Directory

Description

ansible

Contains the configuration management automation for Contrail Cloud.

appformix

Holds the Contrail Insights license and any user-defined Contrail Insights plugins.

Note:

Appformix was renamed to Contrail Insights, however the directory name is still called appformix.

auth

Stores the overcloudrc (overcloud) and stackrc (undercloud) credential files.

certs

Holds the SSL certificates for Contrail and OpenStack.

config

Contains all the configuration files for deploying Contrail Cloud. The configuration files are in the YAML file format.

facts.d

Contains information about the Contrail Cloud environment and holds the state across Ansible invocations to allow the playbooks to remember important deployment information.

introspection

Contains detailed information about the hardware that is used and the hardware configuration. You can use this information when planning your overall Contrail Cloud deployment and to verify that NICs are assigned properly, along with VLANs and bonds.

samples

Contains sample snippets of the various YAML configuration files that you can reference 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.

scripts

Contains various required and optional scripts used with Contrail Cloud, including pre-deployment verification scripts, deployment scripts, introspection and post-deployment verification tools.

tmp

Holds the temporary files required by Contrail Cloud.

Contrail Cloud Configuration Files

Table 3 describes the configuration files you use in your Contrail Cloud deployment. All configuration files are in the YAML file format and use the Jinja2 template. The files reside in the /var/lib/contrail_cloud/config directory. For specific configuration examples, see the /var/lib/contrail_cloud/samples directory on the jump host.

Table 3: Contrail Cloud Configuration Files

YAML configuration files

Description

site.yml

Contains information about the specific undercloud and overcloud instance.

inventory.yml

Configuration file for baremetal (physical) server configuration, such as IPMI and UEFI hardware standards.

overcloud_nics.yml

Use to configure network options for the overcloud nodes.

control-host-nodes.yml

Use to configure the network layout for the control host server(s).

k8s-host-nodes.yml

Use to configure the network layout for the Kubernetes host nodes.

compute-nodes.yml

Use to assign naming and role mapping for all compute nodes.

storage-nodes.yml

Defines the role mapping of the storage nodes.

vault-data.yml

Encrypted file that holds all sensitive user data, such as passwords, product keys and user data.

Contrail Cloud also provides default values for all Contrail Cloud playbooks. The default values reside in the default.yml directory (/var/lib/contrail_cloud/ansible/playbooks/default.yml). If you are an advanced user, you can use this file to look for values you may want to override in your config/site.yml configuration file.

Note:

Never modify the default.yml file directly. Always apply the customized values from your config/site.yml configuration file.

Navigating Contrail Cloud

Table 4 describes how to navigate Contrail Cloud using the CLI and Web UI.

Table 4: Navigating Contrail Cloud

Service

From

Cloud Endpoint

Description

SSH

your computer

jumphost

as contrail user

The default password is c0ntrail123.

SSH

jumphost

as contrail user

undercloud

as stack user

SSH keys provide password-less access.

SSH

jumphost

as contrail user

control hosts

as contrail user

SSH keys provide password-less access.

SSH

jumphost

as contrail user

K8s hosts

as contrail user

SSH keys provide password-less access.

SSH

jumphost

as contrail user

RHV Manager

as contrail user

SSH keys provide password-less access.

SSH

undercloud

as stack user

overcloud hosts

as heat-admin

SSH keys provide password-less access.

RHV Manager Web UI

your computer

https://<jumphost>

as admin user

The default password is c0ntrail123.

kubectl

k8s hosts

as root user

Used to manage Kubernetes and pods from k8s hosts.

crictl

k8s hosts

k8s hosts

as root user

Used to manage images and containers from k8s hosts. (see Debugging Kubernetes nodes with crictl)

undercloud OpenStack CLI

undercloud

as stack user

source /home/stack/stackrcUsed for RHOSP director OpenStack services.

overcloud OpenStack CLI

undercloud

as stack user

source /home/stack/overcloudrcUsed for RHOSP overcloud OpenStack services.

overcloud Contrail Web UI

your computer

https://<contrail VIP>:8443

with admin user

Web browser access to the Contrail UI.The default password is c0ntrail123.

overcloud Contrail Command Web UI

your computer

https://<contrail VIP>:9443

with admin user

Web browser access to the Contrail UI. The default password is c0ntrail123.

Note:

Not deployed by default.

overcloud Horizon Web UI

your computer

https://<overcloud VIP>

with admin user

Web browser access to the Openstack Horizon UI.The default password is c0ntrail123.

overcloud HAProxy stats

your computer

https://<control plane>:1993

with admin user

HAProxy traffic stats exposed on each OpenStack control node’s control plane interface.

The password is autogenerated. See /var/lib/config-data/ puppet-generated/ haproxy/etc/ haproxy/haproxy.cfg on the control nodes).

Contrail Insights Web UI

your computer

https://<appformix vip>:9000

with admin user

Web browser access to the Contrail Insights UI.The default password is c0ntrail123.