From 6c15cbcfc0432f5e1e44e9156646279109646b2f Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Fri, 9 Feb 2024 17:41:16 +0100 Subject: [PATCH 1/9] Add documentation page for hybrid cloud --- .../documentation/cloud/hybrid-cloud.md | 77 +++++++++++++++++++ .../documentation/guides/installation.md | 2 +- qdrant-landing/content/surveys/hybrid-saas.md | 6 +- 3 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 qdrant-landing/content/documentation/cloud/hybrid-cloud.md diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md new file mode 100644 index 000000000..38fb70b86 --- /dev/null +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -0,0 +1,77 @@ +--- +title: Hybrid Cloud +weight: 90 +--- + +# Hybrid Cloud + +Hybrid Cloud allows you to attach your own infrastructure as a private region to Qdrant Cloud. This way, you can use Qdrant Cloud to manage your clusters, but run them in your own infrastructure. + +## How it works + +You a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) Kubernetes cluster at the cloud provide, in the on-premise environment or at the edge location of your choice. During the onboarding of this Kubernetes cluster as a private region, you will deploy the Qdrant Kubernetes Operator into this cluster. This operator is responsible for managing the Qdrant databases within your Kubernetes cluster. It will also create an outgoing connection to `cloud.qdrant.io` on port `443` to connect to Qdrant Cloud, enable the cloud management features and transport telemetry. + +You do not need to give the Qdrant Cloud any access to the API of your Kubernetes cluster, or to any cloud provider or other platform APIs. + +The Qdrant databases are running completely isolated within your network, using your storage and compute resources. + +## Signing up for Hybrid Cloud + +Hybrid Cloud is currently in private beta. To sign up and join the waiting list, please [contact us](https://qdrant.tech/surveys/hybrid-saas/). + +## Creating a private region + +### Prerequisites + +To create a private region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) Kubernetes cluster. This cluster can run in any cloud or on-premise. Examples include AWS EKS, GCP GKE, Azure AKS, RedHat OpenShift or VMWare vSphere or Rancher. + +For storage, the Kubernetes cluster needs a CSI driver that provides block storage. Network storage systems like NFS or object storage like S3 are not supported. For vertical scaling, the CSI driver needs to support volume expansion. For backups and restores, the driver needs to support CSI snapshots and restores. + +For the installation, you will need a user with `cluster-admin` access to this cluster. + +In order to connect to Qdrant Cloud, the Qdrant Cloud Agent needs to be able to create an outgoing connection to `cloud.qdrant.io` on port `443`. + +By default, the Helm charts and container images are pulled from `registry.cloud.qdrant.io` for the Qdrant Cloud Agent and Operator, and from `docker.io` for the Qdrant database. It is also possible to mirror the images and charts to your own registry. + +### Required artefacts + +Container images + +* `docker.io/qdrant/qdrant` +* `registry.cloud.qdrant.io/qdrant/qdrant-cloud-agent` +* `registry.cloud.qdrant.io/qdrant/qdrant-operator` +* `registry.cloud.qdrant.io/qdrant/qdrant-cloud-cluster-manager` + +OCI Helm charts + +* `registry.cloud.qdrant.io/qdrant-charts/qdrant-cloud-agent` +* `registry.cloud.qdrant.io/qdrant-charts/qdrant-operator` + +### Installation + +Once private regions are activated for your account, go to "Private Regions" in the Qdrant Cloud Console and click "Create". + +You can then choose a name for your private regions and the Kubernetes namespace where the Qdrant Cloud agent and operator are going to de deployed in. + +If you require a proxy to connect to `cloud.qdrant.io` from your Kubernetes cluster, you can configure the necessary Proxy settings and certificates under "Show advanced configuration". + +For a list of possible operator configuration options see the [Operator Configuration](#operator-configuration) section below. + +Once you created your region, click on "Generate Installation Command". This will create the necessary API keys for the registry and the Qdrant Cloud API and generate the `kubectl` and `helm install` commands to install the Qdrant Cloud Agent and Operator into your cluster. +This command is only necessary for the initial installation. After that, you can update the agent and operator via the Qdrant Cloud Console. + +## Creating a Qdrant Cluster + +Once you have created a private region, you can create a Qdrant cluster in your private region. This works the same way as creating a cluster in a managed cloud region, except that you can choose your private region as the target region. + +### Authentication of your Qdrant clusters + +### Exposing Qdrant Clusters to your client applications + +## Operator Configuration + +The Qdrant Operator can be configured in the private region configuration. The following options are available: + +```yaml +settings: +``` \ No newline at end of file diff --git a/qdrant-landing/content/documentation/guides/installation.md b/qdrant-landing/content/documentation/guides/installation.md index 69a7c8fc6..85d441d32 100644 --- a/qdrant-landing/content/documentation/guides/installation.md +++ b/qdrant-landing/content/documentation/guides/installation.md @@ -47,7 +47,7 @@ All Qdrant instances in a cluster must be able to: Qdrant can be installed in different ways depending on your needs: -For production, you can use our Qdrant Cloud to run Qdrant either fully managed in our infrastructure or with Hybrid SaaS in yours. +For production, you can use our Qdrant Cloud to run Qdrant either fully managed in our infrastructure or with Hybrid Cloud in yours. For testing or development setups, you can run the Qdrant container or as a binary executable. diff --git a/qdrant-landing/content/surveys/hybrid-saas.md b/qdrant-landing/content/surveys/hybrid-saas.md index 8351f4a21..83101dd41 100644 --- a/qdrant-landing/content/surveys/hybrid-saas.md +++ b/qdrant-landing/content/surveys/hybrid-saas.md @@ -1,9 +1,9 @@ --- -title: Join the waiting list for the Qdrant Hybrid SaaS solution. -section_title: Request early access to the Qdrant Hybrid SaaS +title: Join the waiting list for the Qdrant Hybrid Cloud solution. +section_title: Request early access to the Qdrant Hybrid Cloud form: - id: 0 - header: "Get Early Access to Qdrant Hybrid SaaS" + header: "Get Early Access to Qdrant Hybrid Cloud" label: All right! 😊 What is your e-mail? * placeholder: name@example.com type: email From 9ff0fcfb5609eb3ac22cd412f7c65e275ee0ad32 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Fri, 9 Feb 2024 17:41:28 +0100 Subject: [PATCH 2/9] Add documentation page for hybrid cloud --- qdrant-landing/content/documentation/cloud/hybrid-cloud.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index 38fb70b86..7c8e71b80 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -64,7 +64,7 @@ This command is only necessary for the initial installation. After that, you can Once you have created a private region, you can create a Qdrant cluster in your private region. This works the same way as creating a cluster in a managed cloud region, except that you can choose your private region as the target region. -### Authentication of your Qdrant clusters +### Authentication at your Qdrant clusters ### Exposing Qdrant Clusters to your client applications From 39e339f2ce095765240fda11890b748cd7f16225 Mon Sep 17 00:00:00 2001 From: mjang Date: Fri, 15 Mar 2024 07:41:36 -0700 Subject: [PATCH 3/9] Mike Jang's proposed rewrite --- .../content/documentation/cloud/_index.md | 62 ++++--- .../documentation/cloud/hybrid-cloud.md | 154 ++++++++++++++---- 2 files changed, 165 insertions(+), 51 deletions(-) diff --git a/qdrant-landing/content/documentation/cloud/_index.md b/qdrant-landing/content/documentation/cloud/_index.md index 25c9f3cde..93a4dd7c7 100644 --- a/qdrant-landing/content/documentation/cloud/_index.md +++ b/qdrant-landing/content/documentation/cloud/_index.md @@ -7,34 +7,58 @@ aliases: # About Qdrant Cloud -Qdrant Cloud is our SaaS (software-as-a-service) solution, providing managed Qdrant instances on the cloud. -We provide you with the same fast and reliable similarity search engine, but without the need to maintain your own infrastructure. +Qdrant Cloud is our SaaS (software-as-a-service) solution, providing managed +Qdrant instances on the cloud. We provide you the same fast and reliable +similarity search engine, but without the need to maintain your own infrastructure. -Transitioning from on-premise to the cloud version of Qdrant does not require changing anything in the way you interact with the service. All you have to do is [create a Qdrant Cloud account](https://qdrant.to/cloud) and [provide a new API key]({{< ref "/documentation/cloud/authentication" >}}) to each request. +Transitioning from on-premise to the cloud version of Qdrant does not change +how you interact with the service. All you need is a [Qdrant Cloud account](https://qdrant.to/cloud/) +and an [API key](/documentation/cloud/authentication/) for each request. -The transition is even easier if you use the official client libraries. For example, the [Python Client](https://github.com/qdrant/qdrant-client) has the support of the API key already built-in, so you only need to provide it once, when the QdrantClient instance is created. +Our official [client libraries](/documentation/interfaces/#client-libraries/) +can help. For example, if you use the [Python Client](https://github.com/qdrant/qdrant-client/) +you can take advantage of the built-in API key. With that client, you provide +the API key only once, when the QdrantClient instance is created. -### Cluster configuration +*Available as of v1.8.2* -Each instance comes pre-configured with the following tools, features and support services: +You can also attach your own infrastructure as a private region on the Hybrid +Cloud. Once attached, you can control this cloud using the same tools and UI +that you use for other cloud providers. For details, see our +[Hybrid Cloud](/documentation/cloud/hybrid-cloud/) documentation. -- Automatically created with the latest available version of Qdrant. -- Upgradeable to later versions of Qdrant as they are released. -- Equipped with monitoring and logging to observe the health of each cluster. -- Accessible through the Qdrant Cloud Console. +## Cluster configuration + +Each instance comes pre-configured with the following tools, features, and +support services: + +- Uses the latest available version of Qdrant. +- Supports upgrades to later versions of Qdrant as they are released. +- Includes monitoring and logging to observe the health of each cluster. +- Configurable through the Qdrant Cloud Console. - Vertically scalable. -- Offered on AWS and GCP, with Azure currently in development. +- Available natively on AWS and GCP, and Azure. +- Available on other providers if you use the Hybrid Cloud. -### Getting started with Qdrant Cloud +## Getting started with Qdrant Cloud -To use Qdrant Cloud, you will need to create at least one cluster. There are two ways to start: -1. [**Create a Free Tier cluster**]({{< ref "/documentation/cloud/quickstart-cloud" >}}) with 1 node and a default configuration (1GB RAM, 0.5 CPU and 4GB Disk). This option is perfect for prototyping and you don't need a credit card to join. -2. [**Configure a custom cluster**]({{< ref "/documentation/cloud/create-cluster" >}}) with additional nodes and more resources. For this option, you will have to provide billing information. +To use Qdrant Cloud, you need at least one cluster. You can create one in the +following ways: -We recommend that you use the Free Tier cluster for testing purposes. The capacity should be enough to serve up to 1M vectors of 768dim. To calculate your needs, refer to [capacity planning]({{< ref "/documentation/cloud/capacity-sizing" >}}). +1. [**Create a Free Tier cluster**](/documentation/cloud/quickstart-cloud/) 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. -### Support & Troubleshooting +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/). -All Qdrant Cloud users are welcome to join our [Discord community](https://qdrant.to/discord). Our Support Engineers are available to help you anytime. +## Support & Troubleshooting -Additionally, paid customers can also contact support via channels provided during cluster creation and/or on-boarding. +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 through channels provided during cluster +creation and/or on-boarding. diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index 7c8e71b80..cb034686c 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -5,73 +5,163 @@ weight: 90 # Hybrid Cloud -Hybrid Cloud allows you to attach your own infrastructure as a private region to Qdrant Cloud. This way, you can use Qdrant Cloud to manage your clusters, but run them in your own infrastructure. +*Available as of v1.8.2* + +The Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private +region of the Qdrant Cloud. You can use Qdrant Cloud to manage your clusters, and +run them in your own infrastructure. ## How it works -You a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) Kubernetes cluster at the cloud provide, in the on-premise environment or at the edge location of your choice. During the onboarding of this Kubernetes cluster as a private region, you will deploy the Qdrant Kubernetes Operator into this cluster. This operator is responsible for managing the Qdrant databases within your Kubernetes cluster. It will also create an outgoing connection to `cloud.qdrant.io` on port `443` to connect to Qdrant Cloud, enable the cloud management features and transport telemetry. +When you onboard a Kubernetes cluster as a hybrid cloud region, you can deploy +the Qdrant Kubernetes Operator into this cluster. This operator manages the +Qdrant databases within your Kubernetes cluster. The operator connects to the +Qdrant cloud as `cloud.qdrant.io` on port `443`. You can then have the same +cloud management features and transport telemetry as is available with any +Qdrant-managed cloud provider. -You do not need to give the Qdrant Cloud any access to the API of your Kubernetes cluster, or to any cloud provider or other platform APIs. +The Qdrant Cloud does not need access to the API of your Kubernetes cluster, +or to any cloud provider, or other platform APIs. -The Qdrant databases are running completely isolated within your network, using your storage and compute resources. +The Qdrant databases operate solely within your network, using your storage and +compute resources. + ## Signing up for Hybrid Cloud -Hybrid Cloud is currently in private beta. To sign up and join the waiting list, please [contact us](https://qdrant.tech/surveys/hybrid-saas/). +The Qdrant Hybrid Cloud is currently in private beta. To sign up and join the waiting +list, [contact us](https://qdrant.tech/surveys/hybrid-saas/). -## Creating a private region +## Creating a Hybrid Cloud region + +The following sections specify prerequisites and required artifacts. You can then +set up a Qdrant cluster in your private region. ### Prerequisites -To create a private region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) Kubernetes cluster. This cluster can run in any cloud or on-premise. Examples include AWS EKS, GCP GKE, Azure AKS, RedHat OpenShift or VMWare vSphere or Rancher. +To create a hybrid cloud region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) +Kubernetes cluster. You can run this cluster can run in any SaaS or local environment, +with tools that range from AWS EKS to VMWare vSphere. -For storage, the Kubernetes cluster needs a CSI driver that provides block storage. Network storage systems like NFS or object storage like S3 are not supported. For vertical scaling, the CSI driver needs to support volume expansion. For backups and restores, the driver needs to support CSI snapshots and restores. +For storage, you need to set up the Kubernetes cluster with a Container Storage +Interface (CSI) driver that provides block storage. For vertical scaling, the +CSI driver needs to support volume expansion. For backups and restores, the +driver needs to support CSI snapshots and restores. -For the installation, you will need a user with `cluster-admin` access to this cluster. + -In order to connect to Qdrant Cloud, the Qdrant Cloud Agent needs to be able to create an outgoing connection to `cloud.qdrant.io` on port `443`. +For access, you also need a `cluster-admin` user. -By default, the Helm charts and container images are pulled from `registry.cloud.qdrant.io` for the Qdrant Cloud Agent and Operator, and from `docker.io` for the Qdrant database. It is also possible to mirror the images and charts to your own registry. +For networks, your cluster needs to connect to the Qdrant Cloud. In other words, +the Qdrant Cloud Agent creates an outgoing connection to `cloud.qdrant.io` on +port `443`. -### Required artefacts +By default, the Qdrant Cloud Agent and Operator pulls Helm charts and container +images from `registry.cloud.qdrant.io`. The Qdrant database pulls from `docker.io`. +You can also mirror the images and charts to your own registry. + +### Required artifacts + +To set up your cloud, you need the following artifacts: Container images -* `docker.io/qdrant/qdrant` -* `registry.cloud.qdrant.io/qdrant/qdrant-cloud-agent` -* `registry.cloud.qdrant.io/qdrant/qdrant-operator` -* `registry.cloud.qdrant.io/qdrant/qdrant-cloud-cluster-manager` +- `docker.io/qdrant/qdrant` +- `registry.cloud.qdrant.io/qdrant/qdrant-cloud-agent` +- `registry.cloud.qdrant.io/qdrant/qdrant-operator` +- `registry.cloud.qdrant.io/qdrant/qdrant-cloud-cluster-manager` -OCI Helm charts +Open Containers Initiative (OCI) Helm charts -* `registry.cloud.qdrant.io/qdrant-charts/qdrant-cloud-agent` -* `registry.cloud.qdrant.io/qdrant-charts/qdrant-operator` +- `registry.cloud.qdrant.io/qdrant-charts/qdrant-cloud-agent` +- `registry.cloud.qdrant.io/qdrant-charts/qdrant-operator` -### Installation +## Installation -Once private regions are activated for your account, go to "Private Regions" in the Qdrant Cloud Console and click "Create". +To set up your Hybrid Cloud, open the Qdrant Cloud Console at +[cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select +**Hybrid Cloud Regions**, and then select **Create**. -You can then choose a name for your private regions and the Kubernetes namespace where the Qdrant Cloud agent and operator are going to de deployed in. +You can then enter: -If you require a proxy to connect to `cloud.qdrant.io` from your Kubernetes cluster, you can configure the necessary Proxy settings and certificates under "Show advanced configuration". +- Name: The Kubernetes namespace for the operator and agent. Once you select a + name, you can't change it. +- Agent version: The version of the Qdrant cloud agent. +- Operator version: Version of the Kubernetes operator. -For a list of possible operator configuration options see the [Operator Configuration](#operator-configuration) section below. +You can then enter the YAML configuration for your Kubernetes operator. Qdrant +supports a specific list of configuration options, as described in the +[Operator Configuration](#operator-configuration) section. -Once you created your region, click on "Generate Installation Command". This will create the necessary API keys for the registry and the Qdrant Cloud API and generate the `kubectl` and `helm install` commands to install the Qdrant Cloud Agent and Operator into your cluster. -This command is only necessary for the initial installation. After that, you can update the agent and operator via the Qdrant Cloud Console. +If you have special requirements for any of the following, activate the +**Show advanced configuration** option: -## Creating a Qdrant Cluster +- Proxy server +- Container registry URL for Qdrant Operator and Agent images. The default is + . +- Helm chart repository URL for the Qdrant Operator and Agent. The default is + . +- CA certificate -Once you have created a private region, you can create a Qdrant cluster in your private region. This works the same way as creating a cluster in a managed cloud region, except that you can choose your private region as the target region. +Once complete, select Create. If successful, you'll briefly see the following +message: + +> Successfully created the Hybrid Cloud Region + + + +### Hybrid Cloud regions + +Once you create a Hybrid Cloud Region, you can review what you just configured. +In the UI, you can also review the: + +- Hybrid Cloud ID: For use in Kubernetes commands +- Operator Pod State: Typically `Unknown` or `Ready` +- Agent Pod State: Typically `Unknown` or `Ready` + +Until you run the Hybrid Cloud installation commands shown in this page, the +state of the Operator and Agent Pods are typically unknown. + +### Generate Installation Command + +After reviewing your configuration, select **Generate Installation Command**. +This includes several commands which: + +- Creates a Kubernetes namespace +- Adds credentials to the Docker registry, labeled `qdrant-registry-creds` +- Sets up a secret key based on an API key, labeled `access-key`. +- Signs into the Helm registry at `registry.cloud.qdrant.io`. +- Installs a Helm chart from the OCI registry. + +These commands create the necessary API keys for the registry and the Qdrant +Cloud API. It also generates the `kubectl` and `helm install` commands to install +the Qdrant Cloud Agent and Operator into your cluster. + +You need this command only for the initial installation. After that, you can +update the agent and operator using the Qdrant Cloud Console. + +Requirements: + +- Your docker server needs access to registry.cloud.qdrant.io +- + +## Creating a Qdrant cluster + +Once you have created a hybrid cloud region, you can create a Qdrant cluster in +that region. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). +Make sure to select your hybrid cloud as the target region. ### Authentication at your Qdrant clusters -### Exposing Qdrant Clusters to your client applications +### Exposing Qdrant clusters to your client applications -## Operator Configuration +## Operator configuration -The Qdrant Operator can be configured in the private region configuration. The following options are available: +You should configure the Qdrant Operator with the configuration for the hybrid +cloud. Use the following options, in YAML format: ```yaml settings: -``` \ No newline at end of file +``` From d76bbf4a00e7bd92f63ded07f9d2845e3c687837 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Fri, 22 Mar 2024 17:49:31 +0100 Subject: [PATCH 4/9] Update hybrid cloud docs --- .../documentation/cloud/hybrid-cloud.md | 181 ++++++++++++------ 1 file changed, 119 insertions(+), 62 deletions(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index cb034686c..0e49debe6 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -5,43 +5,39 @@ weight: 90 # Hybrid Cloud -*Available as of v1.8.2* - -The Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private +Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private region of the Qdrant Cloud. You can use Qdrant Cloud to manage your clusters, and run them in your own infrastructure. ## How it works -When you onboard a Kubernetes cluster as a hybrid cloud region, you can deploy +When you onboard a Kubernetes cluster as a Hybrid Cloud region, you can deploy the Qdrant Kubernetes Operator into this cluster. This operator manages the -Qdrant databases within your Kubernetes cluster. The operator connects to the -Qdrant cloud as `cloud.qdrant.io` on port `443`. You can then have the same +Qdrant databases within your Kubernetes cluster. The operator creates an outgoing +connection to the Qdrant cloud at `cloud.qdrant.io` on port `443`. You can then have the same cloud management features and transport telemetry as is available with any -Qdrant-managed cloud provider. +managed Qdrant Cloud cluster. -The Qdrant Cloud does not need access to the API of your Kubernetes cluster, +Qdrant Cloud does not need access to the API of your Kubernetes cluster, or to any cloud provider, or other platform APIs. The Qdrant databases operate solely within your network, using your storage and compute resources. - ## Signing up for Hybrid Cloud -The Qdrant Hybrid Cloud is currently in private beta. To sign up and join the waiting -list, [contact us](https://qdrant.tech/surveys/hybrid-saas/). +To activate Hybrid Cloud, go to the Hybrid Cloud regions section, enter you company and billing information and request access. ## Creating a Hybrid Cloud region -The following sections specify prerequisites and required artifacts. You can then -set up a Qdrant cluster in your private region. +The following sections specify prerequisites and required artifacts to +set up a Qdrant cluster in your Hybrid Cloud region. ### Prerequisites -To create a hybrid cloud region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) -Kubernetes cluster. You can run this cluster can run in any SaaS or local environment, -with tools that range from AWS EKS to VMWare vSphere. +To create a Hybrid Cloud region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) +Kubernetes cluster. You can run this cluster in any cloud, on-premise or edge environment, +with distributions that range from AWS EKS to VMWare vSphere. For storage, you need to set up the Kubernetes cluster with a Container Storage Interface (CSI) driver that provides block storage. For vertical scaling, the @@ -51,20 +47,20 @@ driver needs to support CSI snapshots and restores. -For access, you also need a `cluster-admin` user. +To install the Qdrant Kubernetes Operator you need to have `cluster-admin` access in your Kubernetes cluster. -For networks, your cluster needs to connect to the Qdrant Cloud. In other words, -the Qdrant Cloud Agent creates an outgoing connection to `cloud.qdrant.io` on -port `443`. +The Qdrant Kubernetes operator in your cluster needs to be able to connect to the Qdrant Cloud. It will create +an outgoing connection to `cloud.qdrant.io` on port `443`. By default, the Qdrant Cloud Agent and Operator pulls Helm charts and container -images from `registry.cloud.qdrant.io`. The Qdrant database pulls from `docker.io`. -You can also mirror the images and charts to your own registry. +images from `registry.cloud.qdrant.io`. The Qdrant database container image is pulled +from `docker.io`. + +You can also mirror these images and charts into your own registry and pull them from there. ### Required artifacts -To set up your cloud, you need the following artifacts: +To set up Hybrid Cloud, you need the following artifacts: Container images @@ -80,14 +76,14 @@ Open Containers Initiative (OCI) Helm charts ## Installation -To set up your Hybrid Cloud, open the Qdrant Cloud Console at +To set up Hybrid Cloud, open the Qdrant Cloud Console at [cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select **Hybrid Cloud Regions**, and then select **Create**. You can then enter: -- Name: The Kubernetes namespace for the operator and agent. Once you select a - name, you can't change it. +- Name: A name for the Private Region +- Kubernetes Namespace: The Kubernetes namespace for the operator and agent. Once you select a namespace, you can't change it. - Agent version: The version of the Qdrant cloud agent. - Operator version: Version of the Kubernetes operator. @@ -104,54 +100,31 @@ If you have special requirements for any of the following, activate the - Helm chart repository URL for the Qdrant Operator and Agent. The default is . - CA certificate +- Log level for the operator and agent -Once complete, select Create. If successful, you'll briefly see the following -message: +Once complete, select Create. -> Successfully created the Hybrid Cloud Region - - - -### Hybrid Cloud regions - -Once you create a Hybrid Cloud Region, you can review what you just configured. -In the UI, you can also review the: - -- Hybrid Cloud ID: For use in Kubernetes commands -- Operator Pod State: Typically `Unknown` or `Ready` -- Agent Pod State: Typically `Unknown` or `Ready` - -Until you run the Hybrid Cloud installation commands shown in this page, the -state of the Operator and Agent Pods are typically unknown. +All settings but the Kubernetes namespace can be changed later. ### Generate Installation Command -After reviewing your configuration, select **Generate Installation Command**. -This includes several commands which: +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: -- Creates a Kubernetes namespace -- Adds credentials to the Docker registry, labeled `qdrant-registry-creds` -- Sets up a secret key based on an API key, labeled `access-key`. -- Signs into the Helm registry at `registry.cloud.qdrant.io`. -- Installs a Helm chart from the OCI registry. - -These commands create the necessary API keys for the registry and the Qdrant -Cloud API. It also generates the `kubectl` and `helm install` commands to install -the Qdrant Cloud Agent and Operator into your cluster. +- Create the Kubernetes namespace +- 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. -Requirements: - -- Your docker server needs access to registry.cloud.qdrant.io -- - ## Creating a Qdrant cluster -Once you have created a hybrid cloud region, you can create a Qdrant cluster in +Once you have created a Hybrid Cloud region, you can create a Qdrant cluster in that region. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). -Make sure to select your hybrid cloud as the target region. +Make sure to select your Hybrid Cloud as the target region. ### Authentication at your Qdrant clusters @@ -163,5 +136,89 @@ You should configure the Qdrant Operator with the configuration for the hybrid cloud. Use the following options, in YAML format: ```yaml +# Configuration for the Qdrant operator settings: + # Does the operator run inside of a Kubernetes cluster (kubernetes) or outside (local) + app_environment: kubernetes + # Retention for the backup history of Qdrant clusters + backupHistoryRetentionDays: 2 + # Timeout configuration for the Qdrant operator operations + operationTimeout: 7200 # 2 hours + handlerTimeout: 21600 # 6 hours + backupTimeout: 12600 # 3.5 hours + # Incremental backoff configuration for the Qdrant operator operations + 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 + ingress: + enabled: false + provider: KubernetesIngress # or NginxIngress +# kubernetesIngress: +# ingressClassName: "" + # Default storage configuration for a Qdrant cluster +# storage: +# # Default VolumeSnapshotClass for a Qdrant cluster +# snapshot_class: "csi-snapclass" +# # Default StorageClass for a Qdrant cluster, uses cluster default StorageClass if not set +# default_storage_class_names: +# # StorageClass for DB volumes +# db: "" +# # StorageClass for snapshot volumes +# snapshot: "" + # Default scheduling configuration for a Qdrant cluster +# scheduling: +# default_topology_spread_constraints: [] +# default_pod_disruption_budget: {} + qdrant: + # Default security context for Qdrant cluster +# securityContext: +# enabled: false +# user: "" +# fsGroup: "" +# group: "" + # Default Qdrant image configuration +# image: +# pull_secret: "" +# pull_policy: IfNotPresent +# repository: qdrant/qdrant + # Default Qdrant log_level +# log_level: INFO + # Default network policies to create for a qdrant cluster + networkPolicies: +# ingress: +# - from: +# - podSelector: +# matchLabels: +# app.kubernetes.io/name: traefik +# namespaceSelector: +# matchLabels: +# kubernetes.io/metadata.name: kube-system +# ports: +# - protocol: TCP +# port: 6333 +# - protocol: TCP +# port: 6334 +# - protocol: TCP +# port: 6335 + # Allow DNS resolution from qdrant pods at Kubernetes internal DNS server + egress: + - to: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + ports: + - protocol: UDP + port: 53 ``` From ec10dd1657c795439cd311d02a55965d8bb98973 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Fri, 5 Apr 2024 19:00:58 +0200 Subject: [PATCH 5/9] Add more docs --- .../documentation/cloud/hybrid-cloud.md | 231 ++++++++++++++---- 1 file changed, 180 insertions(+), 51 deletions(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index 0e49debe6..5d5b88be4 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -5,24 +5,15 @@ weight: 90 # Hybrid Cloud -Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private -region of the Qdrant Cloud. You can use Qdrant Cloud to manage your clusters, and -run them in your own infrastructure. +Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private region of the Qdrant Cloud. You can use Qdrant Cloud to manage your clusters, and run them in your own infrastructure. ## How it works -When you onboard a Kubernetes cluster as a Hybrid Cloud region, you can deploy -the Qdrant Kubernetes Operator into this cluster. This operator manages the -Qdrant databases within your Kubernetes cluster. The operator creates an outgoing -connection to the Qdrant cloud at `cloud.qdrant.io` on port `443`. You can then have the same -cloud management features and transport telemetry as is available with any -managed Qdrant Cloud cluster. +When you onboard a Kubernetes cluster as a Hybrid Cloud region, you can deploy the Qdrant Kubernetes Operator into this cluster. This operator manages the Qdrant databases within your Kubernetes cluster. The operator creates an outgoing connection to the Qdrant cloud at `cloud.qdrant.io` on port `443`. You can then have the same cloud management features and transport telemetry as is available with any managed Qdrant Cloud cluster. -Qdrant Cloud does not need access to the API of your Kubernetes cluster, -or to any cloud provider, or other platform APIs. +Qdrant Cloud does not need access to the API of your Kubernetes cluster, or to any cloud provider, or other platform APIs. -The Qdrant databases operate solely within your network, using your storage and -compute resources. +The Qdrant databases operate solely within your network, using your storage and compute resources. ## Signing up for Hybrid Cloud @@ -30,31 +21,21 @@ To activate Hybrid Cloud, go to the Hybrid Cloud regions section, enter you comp ## Creating a Hybrid Cloud region -The following sections specify prerequisites and required artifacts to -set up a Qdrant cluster in your Hybrid Cloud region. +The following sections specify prerequisites and required artifacts to set up a Qdrant cluster in your Hybrid Cloud region. ### Prerequisites -To create a Hybrid Cloud region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/) -Kubernetes cluster. You can run this cluster in any cloud, on-premise or edge environment, -with distributions that range from AWS EKS to VMWare vSphere. +To create a Hybrid Cloud region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/)Kubernetes cluster. You can run this cluster in any cloud, on-premise or edge environment, with distributions that range from AWS EKS to VMWare vSphere. -For storage, you need to set up the Kubernetes cluster with a Container Storage -Interface (CSI) driver that provides block storage. For vertical scaling, the -CSI driver needs to support volume expansion. For backups and restores, the -driver needs to support CSI snapshots and restores. +For storage, you need to set up the Kubernetes cluster with a Container Storage Interface (CSI) driver that provides block storage. For vertical scaling, the CSI driver needs to support volume expansion. For backups and restores, the driver needs to support CSI snapshots and restores. - + To install the Qdrant Kubernetes Operator you need to have `cluster-admin` access in your Kubernetes cluster. -The Qdrant Kubernetes operator in your cluster needs to be able to connect to the Qdrant Cloud. It will create -an outgoing connection to `cloud.qdrant.io` on port `443`. +The Qdrant Kubernetes operator in your cluster needs to be able to connect to the Qdrant Cloud. It will create an outgoing connection to `cloud.qdrant.io` on port `443`. -By default, the Qdrant Cloud Agent and Operator pulls Helm charts and container -images from `registry.cloud.qdrant.io`. The Qdrant database container image is pulled -from `docker.io`. +By default, the Qdrant Cloud Agent and Operator pulls Helm charts and container images from `registry.cloud.qdrant.io`. The Qdrant database container image is pulled from `docker.io`. You can also mirror these images and charts into your own registry and pull them from there. @@ -76,9 +57,7 @@ Open Containers Initiative (OCI) Helm charts ## Installation -To set up Hybrid Cloud, open the Qdrant Cloud Console at -[cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select -**Hybrid Cloud Regions**, and then select **Create**. +To set up Hybrid Cloud, open the Qdrant Cloud Console at [cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select **Hybrid Cloud Regions**, and then select **Create**. You can then enter: @@ -87,18 +66,13 @@ You can then enter: - Agent version: The version of the Qdrant cloud agent. - Operator version: Version of the Kubernetes operator. -You can then enter the YAML configuration for your Kubernetes operator. Qdrant -supports a specific list of configuration options, as described in the -[Operator Configuration](#operator-configuration) section. +You can then enter the YAML configuration for your Kubernetes operator. Qdrant supports a specific list of configuration options, as described in the [Operator Configuration](#operator-configuration) section. -If you have special requirements for any of the following, activate the -**Show advanced configuration** option: +If you have special requirements for any of the following, activate the **Show advanced configuration** option: - Proxy server -- Container registry URL for Qdrant Operator and Agent images. The default is - . -- Helm chart repository URL for the Qdrant Operator and Agent. The default is - . +- Container registry URL for Qdrant Operator and Agent images. The default is . +- Helm chart repository URL for the Qdrant Operator and Agent. The default is . - CA certificate - Log level for the operator and agent @@ -108,32 +82,174 @@ All settings but the Kubernetes namespace can be changed later. ### Generate Installation Command -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: +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 - 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. +You need this command only for the initial installation. After that, you can update the agent and operator using the Qdrant Cloud Console. ## Creating a Qdrant cluster -Once you have created a Hybrid Cloud region, you can create a Qdrant cluster in -that region. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). -Make sure to select your Hybrid Cloud as the target region. +Once you have created a Hybrid Cloud region, you can create a Qdrant cluster in that region. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). Make sure to select your Hybrid Cloud as the target region. ### 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: + +``` +kubectl create secret generic qdrant-api-key --from-literal=api-key=your-secret-api-key +``` + +With this command the secret name would be `qdrant-api-key` and the key would be `api-key`. + ### 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 -n 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. + +A simple Loadbalancer service could look like this: + +```yaml +apiVersion: v1 +kind: Service +metadata: + name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24-lb + namespace: qdrant-namespace +spec: + type: LoadBalancer + ports: + - port: 6333 + - 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. + +### Network policies + +For security reasons, each database cluster is secured with tight network policies. By default, the database pods do only allow egress traffic between themselves and only allow ingress traffic from the operator for monitoring. + +To allow additional ingress or egress traffic, you can either deploy additionial network policieson your own + +```yaml +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + name: qdrant-9a9f48c7-bb90-4fb2-816f-418a46a74b24 + namespace: qdrant-namespace +spec: + podSelector: + matchLabels: + app: qdrant + cluster-id: 9a9f48c7-bb90-4fb2-816f-418a46a74b24 + policyTypes: + - Ingress + ingress: + - from: + - ipBlock: + cidr: 192.168.0.0/22 + - podSelector: + matchLabels: + app: client-app + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: client-namespace + - podSelector: + matchLabels: + app: traefik + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + ports: + - protocol: TCP + port: 6333 + - protocol: TCP + port: 6334 +``` + +Or you can modify the default network policies in the Hybrid Cloud environment configuration: + +```yaml +qdrant: + networkPolicies: + ingress: + - from: + - ipBlock: + cidr: 192.168.0.0/22 + - podSelector: + matchLabels: + app: client-app + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: client-namespace + - podSelector: + matchLabels: + app: traefik + namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: kube-system + ports: + - port: 6333 + protocol: TCP + - port: 6334 + protocol: TCP +``` + +## Log levels + +You can configure log levels for the databases individually in the configuration section of the Qdrant Cluster detail page. + +The log level for the Qdrant Cloud Agent and Operator can be set in the Hybrid Cloud region configuration. + ## Operator configuration -You should configure the Qdrant Operator with the configuration for the hybrid -cloud. Use the following options, in YAML format: +You should configure the Qdrant Operator with the configuration for the hybrid cloud. Use the following options, in YAML format: ```yaml # Configuration for the Qdrant operator @@ -222,3 +338,16 @@ settings: - protocol: UDP port: 53 ``` + +## Roadmap + +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 \ No newline at end of file From 595aa11b59673f593a629b6edc0fdb32d8b3d026 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Fri, 5 Apr 2024 19:03:28 +0200 Subject: [PATCH 6/9] Add more docs --- .../content/documentation/cloud/hybrid-cloud.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index 5d5b88be4..c67743fb4 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -241,12 +241,26 @@ qdrant: protocol: TCP ``` -## Log levels +## Logging + +You can access the logs with kubectl or the Kubernetes log management tool of your choice. + +Example: + +```bash +kubectl -n qdrant-namespace logs -l app=qdrant,cluster-id=9a9f48c7-bb90-4fb2-816f-418a46a74b24 +``` + +### Log levels You can configure log levels for the databases individually in the configuration section of the Qdrant Cluster detail page. The log level for the Qdrant Cloud Agent and Operator can be set in the Hybrid Cloud region configuration. +## Monitoring + +The Qdrant Cloud console provides you access to basic metrics about CPU, memory and disk usage of your Qdrant clusters. You can also access the Prometheus metrics endpoint of the Qdrant databases. And use the Kubernetes workload monitoring tool of your choice to monitor your Qdrant clusters. + ## Operator configuration You should configure the Qdrant Operator with the configuration for the hybrid cloud. Use the following options, in YAML format: From 3954c5fe043ced156d3baf444fa9ac268a3a9b74 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Wed, 10 Apr 2024 11:03:11 +0200 Subject: [PATCH 7/9] Rename Hybrid Cloud Region to Environment --- .../documentation/cloud/hybrid-cloud.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index c67743fb4..a1166c7a7 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -5,11 +5,11 @@ weight: 90 # Hybrid Cloud -Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private region of the Qdrant Cloud. You can use Qdrant Cloud to manage your clusters, and run them in your own infrastructure. +Qdrant Hybrid Cloud allows you to attach your own infrastructure as a private environment to the Qdrant Cloud. You can use Qdrant Cloud to manage your clusters, and run them in your own infrastructure. ## How it works -When you onboard a Kubernetes cluster as a Hybrid Cloud region, you can deploy the Qdrant Kubernetes Operator into this cluster. This operator manages the Qdrant databases within your Kubernetes cluster. The operator creates an outgoing connection to the Qdrant cloud at `cloud.qdrant.io` on port `443`. You can then have the same cloud management features and transport telemetry as is available with any managed Qdrant Cloud cluster. +When you onboard a Kubernetes cluster as a Hybrid Cloud Environment, you can deploy the Qdrant Kubernetes Operator into this cluster. This operator manages the Qdrant databases within your Kubernetes cluster. The operator creates an outgoing connection to the Qdrant cloud at `cloud.qdrant.io` on port `443`. You can then have the same cloud management features and transport telemetry as is available with any managed Qdrant Cloud cluster. Qdrant Cloud does not need access to the API of your Kubernetes cluster, or to any cloud provider, or other platform APIs. @@ -17,15 +17,15 @@ The Qdrant databases operate solely within your network, using your storage and ## Signing up for Hybrid Cloud -To activate Hybrid Cloud, go to the Hybrid Cloud regions section, enter you company and billing information and request access. +To activate Hybrid Cloud, go to the Hybrid Cloud section, enter you company and billing information and request access. -## Creating a Hybrid Cloud region +## Creating a Hybrid Cloud Environment -The following sections specify prerequisites and required artifacts to set up a Qdrant cluster in your Hybrid Cloud region. +The following sections specify prerequisites and required artifacts to set up a Qdrant cluster in your Hybrid Cloud Environment. ### Prerequisites -To create a Hybrid Cloud region, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/)Kubernetes cluster. You can run this cluster in any cloud, on-premise or edge environment, with distributions that range from AWS EKS to VMWare vSphere. +To create a Hybrid Cloud Environment, you need a [standard compliant](https://www.cncf.io/training/certification/software-conformance/)Kubernetes cluster. You can run this cluster in any cloud, on-premise or edge environment, with distributions that range from AWS EKS to VMWare vSphere. For storage, you need to set up the Kubernetes cluster with a Container Storage Interface (CSI) driver that provides block storage. For vertical scaling, the CSI driver needs to support volume expansion. For backups and restores, the driver needs to support CSI snapshots and restores. @@ -57,11 +57,11 @@ Open Containers Initiative (OCI) Helm charts ## Installation -To set up Hybrid Cloud, open the Qdrant Cloud Console at [cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select **Hybrid Cloud Regions**, and then select **Create**. +To set up Hybrid Cloud, open the Qdrant Cloud Console at [cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select **Hybrid Cloud**, and then select **Create**. You can then enter: -- Name: A name for the Private Region +- Name: A name for the Hybrid Cloud Environment - Kubernetes Namespace: The Kubernetes namespace for the operator and agent. Once you select a namespace, you can't change it. - Agent version: The version of the Qdrant cloud agent. - Operator version: Version of the Kubernetes operator. @@ -93,7 +93,7 @@ You need this command only for the initial installation. After that, you can upd ## Creating a Qdrant cluster -Once you have created a Hybrid Cloud region, you can create a Qdrant cluster in that region. Use the same process to [Create a cluster](/documentation/cloud/create-cluster/). Make sure to select your Hybrid Cloud as the target region. +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. ### Authentication at your Qdrant clusters @@ -255,7 +255,7 @@ kubectl -n qdrant-namespace logs -l app=qdrant,cluster-id=9a9f48c7-bb90-4fb2-816 You can configure log levels for the databases individually in the configuration section of the Qdrant Cluster detail page. -The log level for the Qdrant Cloud Agent and Operator can be set in the Hybrid Cloud region configuration. +The log level for the Qdrant Cloud Agent and Operator can be set in the Hybrid Cloud Environment configuration. ## Monitoring @@ -268,7 +268,7 @@ You should configure the Qdrant Operator with the configuration for the hybrid c ```yaml # Configuration for the Qdrant operator settings: - # Does the operator run inside of a Kubernetes cluster (kubernetes) or outside (local) + # Does the operator run inside a Kubernetes cluster (kubernetes) or outside (local) app_environment: kubernetes # Retention for the backup history of Qdrant clusters backupHistoryRetentionDays: 2 From d89be452a57859035bac7a9939badd3e684c4546 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Wed, 10 Apr 2024 11:08:39 +0200 Subject: [PATCH 8/9] Add more infos --- .../content/documentation/cloud/hybrid-cloud.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index a1166c7a7..3a8e943a2 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -49,22 +49,26 @@ Container images - `registry.cloud.qdrant.io/qdrant/qdrant-cloud-agent` - `registry.cloud.qdrant.io/qdrant/qdrant-operator` - `registry.cloud.qdrant.io/qdrant/qdrant-cloud-cluster-manager` +- `registry.cloud.qdrant.io/qdrant/prometheus` +- `registry.cloud.qdrant.io/qdrant/prometheus-config-reloader` +- `registry.cloud.qdrant.io/qdrant/kube-state-metrics` Open Containers Initiative (OCI) Helm charts - `registry.cloud.qdrant.io/qdrant-charts/qdrant-cloud-agent` - `registry.cloud.qdrant.io/qdrant-charts/qdrant-operator` - +- `registry.cloud.qdrant.io/qdrant-charts/prometheus` +- ## Installation -To set up Hybrid Cloud, open the Qdrant Cloud Console at [cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select **Hybrid Cloud**, and then select **Create**. +To set up Hybrid Cloud, open the Qdrant Cloud Console at [cloud.qdrant.io](https://cloud.qdrant.io). On the dashboard, select **Hybrid Cloud**. + +Before creating your first Hybrid Cloud Environment, you have to provide billing information and accept the Hybrid Cloud license agreement. The installation wizard will guide you through the process. You will only be charged for the Qdrant cluster you create in a Hybrid Cloud Environment, not for the environment itself. You can then enter: - Name: A name for the Hybrid Cloud Environment - Kubernetes Namespace: The Kubernetes namespace for the operator and agent. Once you select a namespace, you can't change it. -- Agent version: The version of the Qdrant cloud agent. -- Operator version: Version of the Kubernetes operator. You can then enter the YAML configuration for your Kubernetes operator. Qdrant supports a specific list of configuration options, as described in the [Operator Configuration](#operator-configuration) section. @@ -353,10 +357,15 @@ settings: port: 53 ``` +## Deleting a Hybrid Cloud Environment + +To delete a Hybrid Cloud Environment, first delete all Qdrant database clusters in it, then open a support ticket with the id of the environment you want to delete. + ## Roadmap 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. +* Self-service environment deletion * Node selectors * Tolerations * Affinities and anti-affinities From af79d6bfa5e3bd7b94697ea64fedbc96e003fb49 Mon Sep 17 00:00:00 2001 From: Bastian Hofmann Date: Wed, 10 Apr 2024 13:13:02 +0200 Subject: [PATCH 9/9] Fix svc spec --- qdrant-landing/content/documentation/cloud/hybrid-cloud.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md index 3a8e943a2..04f446ef0 100644 --- a/qdrant-landing/content/documentation/cloud/hybrid-cloud.md +++ b/qdrant-landing/content/documentation/cloud/hybrid-cloud.md @@ -144,8 +144,10 @@ metadata: spec: type: LoadBalancer ports: - - port: 6333 - - port: 6334 + - name: http + port: 6333 + - name: grpc + port: 6334 selector: app: qdrant cluster-id: 9a9f48c7-bb90-4fb2-816f-418a46a74b24