Qdrant 私有云设置

要求

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

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

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
  • registry.cloud.qdrant.io/qdrant/qdrant-cluster-exporter

开放容器倡议 (OCI) Helm chart

  • registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud

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

  • 每个私有云版本的具体版本都在私有云变更日志中记录。

安装

入职 Qdrant 私有云后,您将收到访问 Qdrant 云注册表的凭据。您可以使用这些凭据通过以下命令安装 Qdrant 私有云解决方案

  1. 为您私有云部署创建命名空间。您可以为命名空间使用任何名称,但您需要更新后续步骤以反映此名称。例如
kubectl create namespace qdrant-private-cloud
  1. 使用您的 Qdrant 云注册表凭据创建 Kubernetes 密钥,以允许您的 Kubernetes 集群拉取必要的容器镜像
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
  1. 使用 Helm 登录 Qdrant 云注册表
helm registry login 'registry.cloud.qdrant.io' --username 'your-username' --password 'your-password'
  1. 安装 Qdrant Kubernetes Operator 自定义资源定义 (CRD)
helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.20.0 --wait
  1. 安装 Qdrant 私有云
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.9.2

确保 qdrant-kubernetes-api 版本与您正在安装的 qdrant-private-cloud 版本兼容。

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

当前默认版本是

  • qdrant-kubernetes-api v1.20.0
  • qdrant-private-cloud 1.9.2

有关更多信息,请参阅Helm 安装文档

配置私有云

Qdrant 私有云 Helm chart 附带一组默认值,适用于大多数部署。但是,您可以进一步自定义配置以适应您的特定需求。有关所有可用配置选项,请参阅私有云配置页面。

您必须确保为您的环境适当地设置了默认的 StorageClasses 和相应的 VolumeSnapshotClass

创建您自己的 values.yaml 文件时,作为最佳实践,只包含您实际更改的值,例如使用此 values.yaml 文件

operator:
  settings:
    features:
      clusterManagement:
        storageClass:
          database: your-storage-class-name
          snapshot: your-storage-class-name
      backupManagement:
        snapshots:
          volumeSnapshotClass: your-volume-snapshot-class-name

您可以这样配置 Qdrant 私有云

helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.9.2 -f values.yaml

升级

要将 Qdrant 私有云升级到新版本,请首先升级 Qdrant Kubernetes Operator 自定义资源定义 (CRD)

helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.20.0 --wait

然后使用相同的配置值升级 Qdrant 私有云 Helm chart,例如

helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.9.2 -f values.yaml

请注意,镜像标签值是根据 chart 的 appVersions 自动派生的,不应在 values.yaml 中覆盖。

有关更多信息,请参阅Helm 升级文档

镜像镜像和 chart

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

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 值中的镜像仓库和 imagePullSecret 信息,例如

operator:
  image:
    repository: your-registry.example.com/qdrant/operator
  imagePullSecrets:
    - name: your-registry-creds
  settings:
    features:
      clusterManagement:
        qdrant:
          image:
            repository: your-registry.example.com/qdrant/qdrant
            pullSecretName: your-registry-creds
            
qdrant-cluster-manager:
  image:
    repository: your-registry.example.com/qdrant/cluster-manager
  imagePullSecrets:
    - name: your-registry-creds
      
qdrant-cluster-exporter:
  image:
    repository: your-registry.example.com/qdrant/qdrant-cluster-exporter
  imagePullSecrets:
    - name: your-registry-creds

有关详细信息,请参阅私有云配置

Operator 的范围

默认情况下,Qdrant Operator 将只管理已部署的 Kubernetes 命名空间中的 Qdrant 集群。RoleBinding 也限于此特定命名空间。选择此默认值是为了将 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 问题。