Kubernetes deployment
- Overview
- Prerequisites
- Requirements
- Getting Started
- Configuration Setup
- Infrastructure Deployment
- Next steps
- Troubleshooting
Overview
This guide describes deploying an open-source Kubernetes infrastructure on which to deploy SAS Retrieval Agent Manager.
Complete Get started first. It covers the common prerequisites, tools, and license retrieval for every platform.
Prerequisites
In addition to the common prerequisites:
- A PostgreSQL database server with bidirectional connectivity to the Kubernetes cluster
- Administrative access to all target hosting machines with
sudolevel access - SSH key pair for secure access to cluster nodes
- Ubuntu Linux LTS 20.04 or 22.04 on all nodes
Network requirements:
- Routable network connectivity between all cluster nodes
- Static IP addresses for control plane VIP and load balancer services
- DNS resolution for cluster FQDN
Requirements
Hardware Requirements
Cluster sizing is platform-independent. Small, Medium, and Large worker node requirements are the same as on AKS and EKS. See Cluster sizing.
This example shows a Small cluster with a single, non-production control plane node:
| Node Type | Count | CPUs | RAM | Disk | Notes |
|---|---|---|---|---|---|
| Control Plane Node (tainted) | 1 | 4 | 8GB | 50GB | |
| Worker Nodes | 2 | 8 | 32GB | 200GB | Use 64GB for embedding or vectorization workloads |
| NFS Server Node | 1 | 8 | 16GB | 200GB | Used if your storageClass is nfs-client, can also be an extra worker node |
For Medium and Large clusters, keep this control plane and NFS configuration and scale the worker nodes to the tier requirements.
Postgres Database Sizing
Follow the PostgreSQL sizing recommendations here.
Infrastructure Requirements
- Kubernetes version: 1.35+
Note: These should all be deployed automatically via the SAS Viya 4 Infrastructure as Code scripts
Getting Started
Clone the Viya IAC Project
# Clone the Viya IAC repository
git clone https://github.com/sassoftware/viya4-iac-k8s
# Navigate to project directory
cd viya4-iac-k8s
Note: While we use the viya-iac deployment repository, a viya license or deployment is not required to use SAS Retrieval Agent Manager. This is a standalone application that can be deployed independently of a Viya environment.
Configuration Setup
Before deploying, you’ll need to create and edit three configuration files with your custom values:
| File | Purpose | Official Documentation Example |
|---|---|---|
ansible-vars | Environment-specific settings | Example |
ansible-inventory | Target machine definitions | Example |
ansible-creds | Ansible access credentials | Example |
Note: While we do fully recommend following the viya4-iac-k8s repository, we do have some differences reguarding node labels. We have provided an example for the
ansible-varsfile here
Infrastructure Deployment
Deploy the Kubernetes Cluster and PostgreSQL Database
Docker (Recommended)
Follow the viya4-iac-k8s docker deployment guide to deploy a Kubernetes cluster using Docker.
Bare Metal
Follow the viya4-iac-k8s bare metal deployment guide to deploy a Kubernetes cluster on bare metal infrastructure.
Next steps
- Configure the database — install and enable the
pgcryptoandvectorextensions. - Install dependencies.
- Install and upgrade — deploy the application.
Troubleshooting
Please refer to the troubleshooting section of the main documentation for common issues and resolutions related to viya4-iac-k8s Kubernetes deployments.
For additional troubleshooting, refer to the main troubleshooting section