Cloud Provider Integrations
Meshery extends Kubernetes management to cloud provider services, enabling you to design, deploy, and operate cloud infrastructure using the same workflows as your Kubernetes resources. Meshery integrates with AWS, GCP, and Azure through Kubernetes operators and Custom Resource Definitions (CRDs).Overview
Cloud provider integrations allow you to:- Declarative Cloud Management: Define cloud resources as Kubernetes manifests
- Unified Control Plane: Manage Kubernetes and cloud resources from Meshery
- Visual Design: Drag-and-drop cloud services in Kanvas
- GitOps-Ready: Version control cloud infrastructure alongside Kubernetes configs
- Cross-Cloud Portability: Design patterns that work across providers
Supported Cloud Providers
Amazon Web Services
AWS EKS, RDS, S3, Lambda, and more through ACK
Google Cloud Platform
GKE, Cloud SQL, Cloud Storage, and GCP services
Microsoft Azure
AKS, Azure Storage, SQL Database through ASO
AWS Integration
Meshery integrates with AWS through the AWS Controllers for Kubernetes (ACK) project, which provides Kubernetes CRDs for AWS services.Supported AWS Services
- Compute & Containers
- Databases
- Storage
- Networking
- Other Services
- Amazon EKS: Managed Kubernetes clusters
- AWS Lambda: Serverless functions
- Amazon ECS: Container orchestration
- AWS Fargate: Serverless container compute
Installation
Prerequisites
- AWS account with appropriate permissions
- Kubernetes cluster (EKS recommended)
- AWS CLI configured
- IAM roles for service accounts (IRSA) configured
Setup AWS Controllers
Example: Deploy RDS Database
Use Meshery to deploy an Amazon RDS PostgreSQL database:- Kanvas (Visual)
- YAML Configuration
- Open Kanvas designer
- Search for “RDS” in components
- Drag DBInstance onto canvas
- Configure properties:
- Engine: postgres
- Instance class: db.t3.micro
- Allocated storage: 20GB
- Master username: admin
- Add DBSubnetGroup for VPC configuration
- Connect to Kubernetes Secret for credentials
- Click Deploy to create the RDS instance
Relationships: AWS and Kubernetes
Meshery understands relationships between AWS and Kubernetes resources:- DBInstance → Secret: RDS credentials stored in Kubernetes Secret
- DBInstance → DBSubnetGroup: RDS instance placement in VPC subnets
- LoadBalancer → Service: AWS ALB/NLB created for Kubernetes Service
- IAM Role → ServiceAccount: IRSA binding for pod-level AWS permissions
Supported ACK Controllers
Meshery supports all ACK controllers, including:- rds-controller: Amazon RDS
- s3-controller: Amazon S3
- eks-controller: Amazon EKS
- dynamodb-controller: Amazon DynamoDB
- elasticache-controller: Amazon ElastiCache
- lambda-controller: AWS Lambda
- sns-controller: Amazon SNS
- sqs-controller: Amazon SQS
GCP Integration
Meshery integrates with Google Cloud Platform through Config Connector, which allows you to manage GCP resources as Kubernetes objects.Supported GCP Services
- Compute
- Databases
- Storage
- Networking
- Google Kubernetes Engine (GKE): Managed Kubernetes
- Compute Engine: Virtual machines
- Cloud Functions: Serverless functions
- Cloud Run: Serverless containers
Installation
Prerequisites
- GCP project with billing enabled
- GKE cluster
gcloudCLI configured- Service account with appropriate permissions
Setup Config Connector
Example: Deploy Cloud SQL Instance
GCP Components in Kanvas
Search for GCP components in Kanvas:- SQLInstance, SQLDatabase, SQLUser
- StorageBucket
- ComputeInstance, ComputeDisk
- PubSubTopic, PubSubSubscription
- IAMServiceAccount, IAMPolicy
Azure Integration
Meshery integrates with Microsoft Azure through Azure Service Operator (ASO), which provides Kubernetes CRDs for Azure services.Supported Azure Services
- Compute & Containers
- Databases
- Storage
- Networking
- Azure Kubernetes Service (AKS): Managed Kubernetes
- Azure Container Instances: Serverless containers
- Azure Functions: Serverless functions
- Virtual Machines: Compute instances
Installation
Prerequisites
- Azure subscription
- AKS cluster or Kubernetes cluster with Azure access
- Azure CLI installed
- Service Principal or Managed Identity
Setup Azure Service Operator
Example: Deploy Azure Storage Account
See the complete tutorial: Deploy Azure Storage Account with Meshery Quick Example:Azure Components in Kanvas
Available Azure components:- ResourceGroup
- StorageAccount, BlobService, FileShare
- SQLServer, SQLDatabase
- PostgreSQLServer, PostgreSQLDatabase
- VirtualNetwork, Subnet, NetworkInterface
- ManagedCluster (AKS)
Multi-Cloud Patterns
Meshery enables multi-cloud designs:Example: Multi-Cloud Database Deployment
Create a pattern that deploys databases on all three providers:- AWS RDS: Primary database in us-east-1
- GCP Cloud SQL: Read replica in us-central1
- Azure SQL Database: Read replica in eastus
- Application: Kubernetes Deployment that connects to nearest database
Cross-Cloud Relationships
Meshery can model relationships across clouds:- Kubernetes Pod → AWS RDS (via Secret)
- Kubernetes Pod → GCP Cloud Storage (via Service Account)
- Kubernetes Service → Azure Front Door (via Ingress)
Configuration Examples
AWS Lambda Function Triggered by S3
GCP Pub/Sub with Cloud Function
Best Practices
Use Kubernetes Secrets for Credentials
Use Kubernetes Secrets for Credentials
Never hardcode cloud credentials in YAML. Store them in Kubernetes Secrets and reference them:
Enable Deletion Protection
Enable Deletion Protection
For production databases and storage, enable deletion protection:
Use GitOps for Cloud Resources
Use GitOps for Cloud Resources
Store cloud resource definitions in Git alongside Kubernetes manifests. Use CI/CD pipelines to apply changes.
Tag Resources Properly
Tag Resources Properly
Add tags/labels to cloud resources for cost allocation and management:
Namespace Isolation
Namespace Isolation
Use Kubernetes namespaces to separate environments:
production: Production cloud resourcesstaging: Staging resourcesdevelopment: Dev resources
Troubleshooting
ACK Controller Not Creating Resources
ACK Controller Not Creating Resources
Problem: AWS resources not being createdSolutions:
- Check IAM permissions for the controller service account
- Review controller logs:
kubectl logs -n ack-system deployment/ack-<service>-controller - Verify AWS region is correct
- Check for API rate limiting
Config Connector Errors (GCP)
Config Connector Errors (GCP)
Problem: GCP resources failing to createSolutions:
- Verify Workload Identity is configured correctly
- Check service account permissions in GCP
- Review Config Connector logs:
kubectl logs -n cnrm-system deployment/cnrm-controller-manager - Ensure GCP APIs are enabled for your project
Azure Service Operator Reconciliation Failures
Azure Service Operator Reconciliation Failures
Problem: Azure resources stuck in provisioning stateSolutions:
- Verify Azure credentials in the secret
- Check ASO controller logs:
kubectl logs -n azureserviceoperator-system deployment/azureserviceoperator-controller-manager - Ensure subscription has quota for requested resources
- Review Azure Activity Log for detailed errors
Next Steps
Kubernetes Integration
Learn about Kubernetes platform integration
Service Meshes
Add service mesh to your cloud infrastructure
Design Patterns
Explore multi-cloud design patterns
Azure Integration
Learn about Azure ASO integration