Provisioning and managing your Content Runtime infrastructure

Complete the following steps to configure your Content Runtime environment.

About this task

The Content Runtime is a virtual machine. A Chef server is installed on the virtual machine as part of the configuration of the Content Runtime. Two docker containers are installed on the machine to help communicate with the Chef server and to manage the software repository.

There are four templates:

  • VMware
  • Other
  • IBM
  • Amazon

The VMware template deploys a virtual machine to the target VMware vSphere cloud. The Other template deploys the Content Runtime to an existing virtual machine. This allows you to instantiate a virtual machine and perform as much or as little configuration as needed to create the Content Runtime. IBM and Amazon templates use a cloud provided Ubuntu 14.04 image as a deployment virtual machine.

The configuration process installs the following components on the Content Runtime virtual machine:

  • Chef server
  • Docker runtime
  • Pattern manager docker container
  • Software repository docker container

These components are illustrated in Figure 2. Components on the Content Runtime virtual machine.

Content Runtime
Figure. Components on the Content Runtime virtual machine

After you complete the task, you must populate the software repository on the file system of the Content Runtime virtual machine. See Populating the Software Repository and Populating the Install Manager Repository for more details.

Selecting a template

Before selecting a template, consider the following:

  • VMware

    Beside the common parameters listed in the following section, you must have all the information needed to instantiate a virtual machine through the VMware vCenter. This information is entered in the Content Runtime template. The parameters are listed in the following Common Parameter Values section.

  • Amazon Web Services

    When deploying an AWS EC2 instance, information such as the region (for example us-east-1), a VPC subnet ID and a security group ID will be required besides the common parameters. A private IP address associated to the provided subnet is optional.

    Note When providing a Key Name for Pattern Manager key set, the key needs to be created manually in the AWS EC2 dashboard. This can be done by accessing the Key Pairs page. Click Import Key Pair and provide the public key associated to the Pattern Manager. Selecting Create Key Pair will generate a key which is not supported by the system.

  • IBM Cloud

    An IBM Datacenter, such as dal09 for Dallas 09, will be required alongside hardware specifications. The default values for these specifications are the minimum recommended for a Content Runtime deployment, but they can be tweaked. Optional settings include the ability to associate a portable IP address to the virtual machine.

  • Other

    Beside the common parameters, the Other template allows you to provide the IP address of an existing virtual machine and login credentials to the Content Runtime template. An existing VMware vCenter, Amazon Web Services or IBM Cloud account can be used to manually create a virtual machine to be used. This may be the easiest solution for first time users.

Input parameter

For more information about public and private keys, see SSH Keys and related input required while deploying content runtime. Deploying a content runtime requires the following categories of parameters:

  • For the cloud connection name, see Managing connections

  • Connection information for the virtual machine: operating system credentials for the template

  • New passwords and passphrases for the software repository content and pattern manager REST services

  • SSH public and private keys for the pattern manager. It can be generated with the following commands:

    • In Mac OS:

      ssh-keygen -t rsa -f [output_keyfile] -N "" -C "";base64 [output_keyfile] > [output_keyfile].enc
      
    • In Unix:

      ssh-keygen -t rsa -f [output_keyfile] -N "" -C ""; base64 -w 0 [output_keyfile] > [output_keyfile].enc
      

    The [output_keyfile].enc output file is the encoded private key used. The [output_keyfile].pub file is the public key. The content of these files are used as input to the template.

    Note:

    • Pattern manager can only communicate with Linux guests. Even if cygwin is present, the Windows operating system is not supported.
    • For AWS and IBM Cloud, the generated public key must be imported as an SSH key pair. The name of this key pair will be used for part of the deploy process.
    • The pattern manager SSH public and private key must be a RSA key. The ED25519 algorithm (OpenSSH key) is not supported.

Parameter values which are grayed out are immutable values that are displayed as part of the Content Runtime template for informational value only.

The virtual machine must have a connection to the internet for the duration of the configuration process.

Template variables

The following tables contain a list of values which are required for creating the Content Runtime. In the first table, there are the values which are common for all providers followed by a table for specific values for each cloud provider.

Procedure

  1. Start the creation process by displaying the menu in the Managed services user interface.
  2. Select Manage > Content runtimes.
  3. Click Create content runtime.
  4. Select a namespace value from the Namespace drop-down list.
  5. Enter a name for your Content Runtime. This name is used for selecting environment value to inject, so the name should be descriptive of the environment.
  6. Select the Cloud Provider.
  7. Select a value from the Runtime drop-down list. The values populated in the list are dependent on your cloud provider.
  8. Click Create.
  9. Select a cloud connection from the Cloud connection drop-down list.
  10. Enter the remaining values for your Cloud Provider.
  11. Click Deploy.

Result

  • A virtual machine is created. The Content Runtime is configured on the virtual machine.
  • Two disks are created:
    • 100 GB disk with mount point /opt/ibm/docker/software-repo
    • 25 GB root/boot disk
    • Optional: 40 GB Docker direct-lvm mode (only supported in the Other template, see Production Docker for more information)
  • Docker-compose is installed on the machine to manage Docker images.
  • Docker runs on the machine, with the following containers:
    • Pattern manager Docker container
    • Software Repository Docker container
  • Cookbooks are pulled from GitHub and uploaded to the Chef server.
  • When you deploy a new advanced content runtime, a data object containing it's meta-data is created. The name of the data object is same as the content runtime name and is of type advanced_content_runtime_chef Data Type. The namespace of the data object is same as the namespace of the content runtime. Optionally, if you want this data object to be available to middleware template deployments that are in a different namespaces, then make this data object as globally accessible.

If any problem occurs, see Troubleshooting and known issues.

Search for content runtimes

In Content runtimes page, you can use the following methods to search for content runtimes:

  • When you want to view Content runtimes of a particular namespace, select a namespace from the drop-down list. The list of content runtimes in the page changes based on the selected namespace. You can also select "All namespaces" to see all content runtimes for which you have access.
  • You can enter text in Search items to filter the content runtime list.
  • You can use the show filter icon next to search text to filter records based on provider type.

Production Docker

Docker recommends configuring direct lvm mode for production environments External link icon.

The following two methods can be used to allow the Content Runtime to configure production docker:

  1. Other template

    • Define a third disk of 40 GB before configuring the Content Runtime virtual machine. This method only works on machines that are not already configured.
  2. On an existing Content Runtime virtual machine.

    • Add a 40 GB disk.
    • Delete the daemon.json with the command sudo rm /etc/docker/daemon.json.
    • Execute the command ~/advanced-content-runtime/launch-docker-compose.sh.

Note: There is an underlying option missing on the lvcreate command on Ubuntu 14.04, therefore the Content Runtime does not attempt to configure direct-lvm on Ubuntu 14.04.

What to do next

  • After the Content Runtime is deployed, you can log in to the Content Runtime virtual machine either by using the password or by using the SSH key.

    VMWare Cloud

    To log in to the Content Runtime deployed on VMWare, use the password if you had provided one during the deployment or use the SSH private key that is associated with the SSH public key. This SSH public key is the value you provided for input User’s Public Key.

    IBM Cloud

    To log in to the content runtime deployed on IBM Cloud, do the following steps:

    1. Click the Output variables link in the Content Runtime deployed instance details page.
    2. Copy the value of Private Key for Content Runtime virtual machine by using the copy icon.
    3. Save the copied contents to a file and use this private key to SSH into the virtual machine. Alternatively, if you had provided a value for User’s Public Key, then you can use the private key associated with this value.

    Amazon Cloud

    To log in to the content runtime deployed on IBM Cloud, do the following steps:

    1. Click the Output Variables link in the Content Runtime deployed instance details page.
    2. Copy the value of Private Key using the copy icon.
    3. Save the copied contents to a file and use this private key to SSH into the virtual machine. Alternatively, if you had provided a value for User’s Public Key, then you can use the private key associated with this value.
  • You must complete the Software Repository configuration step as described in Software repository configuration.