This lesson will describe how to enable Acropolis Container Services (ACS) on Nutanix Community Edition (CE).
Make Sure You’re On Latest Version
To begin, make sure you are on the latest version of Nutanix CE. This can be done by clicking on the Gear Icon in Prism, and choosing "Upgrade Software".
Make sure you’re on the latest version of CE, which was 2017.07.20 at the time of this writing.
If you are not, go ahead and use the 1-click download and 1-click upgrade feature to apply the latest version.
Uploading Container Binary
Once you are on the latest version of CE, click on the "Container" area under the "Upgrade Software" section.
Click on the blue link labeled "upload the Container binary".
Obtaining the ACS Binaries
You can download the ACS Binaries off of the Nutanix Portal, at https://portal.nutanix.com. Click on the "Downloads" section, then on "Acropolis Container Services (ACS)" link.
Click on the blue button to download the ACS binary file (1).
Also choose to download the Metadata File by clicking on the blue link under the Metadata section (2).
Once you have downloaded both files, use the "Choose File" buttons to browse to the files you have downloaded (1).
Then choose the "Upload Now" (2) option to upload the ACS binaries to the cluster.
You will most likely get the error "Software is not compatible with the current installed NOS version".
This is due to an issue with the metadata file compatibility check. By editing this file, we can add the needed version of AOS so that the compatibility check will succeed.
Editing the ACS Metadata json File
To edit the metadata file so that it will complete the compatibility checks, open the metadata json file in your favorite text editor.
Then, add the version of AOS you are running (specific to CE in this example) to the end of the "supported_from" section in the json file, as shown in the below screenshot.
Once the file has been edited and saved, retry the binary file upload, which should now succeed.
Data Services Error and Cluster IP Error
Once installing ACS, you will probably get a few more errors within Prism, such as:
"RPC error kAppError raised: Internal Error: 11 :Cluster external data service ip is not set Cluster external ip is not set Cluster should have atleast 1 network…"
To fix these errors, you will need to specify the following:
Cluster Virtual IP – the cluster IP will need to be specified, even on a 1 node system, as ACS uses the cluster Virtual IP for communication.
Cluster Data Services IP – the Data Services IP will need to be specified, as this is a prerequisite for ACS.
Both the Cluster Virtual IP and the Data Services IP can be set in Prism, by clicking on the cluster name in the upper lefthand corner.
VM Virtual Networking – A VM Virtual Network will need to be specified, as containers will be attached to the network. To setup a VM Network, browse to the "VM" menu –> "Network Config" green button). I’d recommend using the IP Address Management (IPAM) feature when setting up the network, so that the containers you spin up are automatically assigned an IP address from the IPAM pool, although this is not mandatory.
Once the above errors have been fixed, try to install the ACS binaries again. Once this is completed, a message stating "The entity has been created" will be shown.
After several minutes, the "Container" section under the "Upgrade Software" screen will show a current version that has been installed.
Several tasks will kick off during this process. Wait for all tasks to complete.
Next, enable ACS by selecting the check-mark option labeled "Enable Container" under the "Upgrade Software" screen, "Container" menu.
This will actually enable ACS on the cluster, which includes spinning up virtual machines that will be used to host the containers that are deployed.
After enabling the container option, you will see several tasks kick off. Also a new Virtual Machine is deployed labeled "default-acs-uuid", which is a VM deployed by ACS to host containers. Depending on how many nodes you have in the cluster, this could be 1, 2 or more virtual machines initially.
Please wait for all tasks to complete, and you will see that the ACS deployed Virtual Machines will also power on automatically.
Once all tasks are completed, containers are ready to be deployed from the Self Service Portal (SSP). This implies that the SSP will need to be setup and configured, so if you haven’t done that yet, please refer to my how-to here entitled "Configuring the Self Service Portal (SSP) on Nutanix AHV and AOS 5.1".
Deploying Containers via the Self Service Portal (SSP)
ACS deployed containers are only available via the Self Service Portal. To launch the Self Service Portal, click on "Self Service" from the Prism menu.
Log into the Self Service Portal with the "admin" user.
Once you have logged into the Self Service Portal, you will see a "Containers" section on the menu. But note, you can only spin up new containers by logging into Prism as a project user. So this implies you will need to have Projects setup, and users assigned to those projects.
Project User View
Once you have logged into the Self Service Portal with a Project user, you will see a screen like the one below. Notice the "Deploy Container" button is now visible. I also have a "httpd" container that I’ve deployed as a test, which is running under this project, deployed from the Public Docker Hub, which is setup by default. To add your own Docker Registries, follow the next step.
Adding Your Own Docker Registry
To add your own Docker Registry, click on the Project user, and choose "Docker Registry".
Here you can add your own Docker Registries so that you can deploy from them during the "Deploy Container" wizard in the Self Service Portal. The Public Docker Hub is automatically added by default.
You are now ready to deploy containers from the "Deploy Container" wizard in the Self Service Portal.