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 集群,并配置好 kubectl
和 helm
以连接到它。有关更多信息,请查阅您的 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 集群。