Getting Started with MKS on Nutanix¶
This guide walks you through deploying and managing Kubernetes clusters on Nutanix infrastructure using Rafay's MKS (Managed Kubernetes Service) system templates.
What You'll Accomplish¶
By the end of this guide, you will have:
- ✅ Set up a project and shared the Nutanix system template
- ✅ Deployed a fully managed Kubernetes cluster on Nutanix
- ✅ Learned how to manage the cluster lifecycle
Why Use MKS System Templates?¶
System templates provide several key benefits:
- Faster Deployment: Pre-configured templates reduce setup time
- Consistency: Standardized configurations across environments
- Flexibility: Customizable while maintaining organizational standards
- Streamlined Workflows: Built-in approval processes and automation
- Team Collaboration: Enhanced efficiency in cluster management
Prerequisites¶
Before you begin, ensure you have:
Infrastructure Requirements¶
- Nutanix Infrastructure with VM provisioning permissions
- Nutanix Prism Element access with admin credentials
- Nutanix-compatible images for both Control Plane and Worker nodes
Rafay Platform Requirements¶
- Rafay Agent deployed in your Nutanix environment (Setup Guide)
- Rafay API Key for authentication (How to Generate)
- Organization Admin or Project Admin permissions
Information Needed¶
- Nutanix Endpoint IP and Port
- Nutanix Username and Password
- Nutanix Cluster Name
- Nutanix Subnet Name
- SSH Key Pair (for VM access)
What This Template Creates¶
The Nutanix system template automatically provisions:
Component | Description |
---|---|
Nutanix VMs | Configured as Kubernetes nodes with your specifications |
MKS Cluster | Fully managed Kubernetes running Rafay distribution |
Networking | CNI (Calico), CSI, and cluster add-ons from Blueprint |
Access | Kubeconfig file for secure cluster access |
Note: With this template, all nodes will have the same OS and configuration. We are working to enhance this further to allow configuring nodes with different resource configuration in the future.
Step-by-Step Guide¶
Step 1: Create Your Project¶
- Navigate to Home → Your Projects
- Click Create a New Project
- Name it
nutanix-project
(or your preferred name) - Click Create
Step 2: Share the Nutanix Template¶
- Go to Settings → Template Catalog
- Find Rafay K8s Distro on Nutanix template
- Click Get Started
- Configure the template:
- Template Name: Choose a unique name
- Version: Enter
1.0
(or your preferred version) - Project: Select
nutanix-project
- Click Share
Step 3: Configure the Agent¶
- You'll be redirected to your project
- Select your Agent from the dropdown
- Navigate back to General and save as Draft or Active Version
💡 Tip: Learn more about version management
Launching Your Cluster¶
Step 4: Start the Deployment¶
- Navigate to Environments in your
nutanix-project
- Find your shared template and click Launch
- Select your Agent (if not pre-configured)
Step 5: Configure Cluster Settings¶
General Configuration¶
Set up the core Kubernetes cluster parameters:
- Project Scope: Confirm project selection
- Cluster Name: Enter a unique name
- Kubernetes Version: Select your preferred version
- Blueprint: Choose cluster configuration blueprint
- Upgrade Strategy: Define update approach
- Control Plane Settings: Configure HA and dedicated settings
Network & Node Configuration¶
Configure networking and node specifications:
Network Settings:
- CNI Plugin: Select Container Network Interface
- Pod Subnet: Define pod IP range
- Service Subnet: Define service IP range
- Proxy Config: Optional proxy settings
Node Configuration:
- Control Plane VMs: Count and VM type
- Worker Node VMs: Count and VM type
- Image Names: Specify OS images
- Operating System: Choose OS type
📌 Single-Node Cluster: Set Worker VM Count to
0
, Control Plane VM Count to1
, and disable both "Cluster Dedicated Control Plane" and "Cluster HA"
Nutanix Infrastructure Settings¶
Provide your Nutanix connection details:
- Endpoint: Nutanix Prism Element IP
- Port: Connection port
- Credentials: Username and password
- Cluster Name: Target Nutanix cluster
- Subnet Name: Network subnet for VMs
SSH Key Configuration (Choose One): - Option 1: Use packaged keys with Private/Public Key Paths - Option 2: Provide key content directly in "Other Configuration"
Security & Policy Settings (Optional)¶
Configure additional security features:
- Kata Deployment: Enable container runtime security
- OPA Gatekeeper: Enable policy enforcement
- Excluded Namespaces: Specify exemptions
- Policy Templates: Define constraint templates
- Policy Constraints: Apply specific constraints
Final Configuration¶
Complete the setup with authentication details:
- Controller Endpoint: Rafay controller URL
- API Key: Your Rafay authentication key
- SSH Keys: Private key content and authorized key
Step 6: Deploy and Monitor¶
- Click Save & Deploy
- Monitor the deployment progress
- Wait for the cluster to reach "Ready" status
⏱️ Deployment Time: Typically takes 10-15 minutes depending on cluster size
Managing Your Cluster¶
Accessing Your Cluster¶
Once deployed, you can:
- Download kubeconfig from the cluster details
- Use
kubectl
to manage workloads - Access through Rafay's console
Cluster Operations¶
Available management operations:
- Scale: Add/remove worker nodes
- Upgrade: Update Kubernetes versions
- Configure: Modify cluster settings
- Monitor: View cluster health and metrics
Cleanup¶
Deleting Your Cluster¶
⚠️ Warning: This action is irreversible and will delete all resources.
- Navigate to your cluster environment
- Click Destroy
- Confirm by selecting Yes
- Wait for complete resource cleanup
Troubleshooting¶
Common Issues¶
Issue | Solution |
---|---|
Agent not connecting | Verify network connectivity and credentials |
VM provisioning fails | Check Nutanix resource availability and permissions |
Cluster deployment stuck | Review logs in the deployment section |
SSH access denied | Verify SSH key configuration and format |
Getting Help¶
- Check deployment logs in the environment details
- Review Input Variables for configuration details
- Contact support if issues persist
Next Steps¶
Now that your cluster is running, consider:
- Deploy Applications: Use Rafay's app management features
- Set up Monitoring: Configure observability tools
- Implement GitOps: Connect your repositories
- Security Policies: Apply additional governance controls
- Multi-Cluster: Replicate this setup for other environments
Summary¶
🎉 Congratulations! You have successfully:
- ✅ Created and shared a Nutanix system template
- ✅ Deployed a fully managed Kubernetes cluster on Nutanix
- ✅ Learned cluster lifecycle management basics
The MKS system templates provide a powerful way to standardize and automate Kubernetes deployments on Nutanix infrastructure while maintaining flexibility for your specific requirements.