Install Wallaroo to Specific Nodes
Table of Contents
Organizations that share their Kubernetes environment with other applications may want to install Wallaroo to specific nodes in their cluster. The following guide demonstrates how to install a Wallaroo instance into specific nodes in the Kubernetes cluster.
This example uses Wallaroo Community as the example. For other guides for installing a Wallaroo instance, see the Wallaroo Community Setup Guides and the Wallaroo Enterprise Setup Guides.
Users who are familiar with Kubernetes clusters can skip ahead directly to the Install Steps.
Description
When installed into a Kubernetes cluster, Wallaroo will use available nodes to maximize its performance. Some organizations may use specific nodepools or nodes for specific applications.
One option is to use Kubernetes metadata to assign Node labels to nodes, then specify that Wallaroo can be installed into specific nodes that match that label. This can be done with specifying configuration options during the install process using the kots
option --config-values={CONFIG YAML FILE}
. For more information, see the kots set config documentation.
Install Steps
In this example, an instance of Wallaroo Community will be installed into a Kubernetes cluster that has four nodes assigned with the label wallaroo.ai/node=true
;
kubectl get nodes
NAME STATUS ROLES AGE VERSION
aks-mainpool-18670167-vmss000000 Ready agent 84m v1.23.8
aks-wallarooai-12293194-vmss000000 Ready agent 75m v1.23.8
aks-wallarooai-12293194-vmss000001 Ready agent 75m v1.23.8
aks-wallarooai-12293194-vmss000002 Ready agent 75m v1.23.8
aks-wallarooai-12293194-vmss000003 Ready agent 75m v1.23.8
kubectl get nodes -l wallaroo.ai/node=true
NAME STATUS ROLES AGE VERSION
aks-wallarooai-12293194-vmss000000 Ready agent 75m v1.23.8
aks-wallarooai-12293194-vmss000001 Ready agent 75m v1.23.8
aks-wallarooai-12293194-vmss000002 Ready agent 75m v1.23.8
aks-wallarooai-12293194-vmss000003 Ready agent 75m v1.23.8
Create a
kots
configuration file and specify the label to use for installing nodes. For this example, we will usewallaroo.ai/node: "true"
as the label. Any nodes with that label will be used by Wallaroo during the installation. For this example, this configuration is saved to the filetest-node.yaml
.apiVersion: kots.io/v1beta1 kind: ConfigValues metadata: creationTimestamp: null name: wallaroo spec: values: wallaroo_node_selector: value: 'wallaroo.ai/node: "true"' status: {}
During installation, specify the configuration file to be used with the
--config-values
option.IMPORTANT NOTE
`kots` typically will not alert the user if the file passed in `--config-values` does not exist. Verify the file name before proceeding.
kubectl kots install "wallaroo/ce" \ -n wallaroo \ --config-values=test-node.yaml
• Deploying Admin Console • Creating namespace ✓ • Waiting for datastore to be ready ✓ • Waiting for Admin Console to be ready ✓ • Press Ctrl+C to exit • Go to http://localhost:8800 to access the Admin Console
Proceed with the installation as normal, including uploading the required license file, etc.
Once complete, verify Wallaroo was installed to specific nodes with the
kubectl get pods
command. The following shows the pods in thewallaroo
namespace where the Wallaroo Community instance was installed, and the pods used for the deployed pipelineccfraudpipeline
.kubectl get pods --all-namespaces -o=custom-columns=NAME:.metadata.name,Namespace:.metadata.namespace,Node:.spec.nodeName
NAME Namespace Node engine-6469d85b5c-5pz75 ccfraudpipeline-1 aks-wallarooai-12293194-vmss000003 engine-lb-db4f647fb-m9bkl ccfraudpipeline-1 aks-wallarooai-12293194-vmss000001 helm-runner-xz4vn ccfraudpipeline-1 aks-wallarooai-12293194-vmss000003 azure-ip-masq-agent-26cnd kube-system aks-wallarooai-12293194-vmss000002 azure-ip-masq-agent-745hs kube-system aks-wallarooai-12293194-vmss000000 azure-ip-masq-agent-f2nl2 kube-system aks-mainpool-18670167-vmss000000 azure-ip-masq-agent-hjxbr kube-system aks-wallarooai-12293194-vmss000003 azure-ip-masq-agent-nktlq kube-system aks-wallarooai-12293194-vmss000001 cloud-node-manager-6twk7 kube-system aks-mainpool-18670167-vmss000000 cloud-node-manager-g2bql kube-system aks-wallarooai-12293194-vmss000003 cloud-node-manager-j4xdq kube-system aks-wallarooai-12293194-vmss000001 cloud-node-manager-q6b2k kube-system aks-wallarooai-12293194-vmss000000 cloud-node-manager-rsrsg kube-system aks-wallarooai-12293194-vmss000002 coredns-autoscaler-7d56cd888-t28v5 kube-system aks-mainpool-18670167-vmss000000 coredns-dc97c5f55-8v7lh kube-system aks-mainpool-18670167-vmss000000 coredns-dc97c5f55-p2dc2 kube-system aks-mainpool-18670167-vmss000000 csi-azuredisk-node-5hlxc kube-system aks-mainpool-18670167-vmss000000 csi-azuredisk-node-6bp8l kube-system aks-wallarooai-12293194-vmss000003 csi-azuredisk-node-mthtd kube-system aks-wallarooai-12293194-vmss000000 csi-azuredisk-node-p6w8w kube-system aks-wallarooai-12293194-vmss000002 csi-azuredisk-node-sqznw kube-system aks-wallarooai-12293194-vmss000001 csi-azurefile-node-7kw5p kube-system aks-wallarooai-12293194-vmss000002 csi-azurefile-node-9zb6l kube-system aks-wallarooai-12293194-vmss000001 csi-azurefile-node-grs6g kube-system aks-wallarooai-12293194-vmss000000 csi-azurefile-node-z84nz kube-system aks-mainpool-18670167-vmss000000 csi-azurefile-node-zzqdf kube-system aks-wallarooai-12293194-vmss000003 konnectivity-agent-6c57d77bcd-5tvbh kube-system aks-mainpool-18670167-vmss000000 konnectivity-agent-6c57d77bcd-z5q48 kube-system aks-mainpool-18670167-vmss000000 kube-proxy-4nz25 kube-system aks-wallarooai-12293194-vmss000000 kube-proxy-8fv76 kube-system aks-wallarooai-12293194-vmss000002 kube-proxy-c5nvs kube-system aks-wallarooai-12293194-vmss000001 kube-proxy-lvlwc kube-system aks-wallarooai-12293194-vmss000003 kube-proxy-vbvfr kube-system aks-mainpool-18670167-vmss000000 metrics-server-64b66fbbc8-tvxpj kube-system aks-mainpool-18670167-vmss000000 api-lb-bbc98488d-24qxb wallaroo aks-wallarooai-12293194-vmss000002 continuous-image-puller-8sfw9 wallaroo aks-wallarooai-12293194-vmss000003 continuous-image-puller-bbt7c wallaroo aks-wallarooai-12293194-vmss000000 continuous-image-puller-ngr75 wallaroo aks-wallarooai-12293194-vmss000002 continuous-image-puller-stxpq wallaroo aks-wallarooai-12293194-vmss000001 dashboard-677df986d9-8c5mz wallaroo aks-wallarooai-12293194-vmss000000 deploymentmanager-69b4c6d449-j8jct wallaroo aks-wallarooai-12293194-vmss000002 graphql-api-9c664ddf-t7cnr wallaroo aks-wallarooai-12293194-vmss000000 hub-668d49b7b4-jspqj wallaroo aks-wallarooai-12293194-vmss000001 jupyter-john-2ehansarick-40wallaroo-2eai wallaroo aks-wallarooai-12293194-vmss000002 keycloak-85cf99c7bf-8vvb5 wallaroo aks-wallarooai-12293194-vmss000002 kotsadm-cbf8d8ccb-qgx2w wallaroo aks-wallarooai-12293194-vmss000002 kotsadm-minio-0 wallaroo aks-wallarooai-12293194-vmss000002 kotsadm-postgres-0 wallaroo aks-wallarooai-12293194-vmss000000 minio-68bc498d6d-xm5ht wallaroo aks-wallarooai-12293194-vmss000000 model-insights-7dcccb976-ttz64 wallaroo aks-wallarooai-12293194-vmss000000 plateau-5b777686dd-8c69s wallaroo aks-wallarooai-12293194-vmss000000 postgres-6c5fff5c57-9hr4n wallaroo aks-wallarooai-12293194-vmss000002 prometheus-deployment-7dcb484c56-7jwq4 wallaroo aks-wallarooai-12293194-vmss000000 proxy-755778dccd-mwhwz wallaroo aks-wallarooai-12293194-vmss000002 python-api-787bcb7764-nvdb4 wallaroo aks-wallarooai-12293194-vmss000002 rest-api-677dc6bdcf-q9b62 wallaroo aks-wallarooai-12293194-vmss000002 wallaroo-fluent-bit-standard-h7mrl wallaroo aks-wallarooai-12293194-vmss000002 wallaroo-fluent-bit-standard-jss2d wallaroo aks-wallarooai-12293194-vmss000000 wallaroo-fluent-bit-standard-l75cj wallaroo aks-wallarooai-12293194-vmss000001 wallaroo-fluent-bit-standard-m55tk wallaroo aks-wallarooai-12293194-vmss000003 wallaroo-telemetry-27687782-g6mhm wallaroo aks-wallarooai-12293194-vmss000001 wallaroo-telemetry-27687783-xgqpm wallaroo aks-wallarooai-12293194-vmss000001 wallaroo-telemetry-27687784-9b85g wallaroo aks-wallarooai-12293194-vmss000001
For other instructions on how to deploy or configure a Wallaroo instance, see the Wallaroo Operations Guides.