docs: update deployment docs.

pull/2973/head
Monet Lee 9 months ago
parent 742a611d27
commit c10c9d2711

@ -34,7 +34,7 @@ In `openim-config.yml`, you need modify the following configurations:
**mongodb.yml** **mongodb.yml**
- `address`: set to your already mongodb address or mongo Service name and port in your deployed. - `address`: set to your already mongodb address or mongo Service name and port in your deployed.
- `database`: set to your mongodb database name. - `database`: set to your mongodb database name.(Need have a created database.)
- `authSource`: set to your mongodb authSource. (authSource is specify the database name associated with the user's credentials, user need create in this database.) - `authSource`: set to your mongodb authSource. (authSource is specify the database name associated with the user's credentials, user need create in this database.)
**share.yml** **share.yml**
@ -59,11 +59,9 @@ In `openim-config.yml`, you need modify the following configurations:
A Secret is an object that contains a small amount of sensitive data. Such as password and secret. Secret is similar to ConfigMaps. A Secret is an object that contains a small amount of sensitive data. Such as password and secret. Secret is similar to ConfigMaps.
#### Example: #### Redis:
create a secret for redis password. You can update `redis-secret.yml`. Update the `redis-password` value in `redis-secret.yml` to your Redis password encoded in base64.
you need update `redis-password` value to your redis password in base64.
```yaml ```yaml
apiVersion: v1 apiVersion: v1
@ -72,65 +70,75 @@ metadata:
name: openim-redis-secret name: openim-redis-secret
type: Opaque type: Opaque
data: data:
redis-password: b3BlbklNMTIz # you need update to your redis password in base64 redis-password: b3BlbklNMTIz # update to your redis password encoded in base64
``` ```
#### Usage: #### Mongo:
use secret in deployment file. If you apply the secret to IM Server, you need adapt the Env Name to config file and all toupper. Update the `mongo_openim_username`, `mongo_openim_password` value in `mongo-secret.yml` to your Mongo username and password encoded in base64.
OpenIM Server use prefix `IMENV_`, OpenIM Chat use prefix `CHATENV_`. Next adapt is the config file name. Like `redis.yml`. Such as `IMENV_REDIS_PASSWORD` is mapped to `redis.yml` password filed in OpenIM Server. ```yaml
apiVersion: v1
kind: Secret
metadata:
name: openim-mongo-secret
type: Opaque
data:
mongo_openim_username: b3BlbklN # update to your mongo username encoded in base64, this user credentials need in authSource database.
mongo_openim_password: b3BlbklNMTIz # update to your mongo password encoded in base64
```
#### Minio:
Update the `minio-root-user` and `minio-root-password` value in `minio-secret.yml` to your MinIO access key and secret key encoded in base64.
```yaml ```yaml
apiVersion: apps/v1 apiVersion: v1
kind: Deployment kind: Secret
metadata: metadata:
name: rpc-user-server name: openim-minio-secret
spec: type: Opaque
template: data:
spec: minio-root-user: cm9vdA== # update to your minio accessKeyID encoded in base64
containers: minio-root-password: b3BlbklNMTIz # update to your minio secretAccessKey encoded in base64
- name: rpc-user-server
env:
- name: IMENV_REDIS_PASSWORD # adapt to redis.yml password field in OpenIM Server config, Don't modify it.
valueFrom:
secretKeyRef:
name: openim-redis-secret # You deployed secret name
key: redis-password # You deployed secret key name
``` ```
So, you need following configurations to set secret: #### Kafka:
- `MONGODB_USERNAME` Update the `kafka-password` value in `kafka-secret.yml` to your Kafka password encoded in base64.
- `MONGODB_PASSWORD`
- `REDIS_PASSWORD`
- `MINIO_ACCESSKEYID`
- `MINIO_SECRETACCESSKEY`
Apply the secret. ```yaml
apiVersion: v1
kind: Secret
metadata:
name: openim-kafka-secret
type: Opaque
data:
kafka-password: "" # update to your kafka password encoded in base64
```
### Apply the secret.
```shell ```shell
kubectl apply -f redis-secret.yml -f minio-secret.yml -f mongo-secret.yml kubectl apply -f redis-secret.yml -f minio-secret.yml -f mongo-secret.yml -f kafka-secret.yml
``` ```
### Apply all config and dependencies ### Apply all config and dependencies
`kubectl apply -f ./openim-config.yml`
> Attation: If you use `default` namespace, you can excute `clusterRile.yml` to create a cluster role binding for default service account. > Attation: If you use `default` namespace, you can excute `clusterRile.yml` to create a cluster role binding for default service account.
> >
> Namespace is modify to `discovery.yml` in `openim-config.yml`, you can change `kubernetes.namespace` to your namespace. > Namespace is modify to `discovery.yml` in `openim-config.yml`, you can change `kubernetes.namespace` to your namespace.
`kubectl apply -f ./openim-config.yml`
**Excute `clusterRole.yml`** **Excute `clusterRole.yml`**
`kubectl apply -f ./clusterRole.yml` `kubectl apply -f ./clusterRole.yml`
**If you have already deployed the storage component, you need to update corresponding config and secret. And pass corresponding deployments and services build.** ### run all deployments and services
> Note: Ensure that infrastructure services like MinIO, Redis, and Kafka are running before deploying the main applications. > Note: Ensure that infrastructure services like MinIO, Redis, and Kafka are running before deploying the main applications.
### run all deployments and services
```bash ```bash
kubectl apply \ kubectl apply \
-f openim-api-deployment.yml \ -f openim-api-deployment.yml \

Loading…
Cancel
Save