Skip to Content
Federate Admin GuidesAccessing and Configuring Federate

Accessing and Configuring Federate

Once your Federate cluster has been deployed. You can gather the appropriate information by running a convenience script provided by CIQ. For these steps to work, you must have already set your kubeconfig file to point at the appropriate k8s cluster or you must be running the kubectl command on the same system where K8s is installed. Check the deployment documentation for more information.

Retrieving the information to access your cluster using CIQ's convenience script

You can download CIQ's convenience script for retrieving cluster info and set it to executable like so:

Note

This convenience script is relatively simple. You can (and should!) inspect it and ensure that you are comfortable with the commands that it will run before executing it.

$ wget https://ciq-marketplace-assets.s3.us-east-1.amazonaws.com/public/fuzzball/scripts/deployment-info-wait.sh $ chmod +x deployment-info-wait.sh

You need to set a few environment variables before running this script so that it points to the Federate installation instead of the existing orchestrate installation.

$ export SECRET_NAME=fuzzball-federate-fuzzball-federate-secrets NAMESPACE=fuzzball-federate $ ./deployment-info-wait.sh -------------------CLUSTER INFORMATION-------------------- Keycloak URL: https://auth.federate.fuzzballtestingisawesome.com/auth/realms/e700253c-8ce8-4e36-a420-1e4cab4cb7ef Fuzzball API URL: https://api.federate.fuzzballtestingisawesome.com Fuzzball UI URL: https://ui.federate.fuzzballtestingisawesome.com Fuzzball Admin UI URL: https://ui-admin.federate.fuzzballtestingisawesome.com Fuzzball admin account: - username: rhongo@ciq.com - password: ?im]_]:XyQ#?#LcR Fuzzball cluster admin account: - username: fuzzball-admin - password: KG6IrhG&gcg)D!V4 Keycloak admin account: - username: keycloak - password: keycloak To connect to Fuzzball: -> $ fuzzball context create default api.federate.fuzzballtestingisawesome.com https://auth.federate.fuzzballtestingisawesome.com/auth/\ realms/e700253c-8ce8-4e36-a420-1e4cab4cb7ef fuzzball-cli -> $ fuzzball context use default -> $ fuzzball context login --direct If you have not created a group, you can run: -> $ fuzzball group create default -> $ fuzzball group use <UUID> # supply the created UUID

Running this script also serves as a test to ensure that Federate is up and running and that you can access it. Now you can set Federate as your context and configure it to interact with your existing Orchestrate cluster(s).

Configure Federate to Control your Existing Fuzzball Orchestrate Cluster(s)

To register your existing Orchestrate cluster(s) with your new Federate instance you need to generate a configuration file, and then apply that configuration file to your Orchestrate cluster(s).

First, create a new admin cluster context for your Federate instance and log in.

$ fuzzball context create federate-admin https://api.federate.fuzzballtestingisawesome.com Configuration for "federate-admin" created. Configuration for "federate-admin" now in use. $ fuzzball context login -u fuzzball-admin -p 'KG6IrhG&gcg)D!V4' Logging into current cluster context...
Note

If you encounter an error like the following, you certificate might be self-signed.

failed to verify certificate: x509: certificate signed by unknown authority

In this case, you may need to do something like the following to sign into your cluster:

# mkdir $HOME/certs # kubectl get secret -n cert-manager root-ca-cert \ -o "jsonpath={.data['ca\.crt']}" | base64 --decode >$HOME/certs/ca.crt # kubectl get secret -n cert-manager root-ca-cert \ -o "jsonpath={.data['tls\.crt']}" | base64 --decode >$HOME/certs/tls.crt # export SSL_CERT_DIR=$HOME/certs

After loggin in, you can generate a configuration file for your Federate cluster like so:

$ fuzzball cluster generate-registration >/tmp/federate-cluster.conf

Now switch your admin context to your existing Fuzzball Orchestrate cluster and log in.

$ fuzzball context use admin Configuration for "admin" now in use. $ fuzzball context login -u fuzzball-admin -p '?v<93<Ha2Wh2n<f}' Logging into current cluster context...

Finally, use the configuration file you just created to link your existing Orchestrate cluster to your new Federate deployment.

$ fuzzball cluster register -f /tmp/federate-cluster.conf {}

Smoke Test

You can now create a new context based on your Federate instance, and submit a small test job to it. The exact commands you use to do with will vary depending on your cluster setup. Based on the example cluster above, the following commands would work to create the context and sign in.

$ fuzzball context create new-federate api.federate.fuzzballtestingisawesome.com \ https://auth.federate.fuzzballtestingisawesome.com/auth/realms/e700253c-8ce8-4e36-a420-1e4cab4cb7ef \ fuzzball-cli Configuration for "new-federate" created. Configuration for "new-federate" now in use. $ fuzzball context login --direct -u rhongo@ciq.com -p '?im]_]:XyQ#?#LcR' Logging into current cluster context... Account "rhongo@ciq.com" in use

Now you can create or copy a simple fuzzfile. The following will work if you don't have one handy. You can call it hello-world.fz if you like.

version: v4 jobs: hello-world: image: uri: docker://alpine:latest script: | #!/bin/sh echo "Hello, world!" resource: cpu: affinity: NUMA cores: 2 memory: size: 1GB

And you can submit the workflow like so:

$ fuzzball workflow start hello-world.fz Workflow "06f2721d-9458-4779-baaf-351a5f19a5c4" started.

Congratulations! You have successfully deployed, configured, and tested your Fuzzball Federate cluster.