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.
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.
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 use wallaroo.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 file test-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.
`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 the wallaroo
namespace where the Wallaroo Community instance was installed, and the pods used for the deployed pipeline ccfraudpipeline
.
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.