layout | title | description | permalink |
---|---|---|---|
default |
Astra Multi Cloud |
How to deploy Astra Multi Cloud |
/astra/multi/cloud/ |
In the previous article How To: Astra Service Broker I showed you how to setup your environment and spin up a devdb in Astra free tier using the Astra Kubernetes Service Broker. In this next how to I am going to show you how to spin up 3 production C10 instances in Astra. One on AWS, one on Azure, and one on GCP. Contents of the yamls are below, or check out my github.
kubectl apply -f astra-service-instance.yaml
serviceinstance.servicecatalog.k8s.io/devdb-gcp created
serviceinstance.servicecatalog.k8s.io/devdb-aws created
serviceinstance.servicecatalog.k8s.io/devdb-azure created
{:height="50" width="50" align="absmiddle" style="padding: 10px"} Magic is happening here, be patient. My times were in excess of 20 minutes "provisioning".
kubectl get serviceinstances
NAME CLASS PLAN STATUS AGE
devdb-azure ServiceClass/astra-database C10 Provisioning 40m
devdb-gcp ServiceClass/astra-database C10 Ready 40m
devdb-aws ServiceClass/astra-database C10 Ready 40m
At 40 minutes I can see all 3 Databases Active in Astra:
kubectl apply -f astra-service-binding.yaml
servicebinding.servicecatalog.k8s.io/devdb-gcp created
servicebinding.servicecatalog.k8s.io/devdb-aws created
servicebinding.servicecatalog.k8s.io/devdb-azure created
kubectl get servicebindings
NAME SERVICE-INSTANCE SECRET-NAME STATUS AGE
devdb-gcp devdb-gcp devdb-gcp ErrorInstanceNotReady 9m44s
devdb-aws devdb-aws devdb-aws ErrorInstanceNotReady 9m44s
devdb-azure devdb-azure devdb-azure ErrorInstanceNotReady 9m44s
{:height="50" width="50" align="absmiddle" style="padding: 10px"} Again be patient here, rolling out all 3 cloud clusters is about 40 minutes.
kubectl get secrets devdb-gcp -o yaml
kubectl get secrets devdb-aws -o yaml
kubectl get secrets devdb-azure -o yaml
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: devdb-gcp
namespace: default
spec:
parameters:
capacity_units: 1
cloud_provider: GCP
keyspace: petclinic
region: us-east1
serviceClassExternalName: astra-database
servicePlanExternalName: C10
---
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: devdb-aws
namespace: default
spec:
parameters:
capacity_units: 1
cloud_provider: AWS
keyspace: petclinic
region: us-east-1
serviceClassExternalName: astra-database
servicePlanExternalName: C10
---
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceInstance
metadata:
name: devdb-azure
namespace: default
spec:
parameters:
capacity_units: 1
cloud_provider: AZURE
keyspace: petclinic
region: eastus
serviceClassExternalName: astra-database
servicePlanExternalName: C10
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceBinding
metadata:
name: devdb-gcp
spec:
externalID: b946701e-c773-4332-8935-8212e8bdb412
instanceRef:
name: devdb-gcp
secretName: devdb-gcp
---
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceBinding
metadata:
name: devdb-aws
spec:
externalID: b946701e-c773-4332-8935-8212e8bdb412
instanceRef:
name: devdb-aws
secretName: devdb-gcp
---
apiVersion: servicecatalog.k8s.io/v1beta1
kind: ServiceBinding
metadata:
name: devdb-azure
spec:
externalID: b946701e-c773-4332-8935-8212e8bdb412
instanceRef:
name: devdb-azure
secretName: devdb-gcp
Check out some more kubectl commands that you need to learn for managing your Astra instances.
{% include astra_help.html %}