Qdrant Azure 私有云 API KEY 设置未找到

问题描述 投票:0回答:1

我最近按照本文档 (https://github.com/Azure-Samples/qdrant-azure/blob/main/Azure-Kubernetes-Svc/README.md) 将 qdrant 部署到 AKS 集群上,一切都很顺利按预期工作。但是,我注意到我不需要输入 API 密钥来访问或编辑我的数据库。但是,我不知道在哪里可以实现此设置。

我首先尝试在 AKS 中创建一个秘密实例并将其绑定到 StatefulSet,但是,这似乎并没有成功。在阅读了大量官方文档后,设置 API KEY 的唯一方法似乎是在 Qdrant Cloud 网站上创建集群或在 QdrantClusterSetting.yaml 中启用 API KEY。在我目前的状态下,这两个似乎都无关紧要。在 AKS 上启用 API 密钥是否可以实现?预先感谢。

azure-aks qdrant
1个回答
0
投票

要在启用 API 密钥身份验证的 AKS 上设置 Qdrant, 使用 StatefulSet 部署 Qdrant

kubectl create secret generic qdrant-api-key-secret --from-literal=api-key=b//ZtUPcPLY2i5ktrqdZ0EUvstHkeezHjAQCK6aamRQ= -n qdrant

使用 StatefulSet 部署 Qdrant

apiVersion: v1
kind: Service
metadata:
  name: qdrant
  namespace: qdrant
spec:
  ports:
    - port: 6333
      targetPort: 6333
      protocol: TCP
  clusterIP: None
  selector:
    app: qdrant
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: qdrant
  namespace: qdrant
spec:
  serviceName: "qdrant"
  replicas: 1
  selector:
    matchLabels:
      app: qdrant
  template:
    metadata:
      labels:
        app: qdrant
    spec:
      containers:
      - name: qdrant
        image: qdrant/qdrant:v1.2.0
        ports:
        - containerPort: 6333
          name: qdrant
        env:
        - name: QDRANT__SERVICE__API_KEY
          valueFrom:
            secretKeyRef:
              name: qdrant-api-key-secret
              key: api-key
        volumeMounts:
        - name: qdrant-data
          mountPath: /qdrant/storage
      volumes:
      - name: qdrant-data
        persistentVolumeClaim:
          claimName: qdrant-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: qdrant-pvc
  namespace: qdrant
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi

通过负载均衡器公开 Qdrant

apiVersion: v1
kind: Service
metadata:
  name: qdrant-loadbalancer
  namespace: qdrant
spec:
  selector:
    app: qdrant
  ports:
  - protocol: TCP
    port: 80
    targetPort: 6333
  type: LoadBalancer

enter image description here

获取Qdrant服务的外部IP

kubectl get service qdrant-loadbalancer -n qdrant

enter image description here

要验证 Qdrant 是否可访问且 API 密钥身份验证是否正常工作,请使用您的 API 密钥向外部 IP 发出 HTTP 请求

curl -H "API-Key: b//ZtUPcPLY2i5ktrqdZ0EUvstHkeezHjAQCK6aamRQ=" http://4.236.219.119:80

enter image description here

如果一切设置正确,您将收到来自 Qdrant 的类似于以下的响应 -

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.