Installing the TrilioVault Controller Cluster

Download the TrilioVault binary

Trilio is providing a binary installation tool, which is creating the Kubernetes cluster, downloads all images in their latest version, and ensures a clean state of the whole environment.

Move the binary into the /usr/bin directory

mv triliovault /usr/bin/

The binary provides the following options:

  • deploy ==> Fresh deployment, expects only the base VMs to be present

  • redeploy ==> Deletes the entire TrilioVault Controller Cluster including its Kubernetes base, before redeploying based on the last available configuration.

  • cleanup ==> Deletes the entire TrilioVault Controller Cluster including the Kubernetes base

  • reset ==> deletes and redeploys the TrilioVault Controller Cluster without changing the Kubernetes base

reset should only be done from the same node that was used to run the initial deployment. running the reset option on other nodes will not execute any steps.

Define the deployment

The TrilioVault binary is taking a deployment file in json format.

The following information need to be provided inside the deployment.json

  • number of nodes ==> How many nodes will the TrilioVault Controller Cluster consist of. Default and minimum is 3 nodes, but can be increased in steps of 2 if required.

  • virtual_ip_for_keepalived ==> This is IP is used by the Kubernetes to ensure that all nodes are still working and keeping the Kubernetes Masternodes in sync

  • ingress_ip ==> IP under which the TrilioVault Controller Cluster is reachable

  • For each VM that is part of the cluster:

    • node_ip ==> IP under which the VM is reachable for the deployment binary

    • username ==> root

    • password ==> password that allows the provided user to ssh into the VM

The provided user requires root permissions on the VMs

An example deployment.json can be seen below

{
   "number_of_nodes": 3,
   "virtual_ip_for_keepalived": "142.44.219.119",
   "ingress_ip": "142.44.219.116",
    "node_details":[
          {
            "node_ip" : "142.44.219.120",
            "username" : "root",
            "password" : "abcd"
          },
          {
            "node_ip" : "142.44.219.121",
            "username" : "root",
            "password" : "abcd"
          },
          {
            "node_ip" : "142.44.219.122",
            "username" : "root",
            "password" : "abcd"
          }
       ]

Run the TrilioVault binary

Once the deployment.json has beed created the TrilioVault binary can be started using the following command.

triliovault -t multinode -a deploy -f deployment.json

Wait for the binary to finish.

Once the procedure finished check the status of the containers using

kubectl get pods
kubectl get pods -n trilio

The output will look similar to the following.

The wlm containers will be in the status CrashLoopBackOff at this point. This is the expected behavior. The containers will go into a running state after the configuration has finished.

[root@master-node1 ~]# kubectl get pods
NAME                                           READY   STATUS    RESTARTS         AGE
tvr-ingress-nginx-controller-6d7b7c47f-zzhxq   1/1     Running   1 (3m10s ago)    3h16m
tvr-metallb-controller-79757c94b7-66r5j        1/1     Running   1 (3m10s ago)    3h16m
tvr-metallb-speaker-zxdgh                      1/1     Running   1 (3m10s ago)    3h16m

[root@master-node1 ~]# kubectl get pods -n trilio
NAME                               READY   STATUS             RESTARTS         AGE
config-api-55879c774c-dmcqt        1/1     Running            1                3h16m
mariadb-0                          1/1     Running            1                3h16m
rabbitmq-0                         1/1     Running            1 (3m10s ago)    3h16m
rabbitmq-1                         1/1     Running            1 (3m10s ago)    3h16m
rabbitmq-2                         1/1     Running            1 (3m10s ago)    3h16m
rabbitmq-ha-policy-h984m           0/1     Completed          1                3h16m
rhvconfigurator-5f65f79897-tprhx   1/1     Running            1 (3m12s ago)    3h16m
wlm-api-58fdcdfc7-jggb8            0/1     CrashLoopBackOff   42 (119s ago)    3h16m
wlm-scheduler-5f58586bd5-n2gxz     0/1     CrashLoopBackOff   42 (112s ago)    3h16m
wlm-workloads-4pfk7                0/1     CrashLoopBackOff   42 (119s ago)    3h17m
wlm-workloads-dgtpr                0/1     CrashLoopBackOff   42 (2m57s ago)   3h17m
wlm-workloads-mnxkf                0/1     CrashLoopBackOff   42 (2m26s ago)   3h17m

Last updated