Google Cloud Marketplace
Overview
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.
Installation instructions
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.
Configuration options
Suggested configurations
- The default values for settings such as
Global Query limit
,Modules
andStorage Size
should 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 uniqueapp instance name
for 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
,Enable Modules
andStorage Size
. - 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.
Interaction using kubectl
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 default
to list all pods in thedefault
namespace (or whatever namespace you specified).kubectl get svc --all-namespaces
to list all services in all namespaces.
Example output
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 34.173.96.14 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 34.173.96.14
.
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 Engine
section of Google Cloud, underService & Ingress
. Find the load balancer, and look for theEndpoints
column. - Running
kubectl get svc -n [YOUR_NAMESPACE_NAME]
and looking for theEXTERNAL-IP
of theweaviate
service. The load balancer URL (e.g.34.38.6.240
) will be the Weaviate URL (e.g.http://34.38.6.240
).
Removing Weaviate and the cluster
Verify that all unused resources are deleted. You continue to incur costs for any remaining resources.
Removing Weaviate
To remove Weaviate and the associated services, go to the Applications
section of Kubernetes Engine
in Google Cloud, and delete the Weaviate deployment.
Review the 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.
Billing
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.
Questions and feedback
If you have any questions or feedback, let us know in the user forum.