mirror of
https://github.com/qdrant/landing_page.git
synced 2026-10-04 10:28:29 +02:00
Merge pull request #1849 from qdrant/feat/bashofmann/extend-private-cloud-setup
Extend Private Cloud Setup guide
This commit is contained in:
@@ -359,4 +359,139 @@ qdrant-cluster-manager:
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
qdrant-cluster-exporter:
|
||||
image:
|
||||
repository: registry.cloud.qdrant.io/qdrant/qdrant-cluster-exporter
|
||||
pullPolicy: Always
|
||||
# Overrides the image tag. Defaults to the chart appVersion.
|
||||
tag: ""
|
||||
|
||||
imagePullSecrets:
|
||||
- name: qdrant-registry-creds
|
||||
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
serviceAccount:
|
||||
# Specifies whether a service account should be created
|
||||
create: true
|
||||
# Annotations to add to the service account
|
||||
annotations: {}
|
||||
# The name of the service account to use.
|
||||
# If not set and create is true, a name is generated using the fullname template
|
||||
name: ""
|
||||
|
||||
rbac:
|
||||
create: true
|
||||
|
||||
podAnnotations: {}
|
||||
|
||||
podSecurityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 65534
|
||||
runAsGroup: 65534
|
||||
fsGroup: 65534
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: true
|
||||
runAsNonRoot: true
|
||||
runAsUser: 65534
|
||||
runAsGroup: 65534
|
||||
|
||||
service:
|
||||
enabled: true
|
||||
type: ClusterIP
|
||||
port: 9090
|
||||
portName: metrics
|
||||
|
||||
strategy:
|
||||
# Prevents double-scraping by terminating the old pod before creating a new one
|
||||
# The pod scrapes a large volume of metrics with high cardinality
|
||||
type: Recreate
|
||||
|
||||
resources: {}
|
||||
# We usually recommend not setting default resources and to leave this as a conscious
|
||||
# choice for the user. This allows charts to run on environments with fewer
|
||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
tolerations: []
|
||||
|
||||
affinity: {}
|
||||
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
honorLabels: true
|
||||
scrapeInterval: 60s
|
||||
scrapeTimeout: 55s
|
||||
|
||||
# Limit RBAC to the release namespace
|
||||
limitRBAC: false
|
||||
|
||||
# Watched Namespaces Configuration
|
||||
watch:
|
||||
# If true, only the namespace where the exporter is deployed is watched, otherwise it watches the namespaces defined in watch.namespaces
|
||||
onlyReleaseNamespace: false
|
||||
# an empty list watches all namespaces
|
||||
namespaces: []
|
||||
|
||||
# Configuration for the qdrant cluster exporter
|
||||
config:
|
||||
# The log level for the cluster-exporter
|
||||
# Available options: DEBUG | INFO | WARN | ERROR
|
||||
logLevel: INFO
|
||||
# Controller related settings
|
||||
controller:
|
||||
# Schedule for the controller to do a forced resync (if watches are missed / nothing happened)
|
||||
forceResyncPeriod: 10h
|
||||
# Indicates the maximum QPS from this client to the master
|
||||
# Default is 200
|
||||
qps: 200
|
||||
# Maximum burst for throttle.
|
||||
# Default is 500.
|
||||
burst: 500
|
||||
# Maximum number of concurrent reconciliations
|
||||
maxConcurrentReconciles: 20
|
||||
# Controller's object requeueing interval
|
||||
requeueInterval: 30s
|
||||
# Exporter Metrics Configuration
|
||||
metrics:
|
||||
# The port on which the metrics are exposed
|
||||
port: 9090
|
||||
# The path on which the metrics are exposed
|
||||
path: /metrics
|
||||
# Exporter Health Check Configuration
|
||||
healthz:
|
||||
# The port used for the health probe
|
||||
port: 8085
|
||||
# Qdrant Telemetry and Metrics Cache Configuration
|
||||
cache:
|
||||
# The period after which the cache is invalidated
|
||||
ttl: 60s
|
||||
# Qdrant Rest Client Configuration
|
||||
qdrant:
|
||||
restAPI:
|
||||
# The qdrant rest api port
|
||||
port: 6333
|
||||
# Qdrant API Request Timeout after which requests to Qdrant are canceled if not completed
|
||||
timeout: 20s
|
||||
# Path where qdrant exposes metrics
|
||||
metricsPath: "metrics"
|
||||
# Qdrant Telemetry Configuration
|
||||
telemetry:
|
||||
# Path where qdrant exposes telemetry
|
||||
path: "telemetry"
|
||||
# The level of details for telemetry
|
||||
detailsLevel: 6
|
||||
# Whether to anonymize the telemetry data
|
||||
anonymize: true
|
||||
```
|
||||
@@ -40,7 +40,96 @@ Open Containers Initiative (OCI) Helm charts:
|
||||
- `registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud`
|
||||
- `registry.cloud.qdrant.io/library/qdrant-kubernetes-api`
|
||||
|
||||
The specific versions for every private cloud version are documented in the [Private Cloud Changelog](/documentation/private-cloud/changelog/).
|
||||
- The specific versions for every private cloud version are documented in the [Private Cloud Changelog](/documentation/private-cloud/changelog/).
|
||||
|
||||
## Installation
|
||||
|
||||
Once onboarded to Qdrant Private Cloud, you will receive credentials to access the Qdrant Cloud Registry. You can use these credentials to install the Qdrant Private Cloud solution using the following commands:
|
||||
|
||||
1. Create the namespace for your Private Cloud deployment. You can use any name for the namespace, but you will need to update the later steps to reflect this. E.g.
|
||||
|
||||
```bash
|
||||
kubectl create namespace qdrant-private-cloud
|
||||
```
|
||||
|
||||
2. Create a Kubernetes secret with your Qdrant Cloud Registry credentials, to allow your Kubernetes cluster to pull the necessary container images:
|
||||
```
|
||||
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
|
||||
```
|
||||
|
||||
3. Log in to the Qdrant Cloud Registry using Helm:
|
||||
|
||||
```bash
|
||||
helm registry login 'registry.cloud.qdrant.io' --username 'your-username' --password 'your-password'
|
||||
```
|
||||
|
||||
4. Install the Qdrant Kubernetes Operator Custom Resource Definitions (CRDs):
|
||||
|
||||
```bash
|
||||
helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.17.2 --wait
|
||||
```
|
||||
|
||||
5. Install Qdrant Private Cloud:
|
||||
|
||||
```bash
|
||||
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.8.0
|
||||
```
|
||||
|
||||
Ensure that the `qdrant-kubernetes-api` version is compatible with the `qdrant-private-cloud` version you are installing.
|
||||
|
||||
For a list of available versions consult the [Private Cloud Changelog](/documentation/private-cloud/changelog/).
|
||||
|
||||
Current default versions are:
|
||||
|
||||
* qdrant-kubernetes-api v1.17.2
|
||||
* qdrant-private-cloud 1.8.0
|
||||
|
||||
For more information also see the [Helm Install Documentation](https://helm.sh/docs/helm/helm_install/).
|
||||
|
||||
## Configuring Private Cloud
|
||||
|
||||
The Qdrant Private Cloud Helm chart comes with a set of default values which are suitable for most deployments. However, you are able to customize the configuration further to fit your specific needs. See the [Private Cloud Configuration](/documentation/private-cloud/configuration/) page for all available configuration options.
|
||||
|
||||
You must ensure that the default `StorageClasses` and corresponding `VolumeSnapshotClass` are set appropriately for your environment.
|
||||
|
||||
When creating your own `values.yaml` file, as a best practice, only include the values you are actually changing, e.g. with this `values.yaml` file:
|
||||
|
||||
```yaml
|
||||
operator:
|
||||
settings:
|
||||
features:
|
||||
clusterManagement:
|
||||
storageClass:
|
||||
database: your-storage-class-name
|
||||
snapshot: your-storage-class-name
|
||||
backupManagement:
|
||||
snapshots:
|
||||
volumeSnapshotClass: your-volume-snapshot-class-name
|
||||
```
|
||||
|
||||
You can configure Qdrant Private Cloud like this:
|
||||
|
||||
```bash
|
||||
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.8.0 -f values.yaml
|
||||
```
|
||||
|
||||
## Upgrades
|
||||
|
||||
To upgrade Qdrant Private Cloud to a new version, first upgrade the Qdrant Kubernetes Operator Custom Resource Definitions (CRDs):
|
||||
|
||||
```bash
|
||||
helm upgrade --install qdrant-private-cloud-crds oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-kubernetes-api --namespace qdrant-private-cloud --version v1.17.2 --wait
|
||||
```
|
||||
|
||||
Then upgrade the Qdrant Private Cloud Helm chart using the same configuration values, e.g.:
|
||||
|
||||
```bash
|
||||
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.8.0 -f values.yaml
|
||||
```
|
||||
|
||||
Note, that the image tag values are automatically derived from the chart's appVersions and should not be overridden in the `values.yaml`.
|
||||
|
||||
For more information also see the [Helm Upgrade Documentation](https://helm.sh/docs/helm/upgrade/).
|
||||
|
||||
### Mirroring images and charts
|
||||
|
||||
@@ -73,28 +162,36 @@ skopeo sync --all --src docker --dest docker registry.cloud.qdrant.io/qdrant-cha
|
||||
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
|
||||
```
|
||||
|
||||
During the installation or upgrade, you will need to adapt the repository information in the Helm chart values. See [Private Cloud Configuration](/documentation/private-cloud/configuration/) for details.
|
||||
During the installation or upgrade, you will need to adapt the image repository and imagePullSecret information in the Helm chart values, e.g.:
|
||||
|
||||
## Installation and Upgrades
|
||||
|
||||
Once you are onboarded to Qdrant Private Cloud, you will receive credentials to access the Qdrant Cloud Registry. You can use these credentials to install the Qdrant Private Cloud solution using the following commands. You can choose the Kubernetes namespace freely.
|
||||
|
||||
```bash
|
||||
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.17.2 --wait
|
||||
helm upgrade --install qdrant-private-cloud oci://registry.cloud.qdrant.io/qdrant-charts/qdrant-private-cloud --namespace qdrant-private-cloud --version 1.8.0
|
||||
```yaml
|
||||
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
|
||||
```
|
||||
|
||||
For a list of available versions consult the [Private Cloud Changelog](/documentation/private-cloud/changelog/).
|
||||
|
||||
Current default versions are:
|
||||
|
||||
* qdrant-kubernetes-api v1.17.2
|
||||
* qdrant-private-cloud 1.8.0
|
||||
|
||||
Especially ensure, that the default values to reference `StorageClasses` and the corresponding `VolumeSnapshotClass` are set correctly in your environment.
|
||||
See [Private Cloud Configuration](/documentation/private-cloud/configuration/) for details.
|
||||
|
||||
### Scope of the operator
|
||||
|
||||
|
||||
Reference in New Issue
Block a user