外观
本页尚未翻译
本页内容仍为英文原文,源自官方文档 enterprise/deployment/kubernetes。中文翻译正在分批进行中。
Kubernetes deployment guide
Learn how LanceDB Enterprise deploys on Kubernetes with private networking, object storage, and workload identity.
LanceDB Enterprise deploys on a Kubernetes cluster (AKS, EKS, GKE, or self-managed) with object storage for data persistence and your cloud's private networking for secure connectivity. The architecture below is the same shape on every cloud; the only cloud-specific part is how storage containers are organized, covered at the end of this page for Azure Blob Storage.
General architecture overview
mermaid
%%{init: {"theme": "base", "themeVariables": {
"background": "#ffffff", "primaryColor": "#ffffff", "primaryTextColor": "#221d19",
"primaryBorderColor": "#ad9e95", "lineColor": "#6b625c", "textColor": "#221d19",
"clusterBkg": "#f4ebe8", "clusterBorder": "#ad9e95", "edgeLabelBackground": "#ffffff",
"fontFamily": "Inter, sans-serif", "fontSize": "18px"
}}}%%
graph TB
subgraph "Client VPC"
Client[Client Applications]
end
subgraph "Server VPC"
PLS[Private Link Service]
subgraph "Kubernetes Cluster"
LDB[LanceDB Enterprise<br/>Query Nodes, Executors,<br/>Lance Agent, Indexer Pods]
end
EH[Message Queue<br/>for LanceDB internal<br/>message passing]
BS[Object Storage]
WI[Workload Identity]
end
Client ==>|Private Link| PLS
PLS ==> LDB
LDB <-->|Read/Write| BS
LDB -->|Async Events| EH
EH -->|Process| LDB
WI -.->|RBAC| BS
WI -.->|Assigned| LDB
classDef default fill:#ffffff,stroke:#ad9e95,stroke-width:1px,color:#221d19
classDef accent fill:#fff1ec,stroke:#e8582d,stroke-width:1.5px,color:#221d19
class LDB accentKey components
- LanceDB architecture is deployed in a Kubernetes cluster within its own VPC.
- Client applications connect to the cluster securely using your cloud's private link service.
- The cluster is granted object storage read/write permissions using cloud-native workload identity (Azure Workload Identity, IRSA on EKS, or Workload Identity Federation on GKE).
- A message queue -- a managed service such as Azure EventHub, or a self-hosted Kafka cluster in Kubernetes -- carries LanceDB's internal message passing.
Read path architecture
mermaid
%%{init: {"theme": "base", "themeVariables": {
"background": "#ffffff", "primaryColor": "#ffffff", "primaryTextColor": "#221d19",
"primaryBorderColor": "#ad9e95", "lineColor": "#6b625c", "textColor": "#221d19",
"clusterBkg": "#f4ebe8", "clusterBorder": "#ad9e95", "edgeLabelBackground": "#ffffff",
"fontFamily": "Inter, sans-serif", "fontSize": "18px"
}}}%%
graph LR
subgraph "Client Network"
C[Client App]
end
subgraph "Kubernetes Cluster"
PL[Private Link<br/>Service]
QN[Query Nodes<br/>Query planning + routing fleet]
PE[Executors<br/>Executor + cache fleet]
end
subgraph "Storage"
BS[Object<br/>Storage]
end
C -->|Private<br/>Connection| PL
PL --> QN
QN -->|Query<br/>Request| PE
PE -->|Cache Miss<br/>Read Data| BS
classDef default fill:#ffffff,stroke:#ad9e95,stroke-width:1px,color:#221d19
classDef accent fill:#fff1ec,stroke:#e8582d,stroke-width:1.5px,color:#221d19
class BS accentRead path flow
- Client application sends a query request through the private link.
- Query nodes receive and process the request.
- Executors execute the query using the distributed data cache to speed up read queries.
- Object storage stores data and indices in Lance format, while executors maintain a distributed cache for performance.
Write path architecture
mermaid
%%{init: {"theme": "base", "themeVariables": {
"background": "#ffffff", "primaryColor": "#ffffff", "primaryTextColor": "#221d19",
"primaryBorderColor": "#ad9e95", "lineColor": "#6b625c", "textColor": "#221d19",
"clusterBkg": "#f4ebe8", "clusterBorder": "#ad9e95", "edgeLabelBackground": "#ffffff",
"fontFamily": "Inter, sans-serif", "fontSize": "18px"
}}}%%
graph TD
subgraph "Client Network"
C[Client App]
end
subgraph "Kubernetes Cluster"
PL[Private Link<br/>Service]
QN[Query Nodes<br/>Query planning + routing fleet]
LA[Lance Agent]
IP[Indexer Pods<br/>On-Demand]
end
subgraph "Messaging"
EH[Message Queue<br/>Write Events]
end
subgraph "Storage"
BS[Object<br/>Storage]
end
C -->|Private Connection| PL
PL --> QN
QN -->|Sync Write| BS
QN -->|Async Events| EH
EH -->|Consume| LA
LA -->|Launch| IP
IP -->|Index & Optimize| BS
classDef default fill:#ffffff,stroke:#ad9e95,stroke-width:1px,color:#221d19
classDef accent fill:#fff1ec,stroke:#e8582d,stroke-width:1.5px,color:#221d19
class BS accentWrite path flow
Query nodes write data and indices synchronously to object storage in Lance format while asynchronously sending data modification events to the message queue (a managed service such as Azure EventHub, or a self-hosted Kafka cluster). These write events are processed by the Lance Agent, which launches indexing pods or data optimization pods to optimize data for better read performance.
Deployment models
LanceDB Enterprise supports three deployment models, available on AWS, GCP, and Azure:
1. Fully managed service
- Infrastructure and storage in LanceDB's cloud account.
- Complete management by the LanceDB team.
- Simplest setup for customers.
2. BYOC (bring your own cloud)
- Infrastructure and storage in the customer's cloud account.
- Fully managed by LanceDB.
- Full control over data residency.
3. Hybrid -- bring your own container
- Infrastructure in LanceDB's account.
- Storage containers in the customer's account.
说明
For private deployments, high performance at extreme scale, or if you have strict security requirements, contact us about LanceDB Enterprise.
Azure-specific: storage containers
The one part of this architecture that is genuinely cloud-specific is how object storage is organized. On Azure, data lives in Blob Storage containers, grouped under one or more storage accounts -- the same multi-tenant or multi-workload layout applies whether you use a single account with several containers, or split workloads across accounts:
mermaid
%%{init: {"theme": "base", "themeVariables": {
"background": "#ffffff", "primaryColor": "#ffffff", "primaryTextColor": "#221d19",
"primaryBorderColor": "#ad9e95", "lineColor": "#6b625c", "textColor": "#221d19",
"clusterBkg": "#f4ebe8", "clusterBorder": "#ad9e95", "edgeLabelBackground": "#ffffff",
"fontFamily": "Inter, sans-serif", "fontSize": "18px"
}}}%%
graph TB
subgraph "Multi-Account & Multi-Container Support"
SA1[Storage Account 1]
SA2[Storage Account 2]
SA3[Storage Account N]
SA1 --> C1A[Container A]
SA1 --> C1B[Container B]
SA1 --> C1C[Container C]
SA2 --> C2A[Container X]
SA2 --> C2B[Container Y]
SA3 --> C3A[Container 1]
SA3 --> C3B[Container 2]
end
classDef default fill:#ffffff,stroke:#ad9e95,stroke-width:1px,color:#221d19The equivalent on other clouds is an S3 bucket (AWS) or a Cloud Storage bucket (GCP); everything else on this page -- the Kubernetes cluster layout, the read and write paths, and the deployment models -- applies unchanged.