Create Container Server

Container server creation process is similar to virtual server creation. The difference is that a specific default template is used automatically during container server creation. You also need to set the cloud-config for your container server. To create a container server:

  1. Go to your Control Panel > Cloud > Container Servers menu and click the "+" button, or click the Create Container Server button at the bottom of the screen. This will start a container server creation wizard.
  2. Fill in the wizard step by step. Each of these steps is described in the corresponding sections below.
  3. Click the Create Container Server button to start the creation process. You will be taken to the container server details screen.

Step 1 of 6. Cloud Locations



The Cloud Locations step applies to those users who have Compute zones assigned to location groups in their bucket. This step will be present in the wizard if both of the following requirements are met:

  • all compute resources available to the user are assigned to location groups
  • compute resources are assigned to different locations

If the user's bucket has several Compute zones, some of which are assigned to location groups, whereas others are not - the cloud locations screen will not be available in the wizard. Also if all compute zones are assigned to the same location this step will be skipped. In this case the wizard will start with the Properties step.

Indicate your container server's cloud location:

  • Country -  choose the country, where the cloud is located, from the drop-down menu.
  • City - specify the city, where the cloud is located, from the drop-down menu.

Click Next to proceed to the following step of the wizard to specify the container server properties.


Step 2 of 6. Properties



At this step you need to indicate your container server's properties, such as label, password and other. You can create a container server having specified only the required parameters and configure it later.

Specify the following container server properties:

  • Label - the label of the container server. The required parameter.
  • Hostname - the hostname of the container server. The required parameter. The hostname should consist of letters [A-Z a-z], digits [0-9] and dash [ - ]. For more info on hostname validation, refer to RFC standard documentation.

  • Domain - specify the domain for this VS. The default value is localdomain. This parameter is not applicable to Windows virtual servers. 

    For example:
    test.onapp.com - specify 'test' as hostname, 'onapp.com'-  as domain. If you leave the domain field blank, the default value 'localdomain' will be used and you will get the following - test.onapp.com.localdomain.
  • Password - a secure password for the VS. It can consist of 6-99 characters, letters [A-Z a-z], digits [0-9], dash [ - ] and lower dash [ _ ], and the following special characters: ~ ! @ # $ * _ - + = ` \\ { } [ ] : ; ' , . ? /. You can use both lower- and uppercase letters. If you leave password field blank, it will be generated automatically.

  • Password confirmation - repeat the password to confirm it.
  • Encrypt password - move the Encrypt Password slider to the right, to encrypt your password, then enter an encryption key in the field that appears.

Click Next to proceed to the following step of the wizard to specify the container server resources.


Step 3 of 6. Resources



Compute Resources

  • Compute Zone - the Compute zone to build the container server on
  • Compute Resource - the specific Compute resource to build the container server on. Compute resource may be selected automatically according to the set provisioning type.


Resources

  • RAM - set the amount of container server's RAM. The maximum RAM depends on your bucket's settings. The maximum RAM that can be assigned to a container server is 168 GB regardless of the Max RAM value set in the bucket. The maximum RAM that can be assigned to a container server built on a XEN 32bit (x86) template is 16 GB.
  • CPU Cores - set the amount of container server's CPU cores. For KVM compute resources, this parameter sets CPU sockets by default, unless CPU topology is enabled.
  • CPU Priority (or CPU Units) - set container server's CPU priority. If the CPU units are switched on in the bucket for this user, then CPU priority is replaced with CPU units.

The following options are available for container servers based on KVM Compute resources only, providing the Enable CPU topology permission is switched on for the user.

  • Use CPU Topology - move the slider to the right, to set the following parameters:
    • CPU Sockets - set the amount of sockets.

    • CPU Threads - set the amount of threads per core. 

CPU topology (CPU sockets and CPU threads) is the Labs feature preview. Pay attention that setting CPU sockets and CPU threads are at your own risk only!

You may face the following problems when setting CPU topology:

  • Currently you cannot set CPU sockets and threads parameters for existing container servers.
  • After setting, the new parameters won't be shown at the container server details screen.
  • Some container servers fail to boot up.

Primary Disk

  • Data Store Zone - choose a data store zone for container server's primary disk.
  • Primary disk size -  set the primary disk size.

Swap Disk

  • Data Store Zone - choose a data store zone for container server's swap disk.
  • Swap disk size - set the swap disk size. Swap disk size must be greater than zero.
  • Disable - select the checkbox to disable a swap disk.

Network Configuration

  • Network Zone - choose a network zone from the drop-down box.
  • Network - choose the network from which the container server should get the IP address.
  • Selected IP address - select the IP address for the container server from the drop-down list
  • Show only my IP address - tick this checkbox to view only own IP addresses in the IP addresses dropbox.
  • Port Speed - set the port speed for this VS
  • Since not every application supports IPv6, at least one IPv4 address must be allocated to a VS's primary network interface. 

  • You can't select unlimited port speed if the Network Zone is not selected. In this case the port speed will be 1 by default.
    It's possible to create a container server with unlimited network speed without selecting a network zone only if you have only one Network Zone assigned to your bucket.

Click Next to proceed to the following step of the wizard where you can specify the container server recipes.


Step 4 of 6. Recipes



At this step you need to indicate the recipes you want to assign to your container server. This step is optional. You can create a container server without choosing recipes and add them later if required.
  1. Choose a recipe you want to assign to this container server by dragging the required recipe to the Assigned recipes pane. 
  2. To add a custom variable, click the "+" button next to the Custom recipe variables title bar, then specify variable details:
    • Specify the recipe name and its value.
    • Move the Enabled slider to the right to allow use of this variable.
  3. Click Next to proceed to the next step of the wizard where you will set the cloud-config file.

The recipes step can be missing in the wizard if there are no recipes created in the cloud.



Step 5 of 6. Cloud-Config


The cloud-config enables you to customize different OS elements, such as network configuration, user accounts, etc. This file uses the YAML format and is processed after each reboot. Adding a cloud-config at this step is optional, you can later add or edit the cloud-config via OnApp API or UI. However, you should not change the cloud-config file inside the container server as changes will be lost after the server is rebooted. For the full list of items that can be configured in the cloud-config file, refer to CoreOS documentation.

To set the could-config for your container server:

  • You can fill in the cloud-config in the Cloud-Config field
  • You can insert a cloud-config file from your local computer at the File tab by clicking the Choose File button. After the file is uploaded, cloud-config will appear in the Cloud-Config field.
  • You can add an URL to your cloud-Config file in the File url field at the File url tab


Step 6 of 6. Confirmation



At this step, configure the automation settings. This is the final step of the container server creation wizard.
  • Move the Build Container Server slider to the right if you want the system to automatically build the container server. If you leave this box blank, you will have to build your server manually after it is created.
  • Move the Boot Container Server slider to the right if you want the container server to be started up automatically.

At the Confirmation step you can find the configuration summary of the container server, which will be created.  You can view RAM size, primary disk and swap disk size, number of cores.

After you set up all parameters, click the Create Container Server button to start the creation process.