Installing on ICP#
Install UrbanCode Velocity into a Kubernetes cluster on ICP.
The ID that you use to install the product must be able to make changes to the host environment. The tools required by all installation scenarios include the following items:
-
Docker installed on the host system.
Note: If you use Docker for Windows, make sure Docker is using Linux-type containers. UrbanCode™Velocity does not support Windows-type containers.
-
Internet connection. During installation, files and container images are retrieved from remote locations. If you are unable to access the internet during installation, you can download the files beforehand and perform an offline installation. UrbanCodeVelocity supports the following browsers: Chrome, Firefox, and Edge.
Note: The installation files used for offline installation are not the same as those used for internet-connected installation. Ensure that you download the right file for you installation environment.
Before starting installation, ensure that the following applications are installed in the target environment:
- Kubectl installed on the client.
- Helm v2.6.0 or later on client.
- HCL Cloud Private account and a client instance ready to use. ICP version 3.10 or later is supported.
- ICP command line client installed on the host.
Get a key. The key enables you to complete installation. Visit the UrbanCode Velocity web portal to obtain your key. After completing the form, you can copy the access key. Store the key in a readily-available location; you use it during installation.
Note: Make sure that you select a key for the product version that you want to install. Keys for the Standard Edition do not work with the Community Edition and vice-versa.
You will install UrbanCode™ Velocity into a Kubernetes cluster on ICP. The commands pull the UrbanCode Velocity images from a GitHub repository and places them into the ICP clusters.
-
Download the installation file for your environment.
Note: For macOS and Linux installations, set the appropriate permissions before running the file:
sudo chmod +x
.- Linux: https://hcl-velocity-binaries.s3.amazonaws.com/velocity-hcl-install-latest-linux
- Windows: https://hcl-velocity-binaries.s3.amazonaws.com/velocity-hcl-install-latest-win.exe
- Mac OS: https://hcl-velocity-binaries.s3.amazonaws.com/velocity-hcl-install-latest-macos
- On you ICP Dashboard, select Configure Client, and then paste the provided Kubectl commands into a command shell on your client and run them.
The Kubectl commands define your Kuberbetes context. Test the configuration by running the following commands:
kubectl get nodes kubectl get pods --all-namespaces
If you see messages like the following examples, your configuration is ready to use.
10.134.119.132 Ready <none> 151d v1.10.0+icp-ee 10.134.119.24 Ready <none> 151d v1.10.0+icp-ee 10.134.119.65 Ready <none> 151d v1.10.0+icp-ee 10.134.119.9 Ready <none> 151d v1.10.0+icp-ee
-
On ICP dashboard, click Manage > Namespaces > Create Namespace > ****, and enter a name for the name space.
-
Create MongoDB in the new namespace by completing the following steps:
-
On the ICP dashboard, select Catalog > ibm-mongodb-dev.
-
On the ibm-mongodb-dev page, select Configure, and then, from the Target namespace list, select the namespace you created earlier.
-
Complete configuration by entering a release name, and password for the MongoDB admin user, and then click Install.
This creates a persistent volume claim.
-
-
Click Platform > Storage > ****, and then create a persistent volume for your claim by completing the following steps:
-
On Storage page, click Create Persistent Volume.
-
On the Create Persistent Volume window, enter a name for the volume.
-
Turn JSON mode ON.
The underlying JSON file for the persistent volume is displayed. In the JSON script for the
NFS
object, and specify the server's IP address, and the path for the new volume. The following code snippet illustrates a typical example:"nfs": { "server": "ip\_address", "path": "/volume\_path" },
-
Click Create.
In the Storage window, check for the status of
Bound
for the new volume. -
In a command shell on the client, use the following kubectl command to check pod status:
kubectl get pods -n persistentVolume\_name.
-
-
Grant additional permissions to the MongoDB user by completing the following steps:
-
Using a client command shell, logon to the pod as the admin user.
-
Use the following command to grant additional permissions:
db.grantRolesToUser( "mongo", ["readWriteAnyDatabase", "dbAdminAnyDatabase", "clusterAdmin"] )
If the command fails, an error message is displayed.
-
If no message is displayed, type
exit
to leave the pod.
-
-
Using a client command shell, type
kubectl get services -n namespace
to display the MongoDB service.Te service name is the host name for the MongoDB service.
-
Determine the configuration properties to specify. You can customize the installation by specifying configuration properties on the helm install command.
Some of the properties that you specify are dependent on your environment. However, there are several properties that must be specified. Below are the required properties.
-
access.key
The product access key obtained from Passport Advantage.
-
url.domain
The host name must resolve to a name on your DNS server, or in the server's hosts file. On Linux, the file location is etc/hosts; on Windows, the location is C:\Windows\System32\drivers\etc\hosts.
-
mongo.url
The URL of the MongoDB. Specify the following parameters.
-
username
The user ID to authenticate with the MongoDB database.
-
password
The associated password to authenticate with the MongoDB database.
-
port
The port number for the MongoDB database. Use the value shown in the example, which is 27017.
-
service_name
The MongoDB service name you retrieved in Step 8.
Note: If you used the install command in the previous step to install the MongoDB, use the following values for the mongo.url property.
mongodb://mongo:mongo@velocity-mongo-ibm-mongodb-dev:27017/admin
If you use the default HCL MongoDB, make sure to grant the MongoDB user full write privileges.
-
-
name
The name space where the Helm chart is applied, and the name of Helm chart.
--name standard ./velocity-1-5-0-helm.tgz
-
-
Run the
helm install
command to install the UrbanCode Velocity images into ICP. The following example shows the a typical configuration properties:```
helm install \ --set access.key=my_access_key \ --set url.domain=my_hostname \ --set mongo.url=mongodb://mongo:mongo@mongodb-servicename:27017/admin \ --set url.protocol=https \ --set ui.service.externalPort=80 \ --set ingress.enable=true \ --name standard ./velocity-1-5-0-helm.tgz ```
Access UrbanCodeVelocity at the URL you specified in the helm chart. You can refresh the status display by using the following kubectl command: kubectl get pods
. The default admin user name is admin and the default password is admin.
Parent topic: Installation