Qdrant 私有云设置

要求

  • Kubernetes 集群: 要安装 Qdrant 私有云,您需要一个符合标准的 Kubernetes 集群。您可以在任何云、本地或边缘环境中运行此集群,支持从 AWS EKS 到 VMWare vSphere 的各种发行版。有关更多信息,请参阅部署平台
  • 存储: 对于存储,您需要使用提供块存储的容器存储接口 (CSI) 驱动程序来设置 Kubernetes 集群。对于垂直扩展,CSI 驱动程序需要支持卷扩展。对于备份和恢复,驱动程序需要支持 CSI 快照和恢复。
  • 权限: 要安装 Qdrant Kubernetes Operator,您需要在 Kubernetes 集群中拥有 cluster-admin 访问权限。
  • 位置: 默认情况下,Qdrant Operator Helm Charts 和容器镜像从 registry.cloud.qdrant.io 提供。

注意: 您也可以将这些镜像和 Charts 镜像到您自己的注册表并从中拉取。

CLI 工具

在入门过程中,您需要使用 Helm 部署 Qdrant Kubernetes Operator。请确保您已安装以下工具:

您需要能够访问 Kubernetes 集群,并配置好 kubectlhelm 以连接到它。有关更多信息,请查阅您的 Kubernetes 发行版文档。

所需工件

容器镜像

  • registry.cloud.qdrant.io/qdrant/qdrant
  • registry.cloud.qdrant.io/qdrant/operator
  • registry.cloud.qdrant.io/qdrant/cluster-manager

Open Containers Initiative (OCI) Helm Charts

  • registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud
  • registry.cloud.qdrant.io/library/qdrant-kubernetes-api

镜像镜像和 Charts

要将所有必需的容器镜像和 Helm Charts 镜像到您自己的注册表,您可以使用注册表提供的复制功能,或者使用 Skopeo 手动同步镜像

首先登录源注册表

skopeo login registry.cloud.qdrant.io

然后登录您自己的注册表

skopeo login your-registry.example.com

同步所有容器镜像

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 Charts

skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud your-registry.example.com/qdrant-charts/qdrant-private-cloud
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

在安装或升级期间,您需要调整 Helm Chart Values 中的仓库信息。有关详细信息,请参阅私有云配置

安装与升级

入门 Qdrant 私有云后,您将收到访问 Qdrant 云注册表的凭据。您可以使用这些凭据通过以下命令安装 Qdrant 私有云解决方案。您可以自由选择 Kubernetes 命名空间。

kubectl create namespace qdrant-private-cloud
kubectl create secret docker-registry qdrant-registry-creds --docker-server=registry.cloud.qdrant.io --docker-username='your-username' --docker-password='your-password' --namespace qdrant-private-cloud
helm registry login 'registry.cloud.qdrant.io' --username 'your-username' --password 'your-password'
helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.16.3 --wait
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.7.0

有关可用版本列表,请查阅私有云更新日志

当前默认版本为:

  • qdrant-kubernetes-api v1.16.3
  • qdrant-private-cloud 1.7.0

特别请确保,引用 StorageClasses 和相应的 VolumeSnapshotClass 的默认值在您的环境中已正确设置。

Operator 的范围

默认情况下,Qdrant Operator 只管理已部署的同一 Kubernetes 命名空间中的 Qdrant 集群。RoleBindings 也仅限于此特定命名空间。选择此默认设置是为了将 Operator 在 Kubernetes 集群中所需的权限限制在最小范围。

如果您想使用同一个 Operator 管理多个命名空间中的 Qdrant 集群,您可以配置 Operator 应监听的命名空间列表:

operator:
  watch:
    # If true, watches only the namespace where the Qdrant operator is deployed, otherwise watches the namespaces in watch.namespaces
    onlyReleaseNamespace: false
    # an empty list watches all namespaces.
    namespaces:
      - qdrant-private-cloud
      - some-other-namespase
  limitRBAC: true

或者您可以配置 Operator 监听所有命名空间:

operator:
  watch:
    # If true, watches only the namespace where the Qdrant operator is deployed, otherwise watches the namespaces in watch.namespaces
    onlyReleaseNamespace: false
    # an empty list watches all namespaces.
    namespaces: []
  limitRBAC: false

卸载

要卸载 Qdrant 私有云解决方案,您可以使用以下命令:

helm uninstall qdrant-private-cloud --namespace qdrant-private-cloud
helm uninstall qdrant-private-cloud-crds --namespace qdrant-private-cloud
kubectl delete namespace qdrant-private-cloud

请注意,卸载 qdrant-private-cloud-crds Helm Chart 将移除所有自定义资源定义 (CRD),同时也会移除由 Operator 管理的所有 Qdrant 集群。

本页是否有帮助?

感谢您的反馈!🙏

很抱歉听到此消息。您可以在 GitHub 上编辑此页面,或创建 GitHub Issue。