diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5bfbc933..b8c4130b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,9 +5,11 @@ on: push: paths-ignore: - 'docs/**' + - 'README.md' pull_request: paths-ignore: - 'docs/**' + - 'README.md' jobs: code-check: diff --git a/README.md b/README.md index e75b4330..98fc50e8 100644 --- a/README.md +++ b/README.md @@ -8,11 +8,30 @@ > **ATTENTIONS:** THE `MAIN` BRANCH MAY BE IN AN UNSTABLE OR EVEN BROKEN STATE DURING DEVELOPMENT. -## Overview +# Overview [Milvus](https://milvus.io) is a cloud-native, open-source vector database built to manage embedding vectors generated by machine learning models and neural networks. It extends the capabilities of best-in-class approximate nearest neighbor (ANN) search libraries (e.g. Faiss, NMSLIB, Annoy) and features on-demand scalability, and high availability. The Milvus Operator provides an easy and solid solution to deploy and manage a full Milvus service stack including both the milvus components and its relevant dependencies such as etcd, pulsar and minio to the target [Kubernetes](https://kubernetes.io/) clusters in a scalable and high-available way. The Milvus Operator defines a `Milvus` custom resources on top of Kubernetes [Custom Resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). The Kubernetes API can then be used in a declarative way to manage Milvus deployment stack and ensure its scalability and high-availability operation. +# Documentations +- [Installation](docs/installation/installation.md) +- [Install KinD for development](docs/installation/kind-installation.md) +- Administration Guides: + - [Configure Milvus with Milvus Operator](docs/administration/configure-milvus.md) + - Manage Dependencies: + - [Configure Meta Storge](docs/administration/manage-dependencies/meta-storage.md) + - [Configure Object Storage](docs/administration/manage-dependencies/object-storage.md) + - [Configure Message Storage](docs/administration/manage-dependencies/message-storage.md) + - [Monitor And Alert](docs/administration/monitor-and-alert.md) + - [Allocate Resources](docs/administration/allocate-resources.md) + - [Scale A Milvus Cluster](docs/administration/scale-a-milvus-cluster.md) + - [Upgrade](docs/administration/upgrade.md) + - Security: + - [Enable TLS](docs/administration/security/encryption-in-transit.md) + - [Enable Authentication](docs/administration/security/enable-authentication.md) +- [Milvus CRD Reference](docs/CRD/milvus.md) +- [How it works](docs/arch/arch.md) + # Getting started ## Deploy milvus operator @@ -90,23 +109,3 @@ Or use kubectl & raw manifests: ```shell kubectl apply -f https://raw.githubusercontent.com/zilliztech/milvus-operator/v1.0.0/deploy/manifests/deployment.yaml ``` - - -# Documentations -- [Installation](docs/installation/installation.md) -- [Install KinD for development](docs/installation/kind-installation.md) -- Administration Guides: - - [Configure Milvus with Milvus Operator](docs/administration/configure-milvus.md) - - Manage Dependencies: - - [Configure Meta Storge](docs/administration/manage-dependencies/meta-storage.md) - - [Configure Object Storage](docs/administration/manage-dependencies/object-storage.md) - - [Configure Message Storage](docs/administration/manage-dependencies/message-storage.md) - - [Monitor And Alert](docs/administration/monitor-and-alert.md) - - [Allocate Resources](docs/administration/allocate-resources.md) - - [Scale A Milvus Cluster](docs/administration/scale-a-milvus-cluster.md) - - [Upgrade](docs/administration/upgrade.md) - - Security: - - [Enable TLS](docs/administration/security/encryption-in-transit.md) - - [Enable Authentication](docs/administration/security/enable-authentication.md) -- [Milvus CRD Reference](docs/CRD/milvus.md) -- [How it works](docs/arch/arch.md) diff --git a/docs/administration/configure-milvus.md b/docs/administration/configure-milvus.md index 74259b85..dc368a2e 100644 --- a/docs/administration/configure-milvus.md +++ b/docs/administration/configure-milvus.md @@ -10,7 +10,7 @@ Usually, a Milvus component reads its configuration through a configuration file If we don't set any specific configuration, the default config file within the your Milvus image will be used. You can find the default configurations for milvus releases in the Milvus GitHub repository. -For example: the latest milvus release v2.2.2's default configuration file can be found at `https://github.com/milvus-io/milvus/blob/master/configs/milvus.yaml`, and the following link describes most configurations fields in detail: `https://milvus.io/docs/system_configuration.md`. +For example: the latest milvus release default configuration file can be found at `https://github.com/milvus-io/milvus/blob/master/configs/milvus.yaml`, and the following link describes most configurations fields in detail: `https://milvus.io/docs/system_configuration.md`. ## Change the milvus.yaml @@ -52,6 +52,27 @@ spec: rootPath: /var/log/milvus ``` +## Dynamic configuration update + +Since Milvus Operator v1.0.0 you can dynamically update the configuration of Milvus(of v2.4.5+) components without restarting it. First you need to set `spec.components.updateConfigMapOnly` to `true` to avoid restarting components when update config. Then You can change the configuration of a running Milvus cluster by updating the `spec.config` field in the Milvus CRD. for example, update `dataCoord.segment.diskSegmentMaxSize` to `4096MB` from initial `2048MB`: +```yaml +apiVersion: milvus.io/v1beta1 +kind: Milvus +metadata: + name: my-release + labels: + app: milvus +spec: + config: + dataCoord: + segment: + diskSegmentMaxSize: 4096 + components: + updateConfigMapOnly: true +``` + +> Note: not all fields in the `milvus.yaml` can be dynamically updated. You can refer to the [Applicable configuration items](https://milvus.io/docs/dynamic_config.md#Applicable-configuration-items) for more details. + ## Configuration for Milvus dependencies There're also configuration sections about milvus's dependencies in the `milvus.yaml` (like `minio`, `etcd`, `pulsar`...). Usually you don't need to change these configurations, because the Milvus Operator will set them automatically according to your specifications in `spec.dependencies.` field. diff --git a/docs/installation/installation.md b/docs/installation/installation.md index a0464fa8..b0fabd45 100644 --- a/docs/installation/installation.md +++ b/docs/installation/installation.md @@ -133,7 +133,7 @@ The `EXTERNAL-IP` is the IP address of your Milvus instance. You can use this IP Follow the [Hello Milvus Guide](https://milvus.io/docs/quickstart.md) -> Remember to change the `host` parameter to your `EXTERNAL-IP` of your Milvus instance. The `connect to server` code should be like`connections.connect("default", host="10.100.31.101", port="19530")` in my case. +> Remember to change the `host` parameter to your `EXTERNAL-IP` of your Milvus instance. The `connect to server` code should be like`connections.connect("default", host="10.100.31.101", port="19530")` in above case. # What's next