Qdrant 私有云设置

需求

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

注意: 您还可以将这些镜像和图表镜像到您自己的注册表中,并从那里拉取它们。

命令行工具

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

您需要能够访问配置了kubectlhelm以连接到它的Kubernetes集群。请参考您的Kubernetes发行版的文档以获取更多信息。

所需工件

容器镜像:

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

开放容器倡议 (OCI) Helm 图表:

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

镜像图像和图表

要将所有必要的容器镜像和Helm图表镜像到您自己的注册表中,您可以使用注册表提供的复制功能,或者您可以使用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 图表:

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值中的仓库信息。详情请参见私有云配置

安装与升级

一旦您加入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.6.4 --wait
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.1.0

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

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

操作符的范围

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

如果你想用同一个操作员管理多个命名空间中的Qdrant集群,你可以配置一个操作员应该监视的命名空间列表:

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:
  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 Private Cloud解决方案,您可以使用以下命令:

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 将会移除所有的自定义资源定义(CRDs),同时也会移除由操作员管理的所有 Qdrant 集群。

这个页面有用吗?

感谢您的反馈!🙏

我们很抱歉听到这个消息。😔 你可以在GitHub上编辑这个页面,或者创建一个GitHub问题。