Improvement to Cloud and Hybrid Cloud docs

This significantly improves our cloud and hybrid cloud docs:

* Adds screenshots
* Better structure
* More information about payments, including stripe and azure marketplace
* Better cluster creation docs
* Account setup and invitation docs
* Monitoring docs
* Cluster upgrade docs
* Support docs
* Removed duplications
This commit is contained in:
Bastian Hofmann
2024-08-15 17:31:04 +02:00
parent 0427089263
commit 5ca363a439
29 changed files with 422 additions and 403 deletions
@@ -41,7 +41,7 @@ is not at least v1.9.0.
To confirm the version of your Qdrant deployment in the cloud or on your local
or cloud system, run an API GET call, as described in the [Qdrant Cloud Setup
guide](/documentation/cloud/qdrant-cloud-setup/#step-2-test-cluster-access).
guide](/documentation/cloud/authentication/#test-cluster-access).
If your Qdrant deployment is local, you do not need an API key.
Your next step depends on how you installed Qdrant. For details, read the
@@ -25,17 +25,9 @@ Each database cluster comes pre-configured with the following tools, features, a
- Available natively on AWS and GCP, and Azure.
- Available on your own infrastructure and other providers if you use the Hybrid Cloud.
## Getting started with Qdrant Managed Cloud
## Getting started with Qdrant Cloud
To use Qdrant Managed Cloud, you need at least one cluster. You can create one in the following ways:
To get started Qdrant Cloud:
1. [**Create a Free Tier cluster**](/documentation/cloud/qdrant-cloud-setup/) with one node and a default configuration (1 GB RAM, 0.5 CPU and 4 GB Disk). This option is perfect for prototyping. You don't need a credit card to join.
2. [**Configure a custom cluster**](/documentation/cloud/create-cluster/) with additional nodes and resources. For this option, you need billing information.
If you're testing Qdrant, We recommend the Free Tier cluster. The capacity should be enough to serve up to 1 M vectors of 768 dimensions. To calculate your needs, refer to our documentation on [Capacity and sizing](/documentation/cloud/capacity-sizing/).
## Support & Troubleshooting
All Qdrant Cloud users are welcome to join our [Discord community](https://qdrant.to/discord/). Our Support Engineers are available to help you anytime.
Paid customers can also contact support directly. Links to the support portal are available in the Qdrant Cloud Console.
1. [**Set up an account**](/documentation/cloud/qdrant-cloud-setup/)
2. [**Create a Qdrant cluster**](/documentation/cloud/create-cluster/)
@@ -13,11 +13,29 @@ The API key is only shown once after creation. If you lose it, you will need to
However, we recommend rotating the keys from time to time. To create additional API keys do the following.
1. Go to the [Cloud Dashboard](https://qdrant.to/cloud).
2. Select **Access Management** to display available API keys.
2. Select **Access Management** to display available API keys, or go to the **API Keys** section of the Cluster detail page.
3. Click **Create** and choose a cluster name from the dropdown menu.
> **Note:** You can create a key that provides access to multiple clusters. Select desired clusters in the dropdown box.
4. Click **OK** and retrieve your API key.
## Test cluster access
After creation, you will receive a code snippet to access your cluster. Your generated request should look very similar to this one:
```bash
curl \
-X GET 'https://xyz-example.eu-central.aws.cloud.qdrant.io:6333' \
--header 'api-key: <paste-your-api-key-here>'
```
Open Terminal and run the request. You should get a response that looks like this:
```bash
{"title":"qdrant - vector search engine","version":"1.8.1"}
```
> **Note:** You need to include the API key in the request header for every
> request over REST or gRPC.
## Authenticate via SDK
Now that you have created your first cluster and key, you might want to access Qdrant Cloud from within your application.
@@ -1,42 +0,0 @@
---
title: AWS Marketplace
weight: 60
---
# Qdrant Cloud on AWS Marketplace
## Overview
Our [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-rtphb42tydtzg) listing streamlines access to Qdrant for users who rely on Amazon Web Services for hosting and application development. Please note that, while Qdrant's clusters run on AWS, you will still use the Qdrant Cloud infrastructure.
## Billing
You don't need to use a credit card to sign up for Qdrant Cloud. Instead, all billing is processed through the AWS Marketplace and the usage of Qdrant is added to your existing billing for AWS services. It is common for AWS to abstract usage based pricing in the AWS marketplace, as there are too many factors to model when calculating billing from the AWS side.
![pricing](/docs/cloud/pricing.png)
The payment is carried out via your AWS Account. To get a clearer idea for the pricing structure, please use our [Billing Calculator](https://cloud.qdrant.io/calculator).
## How to subscribe
1. Go to [Qdrant's AWS Marketplace listing](https://aws.amazon.com/marketplace/pp/prodview-rtphb42tydtzg).
2. Click the bright orange button - **View purchase options**.
3. On the next screen, under Purchase, click **Subscribe**.
4. Up top, on the green banner, click **Set up your account**.
![setup](/docs/cloud/setup.png)
You will be transferred outside of AWS to [Qdrant Cloud](https://qdrant.to/cloud) via your unique AWS Offer ID.
The Billing Details screen will open in Qdrant Cloud Console. Stay in this console if you want to create your first Qdrant Cluster hosted on AWS.
> **Note:** You do not have to return to the AWS Control Panel. All Qdrant infrastructure is provisioned from the Qdrant Cloud Console.
## Next steps
Now that you have signed up via AWS Marketplace, please read our instructions to get started:
1. Learn more about [cluster creation and basic config](../../cloud/create-cluster/) in Qdrant Cloud.
2. Learn how to [authenticate and access your cluster](../../cloud/authentication/).
3. Additional open source [documentation](/documentation/guides/common-errors/).
@@ -1,9 +1,9 @@
---
title: Backups
weight: 70
title: Cluster Backups
weight: 61
---
# Cloud Backups
# Cluster Backups
Qdrant organizes cloud instances as clusters. On occasion, you may need to
restore your cluster because of application or system failure.
@@ -0,0 +1,18 @@
---
title: Cluster monitoring
weight: 55
---
# Cluster monitoring
## Telemetry
Qdrant Cloud provides you with a set of metrics to monitor the health of your database cluster. You can access these metrics in the Qdrant Cloud Console in the **Metrics** and **Request** sections of the cluster details page.
## Logs
Logs of the database cluster are available in the Qdrant Cloud Console in the **Logs** section of the cluster details page.
## Alerts
You will receive automatic alerts via email before your cluster reaches the currently configured memory or storage limits, including recommendations for scaling your cluster.
@@ -6,6 +6,9 @@ weight: 50
# Cluster scaling
The amount of data is always growing and at some point you might need to upgrade or downgrade the capacity of your cluster.
![Cluster Scaling](/documentation/cloud/cluster-scaling.png)
There are different options for how it can be done.
## Vertical scaling
@@ -0,0 +1,16 @@
---
title: Cluster upgrades
weight: 55
---
# Cluster upgrades
As soon as a new Qdrant version is available. Qdrant Cloud will show you an upgrade notification in the Cluster list and on the Cluster details page.
To upgrade to a new version, go to the Cluster details page, choose the new version from the version dropdown and click **Upgrade**.
![Cluster Upgrades](/documentation/cloud/cluster-upgrades.png)
If you have a multi-node cluster and if your collections have a replication factor of at least **2**, the upgrade process will be zero-downtime and done in a rolling fashion. You will be able to use your database cluster normally.
If you have a single-node cluster or a collection with a replication factor of **1**, the upgrade process will require a short downtime period to restart your cluster with the new version.
@@ -5,6 +5,57 @@ weight: 20
# Create a cluster
Qdrant Cloud offers two types of clusters: **Free** and **Standard**.
## Free Clusters
Free tier clusters are perfect for prototyping and testing. You don't need a credit card to join.
A free tier cluster only includes 1 single node with the following resources:
| Resource | Value |
|------------|-------|
| RAM | 1 GB |
| vCPU | 0.5 |
| Disk space | 4 GB |
| Nodes | 1 |
The capacity should be enough to serve up to 1 M vectors of 768 dimensions. To calculate your needs, refer to our documentation on [Capacity and sizing](/documentation/cloud/capacity-sizing/).
The choice of cloud providers and regions is limited.
It includes:
- Standard Support
- Basic monitoring
- Basic log access
- Basic alerting
- Version upgrades with downtime
- Only manual snapshots and restores via API
- No dedicated resources
If unused, free tier clusters are automatically suspended after 1 week, and deleted after 4 weeks of inactivity if not reactivated.
You can always upgrade to a standard cluster with more resources and features.
## Standard Clusters
On top of the Free cluster features, Standard clusters offer:
- Response time and uptime SLAs
- Dedicated resources
- Backup and disaster recovery
- Multi-node clusters for high availability
- Horizontal and vertical scaling
- Monitoring and log management
- Zero-downtime upgrades for multi-node clusters with replication
You have a broad choice of regions on AWS, Azure and Google Cloud.
For payment information see [**Pricing and Payments**](/documentation/cloud/pricing-payments/).
## Create a cluster
This page shows you how to use the Qdrant Cloud Console to create a custom Qdrant Cloud cluster.
> **Prerequisite:** Please make sure you have provided billing information before creating a custom cluster.
@@ -12,55 +63,38 @@ This page shows you how to use the Qdrant Cloud Console to create a custom Qdran
1. Start in the **Clusters** section of the [Cloud Dashboard](https://cloud.qdrant.io/).
1. Select **Clusters** and then click **+ Create**.
1. In the **Create a cluster** screen select **Free** or **Standard**
For more information on a free cluster, follow [Free Tier Setup](/documentation/cloud/qdrant-cloud-setup/). The remaining steps assume you want a standard cluster.
Most of the remaining configuration options are only available for standard clusters.
1. Select a provider. Currently, you can deploy to:
- Amazon Web Services (AWS)
- Google Cloud Platform (GCP)
- Microsoft Azure
- Your own [Hybrid Cloud](/documentation/hybrid-cloud/) Infrastructure
1. Choose your data center region. If you have latency concerns or other topology-related requirements, [**let us know**](mailto:cloud@qdrant.io).
1. Configure RAM for each node (2 GB to 64 GB).
> For more information, see our [**Capacity and Sizing**](/documentation/cloud/capacity-sizing/) guidance. If you need more capacity per node, [**let us know**](mailto:cloud@qdrant.io).
1. Choose the number of vCPUs per node (0.5 core to 16 cores). If you add more
1. Choose your data center region or Hybrid Cloud environment.
1. Configure RAM for each node.
> For more information, see our [**Capacity and Sizing**](/documentation/cloud/capacity-sizing/) guidance.
1. Choose the number of vCPUs per node. If you add more
RAM, the menu provides different options for vCPUs.
1. Select the number of nodes you want the cluster to be deployed on.
> Each node is automatically attached with a disk space offering enough space for your data if you decide to put the metadata or even the index on the disk storage.
1. Select the disk space for your deployment. You can choose from 8 GB to 2 TB.
1. Select the number of nodes you want the cluster to be deployed on.
> Each node is automatically attached with a disk space offering enough space for your data for a default setup.
1. Select additional disk space for your deployment.
> This can be required, if you want to store all data on disk and only use RAM for caching.
1. Review your cluster configuration and pricing.
1. When you're ready, select **Create**. It takes some time to provision your cluster.
Once provisioned, you can access your cluster on ports 443 and 6333 (REST)
and 6334 (gRPC).
Once provisioned, you can access your cluster on ports 443 and 6333 (REST) and 6334 (gRPC).
![Cluster configured in the UI](/docs/cloud/create-cluster-test.png)
You should now see the new cluster in the **Clusters** menu.
A custom cluster includes the following resources. The values in the table are maximums.
| Resource | Value (max) |
|------------|-------------|
| RAM | 64 GB |
| vCPU | 16 vCPU |
| Disk space | 2 TB |
| Nodes | 10 |
### Included features (paid)
The features included with this cluster are:
- Dedicated resources
- Backup and disaster recovery
- Horizontal and vertical scaling
- Monitoring and log management
Learn more about these features in the [Qdrant Cloud dashboard](https://cloud.qdrant.io/).
## Next steps
You will need to connect to your new Qdrant Cloud cluster. Follow [**Authentication**](/documentation/cloud/authentication/) to create one or more API keys.
Your new cluster is highly available and responsive to your application requirements and resource load. Read more in [**Cluster Scaling**](/documentation/cloud/cluster-scaling/).
You can also scale your cluster both horizontally andvertically. Read more in [**Cluster Scaling**](/documentation/cloud/cluster-scaling/).
If a new Qdrant version becomes available, you can upgrade your cluster. See [**Cluster Upgrades**](/documentation/cloud/cluster-upgrades/).
For more information on creating backups of a cluster and restore from them, see [**Backups**](/documentation/cloud/backups/).
@@ -1,46 +0,0 @@
---
title: GCP Marketplace
weight: 60
---
# Qdrant Cloud on GCP Marketplace
Our [GCP Marketplace](https://console.cloud.google.com/marketplace/product/qdrant-public/qdrant)
listing streamlines access to Qdrant for users who rely on the Google Cloud Platform for
hosting and application development. While Qdrant's clusters run on GCP, you are using the
Qdrant Cloud infrastructure.
## Billing
You don't need a credit card to sign up for Qdrant Cloud. Instead, all billing is
processed through the GCP Marketplace. Usage is added to your existing billing
for GCP.
Payment is made through your GCP Account. Our [Billing Calculator](https://cloud.qdrant.io/calculator)
can provide more information about costs.
Costs from cloud providers are based on usage. You can subscribe to Qdrant on
the GCP Marketplace without paying more.
## How to subscribe
1. Go to the [GCP Marketplace listing for Qdrant](https://console.cloud.google.com/marketplace/product/qdrant-public/qdrant).
1. Select **Subscribe**. (If you have already subscribed, select
**Manage on Provider**.)
1. On the next screen, choose options as required, and select **Subscribe**.
1. On the pop-up window that appers, select **Sign up with Qdrant**.
GCP transfers you to the [Qdrant Cloud](https://cloud.qdrant.io/).
The Billing Details screen opens in the Qdrant Cloud Console. If you do not
already see a menu, select the "hamburger" icon (with three short horizontal
lines) in the upper-left corner of the window.
> **Note:** You do not have to return to GCP. All Qdrant infrastructure is provisioned from the Qdrant Cloud Console.
## Next steps
Now that you have signed up through GCP, please read our instructions to get started:
1. Learn more about how you can [Create a cluster](/documentation/cloud/create-cluster/).
1. Learn how to [Authenticate](/documentation/cloud/authentication/) and access your cluster.
@@ -0,0 +1,71 @@
---
title: Pricing & Payments
weight: 65
aliases:
- aws-marketplace
- gcp-marketplace
- azure-marketplace
---
# Pricing & Payments
Qdrant database clusters in Qdrant Cloud are prices based on CPU, memory, and disk storage usage. To get a clearer idea for the pricing structure, based on the amounts of vectors you want to store, please use our [Pricing Calculator](https://cloud.qdrant.io/calculator).
## Billing
The costs for Qdrant Cloud database clusters can be paied either through a credit card or through the AWS, GCP, or Azure Marketplace.
Your payment method is charged at the beginning of each month for the previous month's usage. There is no difference in pricing between the different payment methods.
If you choose to pay through a marketplace, the Qdrant Cloud usage costs are added as usage units to your existing billing for your cloud provider services. A detailed breakdown of your usage is available in the Qdrant Cloud Console.
Note that even though you pay through a marketplace, you still use the Qdrant owned infrastructure for the database clusters and the setup and management of databases is performed through the Qdrant Cloud Console. If you want to deploy Qdrant on your own infrastructure, you can use our [Hybrid Cloud](/documentation/hybrid-cloud/) solution.
![Payment Options](/documentation/cloud/payment-options.png)
### Credit Card
Credit card payments are processed through Stripe. To set up a credit card, go to the Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/), select **Stripe** as the payment method, and enter your credit card details.
### AWS Marketplace
Our [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-rtphb42tydtzg) listing streamlines access to Qdrant for users who rely on Amazon Web Services for hosting and application development.
To subscribe:
1. Go to Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/)
2. Select **AWS Marketplace** as the payment method. You will be redirected to the AWS Marketplace listing for Qdrant.
3. Click the bright orange button - **View purchase options**.
4. On the next screen, under Purchase, click **Subscribe**.
5. Up top, on the green banner, click **Set up your account**.
You will be redirected to the Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/). From there you can start to create Qdrant database clusters.
### GCP Marketplace
Our [GCP Marketplace](https://console.cloud.google.com/marketplace/product/qdrant-public/qdrant) listing streamlines access to Qdrant for users who rely on the Google Cloud Platform for hosting and application development.
To subscribe:
1. Go to Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/)
2. Select **GCP Marketplace** as the payment method. You will be redirected to the GCP Marketplace listing for Qdrant.
3. Select **Subscribe**. (If you have already subscribed, select **Manage on Provider**.)
4. On the next screen, choose options as required, and select **Subscribe**.
5. On the pop-up window that appers, select **Sign up with Qdrant**.
You will be redirected to the Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/). From there you can start to create Qdrant database clusters.
### Azure Marketplace
Our [Azure Marketplace](https://portal.azure.com/#view/Microsoft_Azure_Marketplace/GalleryItemDetailsBladeNopdl/id/qdrantsolutionsgmbh1698769709989.qdrant-db/selectionMode~/false/resourceGroupId//resourceGroupLocation//dontDiscardJourney~/false/selectedMenuId/home/launchingContext~/%7B%22galleryItemId%22%3A%22qdrantsolutionsgmbh1698769709989.qdrant-dbqdrant_cloud_unit%22%2C%22source%22%3A%5B%22GalleryFeaturedMenuItemPart%22%2C%22VirtualizedTileDetails%22%5D%2C%22menuItemId%22%3A%22home%22%2C%22subMenuItemId%22%3A%22Search%20results%22%2C%22telemetryId%22%3A%221df5537b-8b29-4200-80ce-0cd38c7e0e56%22%7D/searchTelemetryId/6b44fb90-7b9c-4286-aad8-59f88f3cc2ff) listing streamlines access to Qdrant for users who rely on Microsoft Azure for hosting and application development.
To subscribe:
1. Go to Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/)
2. Select **Azure Marketplace** as the payment method. You will be redirected to the Azure Marketplace listing for Qdrant.
3. Select **Subscribe**.
4. On the next screen, choose options as required, and select **Review + Subscribe**.
5. After reviewing all settings, select **Subscribe**.
6. Once the SaaS subscription is created, select **Configure account now**.
You will be redirected to the Billing Details screen in the [Qdrant Cloud Console](https://cloud.qdrant.io/). From there you can start to create Qdrant database clusters.
@@ -1,108 +1,54 @@
---
title: Setup Free Tier
title: Account Setup
weight: 10
aliases:
---
# How to Setup and Connect to Qdrant Cloud on Free Tier
In this tutorial, you will use the Qdrant Cloud Console to create a free tier cluster and then connect to it with Qdrant Client.
# Account setup
## Create a Free Tier cluster
## Registration
1. Start in the **Overview** section of the [Cloud Dashboard](https://cloud.qdrant.io/).
1. Find the dashboard menu in the left-hand pane. If you do not see it, select
the icon with three horizonal lines in the upper-left of the screen
1. Select **Clusters**. On the Clusters page, select **Create**.
1. In the **Create a Cluster** page, select **Free**
1. Scroll down. Confirm your cluster configuration, and select **Create**.
There are different ways to register for a Qdrant Cloud account:
You should now see your new free tier cluster in the **Clusters** menu.
* With an email address and passwordless login via email
* With a Google account
* With a GitHub account
* By connection an enterprise SSO solution
A free tier cluster includes the following resources:
Every account is tied to an email address. You can invite additional users to your account and manage their permissions.
| Resource | Value |
|------------|-------|
| RAM | 1 GB |
| vCPU | 0.5 |
| Disk space | 4 GB |
| Nodes | 1 |
### Email registration
## Get an API key
1. Register for a [Cloud account](https://cloud.qdrant.io/) with your email, Google or GitHub credentials.
To use your cluster, you need an API key. Read our documentation on [Cloud
Authentication](/documentation/cloud/authentication/) for the process.
## Inviting additional users to an account
## Test cluster access
You can invite additional users to your account, and manage their permissions on the *Account Management* page in the Qdrant Cloud Console.
After creation, you will receive a code snippet to access your cluster. Your generated request should look very similar to this one:
![Invitations](/documentation/cloud/invitations.png)
```bash
curl \
-X GET 'https://xyz-example.eu-central.aws.cloud.qdrant.io:6333' \
--header 'api-key: <paste-your-api-key-here>'
```
Open Terminal and run the request. You should get a response that looks like this:
Invited users will receive an email with an invitation link to join Qdrant Cloud. Once they signed up, they can accept the invitation from the Overview page.
```bash
{"title":"qdrant - vector search engine","version":"1.8.1"}
```
![Accepting invitation](/documentation/cloud/accept-invitation.png)
> **Note:** You need to include the API key in the request header for every
> request over REST or gRPC.
## Switching between accounts
## Authenticate via SDK
If you have access to multiple accounts, you can switch between accounts with the account switcher on the top menu bar of the Qdrant Cloud Console.
Now that you have created your first cluster and API key, you can access the
Qdrant Cloud from within your application.
Our official Qdrant clients for Python, TypeScript, Go, Rust, and .NET all
support the API key parameter.
![Switching between accounts](/documentation/cloud/account-switcher.png)
```python
from qdrant_client import QdrantClient
## Account settings
qdrant_client = QdrantClient(
"xyz-example.eu-central.aws.cloud.qdrant.io",
api_key="<paste-your-api-key-here>",
)
```
You can configure your account settings in the Qdrant Cloud Console, by clicking on your account picture in the top right corner, and selecting *Profile*.
```typescript
import { QdrantClient } from "@qdrant/js-client-rest";
The following functionality is available.
const client = new QdrantClient({
host: "xyz-example.eu-central.aws.cloud.qdrant.io",
apiKey: "<paste-your-api-key-here>",
});
```
### Renamin an account
```rust
use qdrant_client::Qdrant;
If you have use multiple accounts for different purposes, it is a good idea to give them descriptive names, for example *Development*, *Production*, *Testing*. You can also choose which account should be the default one, when you log in.
let client = Qdrant::from_url("https://xyz-example.eu-central.aws.cloud.qdrant.io:6334")
.api_key("<paste-your-api-key-here>")
.build()?;
```
![Account management](/documentation/cloud/account-management.png)
```java
import io.qdrant.client.QdrantClient;
import io.qdrant.client.QdrantGrpcClient;
### Deleting an account
QdrantClient client =
new QdrantClient(
QdrantGrpcClient.newBuilder(
"xyz-example.eu-central.aws.cloud.qdrant.io",
6334,
true)
.withApiKey("<paste-your-api-key-here>")
.build());
```
```csharp
using Qdrant.Client;
var client = new QdrantClient(
host: "xyz-example.eu-central.aws.cloud.qdrant.io",
https: true,
apiKey: "<paste-your-api-key-here>"
);
```
When you delete an account, all database clusters and data associated with it will also be deleted.
@@ -0,0 +1,15 @@
---
title: Support
weight: 99
aliases:
---
# Cloud Support & Troubleshooting
All Qdrant Cloud users are welcome to join our [Discord community](https://qdrant.to/discord/). Our Support Engineers are available to help you anytime.
![Discord](/documentation/cloud/discord.png)
Paid customers can also contact support directly. Links to the support portal are available in the Qdrant Cloud Console.
![Support Portal](/documentation/cloud/support-portal.png)
@@ -9,11 +9,11 @@ Seamlessly deploy and manage your vector database across diverse environments, e
[Qdrant Hybrid Cloud](/hybrid-cloud/) integrates Kubernetes clusters from any setting - cloud, on-premises, or edge - into a unified, enterprise-grade managed service.
You can use [Qdrant Cloud's UI](/documentation/cloud/create-cluster/) to create and manage your database clusters, while they still remain within your infrastructure. **All Qdrant databases will operate solely within your network, using your storage and compute resources.**
You can use [Qdrant Cloud's UI](/documentation/cloud/create-cluster/) to create and manage your database clusters, while they still remain within your infrastructure. **All Qdrant databases will operate solely within your network, using your storage and compute resources. All user data will stay securely within your environment and won't be accessible by the Qdrant Cloud platform, or anyone else outside your organization.**
Qdrant Hybrid Cloud ensures data privacy, deployment flexibility, low latency, and delivers cost savings, elevating standards for vector search and AI applications.
**How it works:** When you onboard a Kubernetes cluster as a Hybrid Cloud Environment, you can deploy the Qdrant Kubernetes Operator and Cloud Agent into this cluster. These will manage Qdrant databases within your Kubernetes cluster and establish an outgoing connection to Qdrant Cloud at `cloud.qdrant.io` on port `443`. You can then benefit from the same cloud management features and transport telemetry as is available with any managed Qdrant Cloud cluster.
**How it works:** Qdrant Hybrid Cloud relies on Kubernetes and works with any standard compliant Kubernetes distribution. When you onboard a Kubernetes cluster as a Hybrid Cloud Environment, you can deploy the Qdrant Kubernetes Operator and Cloud Agent into this cluster. These will manage Qdrant databases within your Kubernetes cluster and establish an outgoing connection to Qdrant Cloud to transport telemetry and receive management instructions. You can then benefit from the same cloud management features and transport telemetry as is available with any managed Qdrant Cloud cluster.
<aside role="status">Qdrant Cloud does not connect to the API of your Kubernetes cluster, cloud provider, or any other platform APIs.</aside>
@@ -21,17 +21,16 @@ Qdrant Hybrid Cloud ensures data privacy, deployment flexibility, low latency, a
## Hybrid Cloud architecture
The Hybrid Cloud onboarding will install a Kubernetes Operator and Cloud Agent into your Kubernetes cluster.
The Cloud Agent will establish an outgoing connection to `cloud.qdrant.io` on port `443` to transport telemetry and receive management instructions. It will also interact with the Kubernetes API through a ServiceAccount to create, read, update and delete the necessary Qdrant CRs (Custom Resources) based on the configuration setup in the Qdrant Cloud Console.
The Qdrant Kubernetes Operator will manage the Qdrant databases within your Kubernetes cluster. Based on the Qdrant CRs, it will interact with the Kubernetes API through a ServiceAccount to create and manage the necessary resources to deploy and run Qdrant databases, such as Pods, Services, ConfigMaps, and Secrets.
Both component's access is limited to the Kubernetes namespace that you chose during the onboarding process.
After the initial onboarding, the lifecycle of these components will be controlled by the Qdrant Cloud platform through a built-in Helm controller.
You don't need to expose your Kubernetes Cluster to the Qdrant Cloud platform, you don't need to open any ports for incoming traffic and you don't need to provide any Kubernetes or cloud provider credentials to the Qdrant Cloud platform.
![hybrid-cloud-architecture](/blog/hybrid-cloud/hybrid-cloud-architecture.png)
## Upcoming roadmap items
We plan to introduce the following configuration options directly in the Qdrant Cloud Console in the future. If you need any of them beforehand, please contact our Support team.
* Node selectors
* Tolerations
* Affinities and anti-affinities
* Service types and annotations
* Ingresses
* Network policies
* Storage classes
* Volume snapshot classes
@@ -0,0 +1,158 @@
---
title: Cluster creation
weight: 2
---
# Creating a Qdrant cluster in Hybrid Cloud
Once you have created a Hybrid Cloud Environment, you can create a Qdrant cluster in that enviroment. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). Make sure to select your Hybrid Cloud Environment as the target.
Note that in the "Kubernetes Configuration" section you can additionally configure:
* Node selectors for the Qdrant database pods
* Toleration for the Qdrant database pods
* Additional labels for the Qdrant database pods
* A service type and annotations for the Qdrant database service
These settings can also be changed after the cluster is created on the cluster detail page.
### Authentication at your Qdrant clusters
In Hybrid Cloud the authentication information is provided with Kubernetes secrets.
You can configure authentication for your Qdrant clusters in the "Configuration" section of the Qdrant Cluster detail page. There you can configure the Kubernetes secret name and key to be used as an API key and/or read-only API key.
One way to create a secret is with kubectl:
```shell
kubectl create secret generic qdrant-api-key --from-literal=api-key=your-secret-api-key --namespace the-qdrant-namespace
```
The resulting secret will look like this:
```yaml
apiVersion: v1
data:
api-key: ...
kind: Secret
metadata:
name: qdrant-api-key
namespace: the-qdrant-namespace
type: kubernetes.io/tls
```
With this command the secret name would be `qdrant-api-key` and the key would be `api-key`.
If you want to retrieve the secret again, you can also use `kubectl`:
```shell
kubectl get secret qdrant-api-key -o jsonpath="{.data.api-key}" --namespace the-qdrant-namespace | base64 --decode
```
### Exposing Qdrant clusters to your client applications
You can expose your Qdrant clusters to your client applications using Kubernetes services and ingresses. By default, a `ClusterIP` service is created for each Qdrant cluster.
Within your Kubernetes cluster, you can access the Qdrant cluster using the service name and port:
```
http://qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24.qdrant-namespace.svc:6333
```
This endpoint is also visible on the cluster detail page.
If you want to access the database from your local developer machine, you can use `kubectl port-forward` to forward the service port to your local machine:
```
kubectl --namespace your-qdrant-namespace port-forward service/qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24 6333:6333
```
You can also expose the database outside the Kubernetes cluster with a `LoadBalancer` (if supported in your Kubernetes environment) or `NodePort` service or an ingress.
The service type and necessary annotations can be configured in the "Kubernetes Configuration" section during cluster creation, or on the cluster detail page.
Especially if you create a LoadBalancer Service, you may need to provider annotations for the loadbalancer configration. Please refer to the documention of your cloud provider for more details.
Examples:
* [AWS EKS LoadBalancer annotations](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/)
* [Azure AKS Public LoadBalancer annotations](https://learn.microsoft.com/en-us/azure/aks/load-balancer-standard)
* [Azure AKS Internal LoadBalancer annotations](https://learn.microsoft.com/en-us/azure/aks/internal-lb)
* [GCP GKE LoadBalancer annotations](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer-parameters)
You could also create a Loadbalancer service manually like this:
```yaml
apiVersion: v1
kind: Service
metadata:
name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24-lb
namespace: qdrant-namespace
spec:
type: LoadBalancer
ports:
- name: http
port: 6333
- name: grpc
port: 6334
selector:
app: qdrant
cluster-id: 9a9f48c7-bb90-4fb2-816f-418a46a74b24
```
An ingress could look like this:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24
namespace: qdrant-namespace
spec:
rules:
- host: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24.your-domain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24
port:
number: 6333
```
Please refer to the Kubernetes, ingress controller and cloud provider documention for more details.
If you expose the database with such a way, you will be able to see this also reflected as an endpoint on the cluster detail page. And will see the Qdrant database dashboard link pointing to it.
### Configuring TLS
If you want to configure TLS for accessing your Qdrant database in Hybrid Cloud, there are two options:
* You can offload TLS at the ingress or loadbalancer level.
* You can configure TLS directly in the Qdrant database.
If you want to configure TLS directly in the Qdrant database, you can provide a secret with the TLS certificate and key in the "Configuration" section of the Qdrant Cluster detail page. There you can configure the Kubernetes secret name and key to be used as the certificate and key.
To create such a secret, you can use `kubectl`:
```shell
kubectl create secret tls qdrant-tls --cert=mydomain.com.crt --key=mydomain.com.key --namespace the-qdrant-namespace
```
The resulting secret will look like this:
```yaml
apiVersion: v1
data:
tls.crt: ...
tls.key: ...
kind: Secret
metadata:
name: qdrant-tls
namespace: the-qdrant-namespace
type: kubernetes.io/tls
```
With this command the secret name to enter into the UI would be `qdrant-tls` and the keys would be `tls.crt` and `tls.key`.
@@ -69,10 +69,9 @@ You can also configure the StorageClass and VolumeSnapshotClass to use for the Q
5. (Optional) If you have special requirements for any of the following, activate the **Show advanced configuration** option:
- Proxy server
- If you require to use a proxy to connect from your infrastructure to the Qdrant Cloud API, you can specify the proxy URL, credentials and cetificates.
- Container registry URL for Qdrant Operator and Agent images. The default is <https://registry.cloud.qdrant.io/qdrant/>.
- Helm chart repository URL for the Qdrant Operator and Agent. The default is <oci://registry.cloud.qdrant.io/qdrant-charts>.
- CA certificate
- Log level for the operator and agent
6. Once complete, click **Create**.
@@ -83,168 +82,14 @@ You can also configure the StorageClass and VolumeSnapshotClass to use for the Q
After creating your Hybrid Cloud, select **Generate Installation Command** to generate a script that you can run in your Kubernetes cluster which will perform the initial installation of the Kubernetes operator and agent. It will:
- Create the Kubernetes namespace
- Create the Kubernetes namespace, if not present
- Set up the necessary secrets with credentials to access the Qdrant container registry and the Qdrant Cloud API.
- Sign in to the Helm registry at `registry.cloud.qdrant.io`
- Install the Qdrant cloud agent and Kubernetes operator chart
You need this command only for the initial installation. After that, you can update the agent and operator using the Qdrant Cloud Console.
> **Note:** If you generate the installation command a second time, it will re-generate the included secrets and you will have to apply the command again to update them.
## Creating a Qdrant cluster
Once you have created a Hybrid Cloud Environment, you can create a Qdrant cluster in that enviroment. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). Make sure to select your Hybrid Cloud Environment as the target.
Note that in the "Kubernetes Configuration" section you can configure:
* Node selectors for the Qdrant database pods
* Toleration for the Qdrant database pods
* Additional labels for the Qdrant database pods
* A service type and annotations for the Qdrant database service
These settings can also be changed after the cluster is created on the cluster detail page.
### Authentication at your Qdrant clusters
In Hybrid Cloud the authentication information is provided with Kubernetes secrets.
You can configure authentication for your Qdrant clusters in the "Configuration" section of the Qdrant Cluster detail page. There you can configure the Kubernetes secret name and key to be used as an API key and/or read-only API key.
One way to create a secret is with kubectl:
```shell
kubectl create secret generic qdrant-api-key --from-literal=api-key=your-secret-api-key --namespace the-qdrant-namespace
```
The resulting secret will look like this:
```yaml
apiVersion: v1
data:
api-key: ...
kind: Secret
metadata:
name: qdrant-api-key
namespace: the-qdrant-namespace
type: kubernetes.io/tls
```
With this command the secret name would be `qdrant-api-key` and the key would be `api-key`.
If you want to retrieve the secret again, you can also use `kubectl`:
```shell
kubectl get secret qdrant-api-key -o jsonpath="{.data.api-key}" --namespace the-qdrant-namespace | base64 --decode
```
### Exposing Qdrant clusters to your client applications
You can expose your Qdrant clusters to your client applications using Kubernetes services and ingresses. By default, a `ClusterIP` service is created for each Qdrant cluster.
Within your Kubernetes cluster, you can access the Qdrant cluster using the service name and port:
```
http://qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24.qdrant-namespace.svc:6333
```
This endpoint is also visible on the cluster detail page.
If you want to access the database from your local developer machine, you can use `kubectl port-forward` to forward the service port to your local machine:
```
kubectl --namespace your-qdrant-namespace port-forward service/qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24 6333:6333
```
You can also expose the database outside the Kubernetes cluster with a `LoadBalancer` (if supported in your Kubernetes environment) or `NodePort` service or an ingress.
The service type and necessary annotations can be configured in the "Kubernetes Configuration" section during cluster creation, or on the cluster detail page.
Especially if you create a LoadBalancer Service, you may need to provider annotations for the loadbalancer configration. Please refer to the documention of your cloud provider for more details.
Examples:
* [AWS EKS LoadBalancer annotations](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/ingress/annotations/)
* [Azure AKS Public LoadBalancer annotations](https://learn.microsoft.com/en-us/azure/aks/load-balancer-standard)
* [Azure AKS Internal LoadBalancer annotations](https://learn.microsoft.com/en-us/azure/aks/internal-lb)
* [GCP GKE LoadBalancer annotations](https://cloud.google.com/kubernetes-engine/docs/concepts/service-load-balancer-parameters)
You could also create a Loadbalancer service manually like this:
```yaml
apiVersion: v1
kind: Service
metadata:
name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24-lb
namespace: qdrant-namespace
spec:
type: LoadBalancer
ports:
- name: http
port: 6333
- name: grpc
port: 6334
selector:
app: qdrant
cluster-id: 9a9f48c7-bb90-4fb2-816f-418a46a74b24
```
An ingress could look like this:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24
namespace: qdrant-namespace
spec:
rules:
- host: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24.your-domain.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24
port:
number: 6333
```
Please refer to the Kubernetes, ingress controller and cloud provider documention for more details.
If you expose the database with such a way, you will be able to see this also reflected as an endpoint on the cluster detail page. And will see the Qdrant database dashboard link pointing to it.
### Configuring TLS
If you want to configure TLS for accessing your Qdrant database in Hybrid Cloud, there are two options:
* You can offload TLS at the ingress or loadbalancer level.
* You can configure TLS directly in the Qdrant database.
If you want to configure TLS directly in the Qdrant database, you can provide a secret with the TLS certificate and key in the "Configuration" section of the Qdrant Cluster detail page. There you can configure the Kubernetes secret name and key to be used as the certificate and key.
To create such a secret, you can use `kubectl`:
```shell
kubectl create secret tls qdrant-tls --cert=mydomain.com.crt --key=mydomain.com.key --namespace the-qdrant-namespace
```
The resulting secret will look like this:
```yaml
apiVersion: v1
data:
tls.crt: ...
tls.key: ...
kind: Secret
metadata:
name: qdrant-tls
namespace: the-qdrant-namespace
type: kubernetes.io/tls
```
With this command the secret name to enter into the UI would be `qdrant-tls` and the keys would be `tls.crt` and `tls.key`.
> **Note:** If you generate the installation command a second time, it will re-generate the included secrets, and you will have to apply the command again to update them.
## Deleting a Hybrid Cloud Environment
@@ -1,6 +1,6 @@
---
title: Networking, logging & monitoring
weight: 3
weight: 4
---
# Networking, logging & monitoring
@@ -1,6 +1,6 @@
---
title: Advanced Qdrant Operator configuration
weight: 2
weight: 3
---
# Advanced Qdrant Operator configuration
@@ -21,14 +21,6 @@ backOff:
minDelay: 5
maxDelay: 300
increment: 5
# Cluster-manager configuration for a Qdrant cluster (experimental)
clusterManager:
image:
repository: qdrant/qdrant-cloud-cluster-manager
tag: 0.1.2
pullInterval: 10
logSize: 10
debug: false
# node_selector: {}
# tolerations: []
# Default ingress configuration for a Qdrant cluster
@@ -1,6 +1,6 @@
---
title: Deployment platforms
weight: 4
weight: 5
---
# Platform Deployment Options
@@ -46,5 +46,5 @@ When ready, use the Console and our complete REST API to try other operations.
## What's next?
Now that you have a Qdrant Cloud cluster up and running, you should [test remote access](/documentation/cloud/qdrant-cloud-setup/#test-cluster-access) with Qdrant Client.
Now that you have a Qdrant Cloud cluster up and running, you should [test remote access](/documentation/cloud/authentication/#test-cluster-access) with a Qdrant Client.
Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB