You can use Google Cloud Marketplace to directly launch a Weaviate cluster.
- A Google Cloud account with sufficient credit / payment method.
- (Recommended) Familiarity with Google Cloud and the Google Cloud console.
Broadly, the steps are as follows:
- Go to Weaviate's Google Cloud Marketplace listing page and click Configure.
- Configure and deploy Weaviate by following the on-screen instructions.
We go through these steps in detail below.
- The default values for settings such as
Global Query limit,
Storage Sizeshould be suitable for a majority of cases.
Storage size: For production environments, at least 500GB per pod is recommended. (Smaller disks may be sufficient for dev environments.)
Once you are at the deployment page, you should see a set of options.
You will need to:
- Select a GKE cluster to deploy Weaviate to.
- Optionally, you can create a new cluster and then specify it.
- Set the
namespace(for dividing cluster resources) and a unique
app instance namefor identifying the application.
- Set the app instance name.
- Set the service account for billing.
- Set Weaviate parameters, such as
Replicas of Weaviate Instances,
Global Query Limit,
- If you agree, accept the terms of service and click Deploy.
Once you have done so, Weaviate will be deployed to the selected cluster. This should take a few minutes.
Accessing the cluster
Once the application has been created, you can access the cluster through the load balancer.
You can interact with the cluster using
kubectl, or through the Weaviate API. We show examples below.
You can run the following command which will update or create a kubeconfig file for the Weaviate cluster:
gcloud container clusters get-credentials [YOUR_CLUSTER_NAME] --zone [YOUR_GC_ZONE] --project [YOUR_GC_PROJECT]
The exact command can be found in the Kubernetes Engine page, by clicking on the vertical ellipsis ( ) for your cluster, and clicking Connect.
Once that's set up, you can run
kubectl commands as usual. For example
kubectl get pods -n defaultto list all pods in the
defaultnamespace (or whatever namespace you specified).
kubectl get svc --all-namespacesto list all services in all namespaces.
An example output of
kubectl get svc --all-namespaces is:
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
application-system application-controller-manager-service ClusterIP 10.24.8.231 <none> 443/TCP 11m
default kubernetes ClusterIP 10.24.0.1 <none> 443/TCP 11m
default weaviate LoadBalancer 10.24.13.245 18.104.22.168 80:30664/TCP 8m38s
default weaviate-headless ClusterIP None <none> 80/TCP 8m38s
gmp-system alertmanager ClusterIP None <none> 9093/TCP 10m
gmp-system gmp-operator ClusterIP 10.24.12.8 <none> 8443/TCP,443/TCP 10m
kalm-system kalm-controller-manager-service ClusterIP 10.24.7.189 <none> 443/TCP 11m
kube-system default-http-backend NodePort 10.24.12.61 <none> 80:32508/TCP 10m
kube-system kube-dns ClusterIP 10.24.0.10 <none> 53/UDP,53/TCP 11m
kube-system metrics-server ClusterIP 10.24.13.204 <none> 443/TCP
Here, the externally accessible Weaviate IP is
Finding the Weaviate URL
Once the application has been created, you can access Weaviate via the load balancer URL.
You can find the Weaviate endpoint URL by any of:
- Going to the
Kubernetes Enginesection of Google Cloud, under
Service & Ingress. Find the load balancer, and look for the
kubectl get svc -n [YOUR_NAMESPACE_NAME]and looking for the
weaviateservice. The load balancer URL (e.g.
22.214.171.124) will be the Weaviate URL (e.g.
Removing Weaviate and the cluster
Please make sure that all unused resources are deleted. You will continue to incur costs for any remaining resources.
To remove Weaviate and the associated services, go to the
Applications section of
Kubernetes Engine in Google Cloud, and delete the Weaviate deployment.
Services & Ingress section as well as the
Storage section to ensure that all associated services and storage are removed. You may need to delete any remaining resources manually.
Removing the cluster
If you no longer require the cluster (e.g. if you created a new cluster for Weaviate), you can delete the cluster by going to the
Applications section of
Kubernetes Engine in Google Cloud. Delete the cluster by selecting it from the list, clicking DELETE, and following the prompts.
You will be charged for Weaviate and associated resources directly by Google Cloud.
This will, for example, include the compute instances, volumes, and any other resources used by the cluster.