创建混合云环境
以下指令集将向您展示如何在您的混合云环境中正确设置Qdrant集群。
您还可以观看一个视频演示,了解如何设置混合云环境:
要了解混合云的工作原理,阅读概述文档。
先决条件
- Kubernetes集群:要创建混合云环境,您需要一个符合标准的 Kubernetes集群。您可以在任何云、本地或边缘环境中运行此集群,支持的发行版从AWS EKS到VMWare vSphere不等。有关更多信息,请参阅部署平台。
- 存储: 对于存储,您需要设置一个带有容器存储接口(CSI)驱动程序的Kubernetes集群,该驱动程序提供块存储。对于垂直扩展,CSI驱动程序需要支持卷扩展。需要预先创建
StorageClass。对于备份和恢复,驱动程序需要支持CSI快照和恢复。需要预先创建VolumeSnapshotClass。有关更多信息,请参见部署平台。
- Kubernetes 节点: 您需要为创建的 Qdrant 数据库集群提供足够的 CPU 和内存容量。混合云控制平面组件也需要少量资源。Qdrant 混合云支持 x86_64 和 ARM64 架构。
- 权限: 要安装 Qdrant Kubernetes Operator,您需要在 Kubernetes 集群中拥有
cluster-admin访问权限。 - 连接: 您集群中的Qdrant Kubernetes Operator需要能够连接到Qdrant Cloud。它将创建一个到
cloud.qdrant.io端口443的出站连接。 - 位置: 默认情况下,Qdrant Cloud Agent 和 Operator 从
registry.cloud.qdrant.io拉取 Helm 图表和容器镜像。Qdrant 数据库容器镜像从docker.io拉取。
注意: 您还可以将这些镜像和图表镜像到您自己的注册表中,并从那里拉取它们。
命令行工具
在入门过程中,您需要使用 Helm 部署 Qdrant Kubernetes Operator 和 Agent。请确保已安装以下工具:
您需要能够访问配置了kubectl和helm以连接到它的Kubernetes集群。请参考您的Kubernetes发行版的文档以获取更多信息。
安装
要设置混合云,请在cloud.qdrant.io打开Qdrant云控制台。在仪表板上,选择混合云。
在创建您的第一个混合云环境之前,您需要提供账单信息并接受混合云许可协议。安装向导将引导您完成此过程。
注意:您只需为在混合云环境中创建的Qdrant集群付费,而不需要为环境本身付费。
- Now you can specify the following:
- 名称: 混合云环境的名称
- Kubernetes 命名空间: 操作员和代理的 Kubernetes 命名空间。一旦选择了命名空间,就无法更改。
如果您想偏离集群的默认设置,还可以配置用于Qdrant数据库的StorageClass和VolumeSnapshotClass。

然后,您可以输入您的 Kubernetes 操作员的 YAML 配置。Qdrant 支持特定的配置选项列表,如 Qdrant Operator 配置 部分所述。
(可选)如果您对以下任何一项有特殊要求,请激活显示高级配置选项:
- 如果您使用代理从您的基础设施连接到Qdrant Cloud API,您可以指定代理URL、凭据和证书。
- Qdrant Operator 和 Agent 镜像的容器注册表 URL。默认是 https://registry.cloud.qdrant.io/qdrant/。
- Qdrant Operator 和 Agent 的 Helm chart 仓库 URL。默认是 oci://registry.cloud.qdrant.io/qdrant-charts。
- 一个可选的密钥,包含访问您自己的容器注册表的凭据。
- 操作员和代理的日志级别
- 操作员、代理和监控堆栈的节点选择器和容忍度

- Once complete, click Create.
注意:除了Kubernetes命名空间之外,所有设置都可以稍后更改。
生成安装命令
创建混合云后,选择生成安装命令以生成一个脚本,您可以在Kubernetes集群中运行该脚本,该脚本将执行Kubernetes操作员和代理的初始安装。

它将:
- 如果不存在,创建Kubernetes命名空间。
- 设置必要的密钥,包含访问Qdrant容器注册表和Qdrant Cloud API的凭证。
- 登录到Helm注册表
registry.cloud.qdrant.io。 - 安装Qdrant云代理和Kubernetes操作员图表。
您只需要在初始安装时使用此命令。之后,您可以使用Qdrant Cloud Console更新代理和操作员。
注意: 如果您再次生成安装命令,它将重新生成包含的密钥,您将需要再次应用该命令以更新它们。
高级配置
镜像图像和图表
所需工件
容器镜像:
registry.cloud.qdrant.io/qdrant/qdrantregistry.cloud.qdrant.io/qdrant/qdrant-cloud-agentregistry.cloud.qdrant.io/qdrant/operatorregistry.cloud.qdrant.io/qdrant/cluster-managerregistry.cloud.qdrant.io/qdrant/prometheusregistry.cloud.qdrant.io/qdrant/prometheus-config-reloaderregistry.cloud.qdrant.io/qdrant/kube-state-metrics
开放容器倡议 (OCI) Helm 图表:
registry.cloud.qdrant.io/qdrant-charts/qdrant-cloud-agentregistry.cloud.qdrant.io/qdrant-charts/operatorregistry.cloud.qdrant.io/qdrant-charts/qdrant-cluster-managerregistry.cloud.qdrant.io/qdrant-charts/prometheus
要将所有必要的容器镜像和Helm图表镜像到您自己的注册表中,您应该使用注册表提供的自动复制功能,以便自动获取新的镜像版本。或者,您可以使用像Skopeo这样的工具手动同步镜像。手动同步镜像时,请确保同步所有或正确的CPU架构。
自动复制
确保您在/qdrant/仓库中有容器镜像,并且在/qdrant-charts/仓库中有同步的helm charts。然后转到混合云环境的高级部分,配置您的注册表位置:
- 容器注册表URL:
your-registry.example.com/qdrant(例如,这将导致your-registry.example.com/qdrant/qdrant-cloud-agent) - 图表仓库URL:
oci://your-registry.example.com/qdrant-charts(例如,这将导致oci://your-registry.example.com/qdrant-charts/qdrant-cloud-agent)
如果您的注册表需要身份验证,您必须在the-qdrant-namespace命名空间中创建包含身份验证信息的自己的密钥。
示例:
kubectl --namespace the-qdrant-namespace create secret docker-registry my-creds --docker-server='your-registry.example.com' --docker-username='your-username' --docker-password='your-password'
然后,您可以在混合云环境的高级部分中引用该密钥。
手动复制
这个例子使用了Skopeo。
您可以在入门命令中找到您的Qdrant Cloud注册表的个人凭证,或者您可以使用kubectl获取它们:
kubectl get secrets qdrant-registry-creds --namespace the-qdrant-namespace -o jsonpath='{.data.\.dockerconfigjson}' | base64 --decode | jq -r '.'
首先登录到源注册表:
skopeo login registry.cloud.qdrant.io
然后登录到您自己的注册表:
skopeo login your-registry.example.com
同步所有容器镜像:
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/operator your-registry.example.com/qdrant/operator
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/qdrant-cloud-agent your-registry.example.com/qdrant/qdrant-cloud-agent
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/prometheus your-registry.example.com/qdrant/prometheus
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/prometheus-config-reloader your-registry.example.com/qdrant/prometheus-config-reloader
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/kube-state-metrics your-registry.example.com/qdrant/kube-state-metrics
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/qdrant your-registry.example.com/qdrant/qdrant
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/cluster-manager your-registry.example.com/qdrant/cluster-manager
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant/operator your-registry.example.com/qdrant/operator
同步所有 helm 图表:
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-charts/prometheus your-registry.example.com/qdrant-charts/prometheus
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-charts/operator your-registry.example.com/qdrant-charts/operator
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api your-registry.example.com/qdrant-charts/qdrant-kubernetes-api
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-charts/qdrant-cloud-agent your-registry.example.com/qdrant-charts/qdrant-cloud-agent
skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-charts/operator your-registry.example.com/qdrant-charts/operator
通过上述配置,您可以在混合云环境的高级部分添加以下值:
- 容器注册表URL:
your-registry.example.com/qdrant - 图表仓库URL:
oci://your-registry.example.com/qdrant-charts
如果您的注册表需要身份验证,您可以按照上述相同的方式创建和引用密钥。
docker.io的速率限制
默认情况下,Qdrant数据库镜像将从Docker Hub获取,这是主要的可信来源。Docker Hub对匿名用户有速率限制。如果您有较大的设置并且还从那里获取其他镜像,您可能会遇到这些限制。为了解决这个问题,您可以提供Docker Hub的认证信息。
首先,在您的the-qdrant-namespace命名空间中创建一个包含您的Docker Hub凭据的密钥:
kubectl create secret docker-registry dockerhub-registry-secret --namespace the-qdrant-namespace --docker-server=https://index.docker.io/v1/ --docker-username=<your-name> --docker-password=<your-pword> --docker-email=<your-email>
然后,您可以通过在混合云环境的高级部分的操作员配置YAML编辑器中添加以下配置来引用此秘密:
qdrant:
image:
pull_secret: "dockerhub-registry-secret"
轮换密钥
如果您需要轮换密钥以从Qdrant注册表拉取容器镜像和图表,并在Qdrant Cloud API进行身份验证,您可以按照以下步骤操作:
- 转到混合云环境列表或环境的详细信息页面。
- 在操作菜单中,选择“轮换密钥”
- 确认操作
- 您将收到一个新的安装命令,可以在您的Kubernetes集群中运行以更新密钥。
如果不运行安装命令,密钥将不会更新,您的混合云环境与Qdrant Cloud API之间的通信将无法正常工作。

删除混合云环境
要删除混合云环境,首先删除其中的所有Qdrant数据库集群。然后您可以删除环境本身。
要清理您的Kubernetes集群,在删除混合云环境后,您可以使用以下脚本来移除所有与Qdrant相关的资源:
在https://github.com/qdrant/qdrant-cloud-support-tools/tree/main/hybrid-cloud-cleanup下载脚本。然后在连接到您的Kubernetes集群时运行以下命令。该脚本需要安装kubectl和helm。
./hybrid-cloud-cleanup.sh your-qdrant-namespace
