parent
dc48098585
commit
201f1f009e
@ -0,0 +1,73 @@
|
|||||||
|
# Kubernetes Deployment
|
||||||
|
|
||||||
|
## Origin Deploy
|
||||||
|
|
||||||
|
## First, Deployment All config and services
|
||||||
|
|
||||||
|
1. Enter the target dir
|
||||||
|
`cd ./deployments/deploy/`
|
||||||
|
|
||||||
|
2. Deploy configs and dependencies
|
||||||
|
|
||||||
|
Apply all config and dependencies
|
||||||
|
`kubectl apply -f ./openim-config.yml -f ./notification-config.yml -f ./kafka-service.yml`
|
||||||
|
|
||||||
|
Run infrasturcture components.
|
||||||
|
|
||||||
|
`kubectl apply -f minio-service.yml -f minio-statefulset.yml -f mongo-service.yml -f mongo-statefulset.yml -f redis-service.yml -f redis-statefulset.yml -f kafka-service.yml -f kafka-statefulset.yml`
|
||||||
|
|
||||||
|
>Note: Ensure that infrastructure services like MinIO, Redis, and Kafka are running before deploying the main applications.
|
||||||
|
|
||||||
|
|
||||||
|
Final, run all deployments and services
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl apply \
|
||||||
|
-f openim-api-deployment.yml \
|
||||||
|
-f openim-api-service.yml \
|
||||||
|
-f openim-crontask-deployment.yml \
|
||||||
|
-f openim-rpc-user-deployment.yml \
|
||||||
|
-f openim-rpc-user-service.yml \
|
||||||
|
-f openim-msggateway-deployment.yml \
|
||||||
|
-f openim-msggateway-service.yml \
|
||||||
|
-f openim-push-deployment.yml \
|
||||||
|
-f openim-push-service.yml \
|
||||||
|
-f openim-msgtransfer-service.yml \
|
||||||
|
-f openim-msgtransfer-deployment.yml \
|
||||||
|
-f openim-rpc-conversation-deployment.yml \
|
||||||
|
-f openim-rpc-conversation-service.yml \
|
||||||
|
-f openim-rpc-auth-deployment.yml \
|
||||||
|
-f openim-rpc-auth-service.yml \
|
||||||
|
-f openim-rpc-group-deployment.yml \
|
||||||
|
-f openim-rpc-group-service.yml \
|
||||||
|
-f openim-rpc-friend-deployment.yml \
|
||||||
|
-f openim-rpc-friend-service.yml \
|
||||||
|
-f openim-rpc-msg-deployment.yml \
|
||||||
|
-f openim-rpc-msg-service.yml \
|
||||||
|
-f openim-rpc-third-deployment.yml \
|
||||||
|
-f openim-rpc-third-service.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Verification
|
||||||
|
After deploying the services, verify that everything is running smoothly:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check the status of all pods
|
||||||
|
kubectl get pods
|
||||||
|
|
||||||
|
# Check the status of services
|
||||||
|
kubectl get svc
|
||||||
|
|
||||||
|
# Check the status of deployments
|
||||||
|
kubectl get deployments
|
||||||
|
|
||||||
|
# View all resources
|
||||||
|
kubectl get all
|
||||||
|
```
|
||||||
|
|
||||||
|
5. clean all
|
||||||
|
|
||||||
|
`kubectl delete -f ./`
|
||||||
|
|
||||||
|
### Notes:
|
||||||
|
- If you use a specific namespace for your deployment, be sure to append the -n <namespace> flag to your kubectl commands.
|
@ -0,0 +1,25 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: openim-ingress
|
||||||
|
annotations:
|
||||||
|
nginx.ingress.kubernetes.io/rewrite-target: /
|
||||||
|
spec:
|
||||||
|
ingressClassName: openim-nginx
|
||||||
|
rules:
|
||||||
|
- http:
|
||||||
|
paths:
|
||||||
|
- path: /openim-api
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: openim-api-service
|
||||||
|
port:
|
||||||
|
number: 10002
|
||||||
|
- path: /openim-msggateway
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: openim-msggateway-service
|
||||||
|
port:
|
||||||
|
number: 10001
|
@ -0,0 +1,20 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: kafka-service
|
||||||
|
labels:
|
||||||
|
app: kafka
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: plaintext
|
||||||
|
port: 9092
|
||||||
|
targetPort: 9092
|
||||||
|
- name: controller
|
||||||
|
port: 9093
|
||||||
|
targetPort: 9093
|
||||||
|
- name: external
|
||||||
|
port: 19094
|
||||||
|
targetPort: 9094
|
||||||
|
selector:
|
||||||
|
app: kafka
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,104 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: kafka-statefulset
|
||||||
|
labels:
|
||||||
|
app: kafka
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: kafka
|
||||||
|
serviceName: "kafka-service"
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: kafka
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: kafka
|
||||||
|
image: bitnami/kafka:3.5.1
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: "2Gi"
|
||||||
|
cpu: "1000m"
|
||||||
|
requests:
|
||||||
|
memory: "1Gi"
|
||||||
|
cpu: "500m"
|
||||||
|
ports:
|
||||||
|
- containerPort: 9092 # PLAINTEXT
|
||||||
|
- containerPort: 9093 # CONTROLLER
|
||||||
|
- containerPort: 9094 # EXTERNAL
|
||||||
|
# command:
|
||||||
|
# - /bin/bash
|
||||||
|
# - "-c"
|
||||||
|
# - |
|
||||||
|
# # /opt/bitnami/scripts/kafka/run.sh & /opt/bitnami/kafka/create-topic.sh; wait
|
||||||
|
# # /opt/bitnami/scripts/kafka/entrypoint.sh && /opt/bitnami/scripts/kafka/setup.sh && /opt/bitnami/scripts/kafka/run.sh
|
||||||
|
# & while ! echo > /dev/tcp/localhost/9092; do
|
||||||
|
# echo "Waiting for Kafka to start..."
|
||||||
|
# sleep 5
|
||||||
|
# done
|
||||||
|
# /opt/bitnami/kafka/create-topic.sh
|
||||||
|
# tail -f /dev/null
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "Asia/Shanghai"
|
||||||
|
- name: KAFKA_CFG_NODE_ID
|
||||||
|
value: "0"
|
||||||
|
- name: KAFKA_CFG_PROCESS_ROLES
|
||||||
|
value: "controller,broker"
|
||||||
|
- name: KAFKA_CFG_CONTROLLER_QUORUM_VOTERS
|
||||||
|
value: "0@kafka-service:9093"
|
||||||
|
- name: KAFKA_CFG_LISTENERS
|
||||||
|
value: "PLAINTEXT://:9092,CONTROLLER://:9093,EXTERNAL://:9094"
|
||||||
|
- name: KAFKA_CFG_ADVERTISED_LISTENERS
|
||||||
|
value: "PLAINTEXT://kafka-service:9092,EXTERNAL://kafka-service:19094"
|
||||||
|
- name: KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP
|
||||||
|
value: "CONTROLLER:PLAINTEXT,EXTERNAL:PLAINTEXT,PLAINTEXT:PLAINTEXT"
|
||||||
|
- name: KAFKA_CFG_CONTROLLER_LISTENER_NAMES
|
||||||
|
value: "CONTROLLER"
|
||||||
|
volumeMounts:
|
||||||
|
- name: kafka-data
|
||||||
|
mountPath: /bitnami/kafka
|
||||||
|
- name: kafka-scripts
|
||||||
|
mountPath: /opt/bitnami/kafka/create-topic.sh
|
||||||
|
subPath: create-topic.sh
|
||||||
|
- name: create-topics
|
||||||
|
image: bitnami/kafka:3.5.1
|
||||||
|
command:
|
||||||
|
- /bin/bash
|
||||||
|
- "-c"
|
||||||
|
- |
|
||||||
|
/opt/bitnami/kafka/create-topic.sh && \
|
||||||
|
tail -f /dev/null
|
||||||
|
volumeMounts:
|
||||||
|
- name: kafka-scripts
|
||||||
|
mountPath: /opt/bitnami/kafka/create-topic.sh
|
||||||
|
subPath: create-topic.sh
|
||||||
|
- name: kafka-data
|
||||||
|
mountPath: /bitnami/kafka
|
||||||
|
volumes:
|
||||||
|
- name: kafka-scripts
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
defaultMode: 0755
|
||||||
|
items:
|
||||||
|
- key: create-topic.sh
|
||||||
|
path: create-topic.sh
|
||||||
|
- name: kafka-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: kafka-pvc
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: kafka-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
@ -0,0 +1,18 @@
|
|||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: minio-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: minio
|
||||||
|
ports:
|
||||||
|
- name: minio
|
||||||
|
protocol: TCP
|
||||||
|
port: 10005 # External port for accessing MinIO service
|
||||||
|
targetPort: 9000 # Container port for MinIO service
|
||||||
|
- name: minio-console
|
||||||
|
protocol: TCP
|
||||||
|
port: 19090 # External port for accessing MinIO console
|
||||||
|
targetPort: 9090 # Container port for MinIO console
|
||||||
|
type: NodePort
|
@ -0,0 +1,89 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: minio
|
||||||
|
labels:
|
||||||
|
app: minio
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: minio
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: minio
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: minio
|
||||||
|
image: minio/minio:RELEASE.2024-01-11T07-46-16Z
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
ports:
|
||||||
|
- containerPort: 9000 # MinIO service port
|
||||||
|
- containerPort: 9090 # MinIO console port
|
||||||
|
volumeMounts:
|
||||||
|
- name: minio-data
|
||||||
|
mountPath: /data
|
||||||
|
- name: minio-config
|
||||||
|
mountPath: /root/.minio
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "Asia/Shanghai"
|
||||||
|
- name: MINIO_ACCESS_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-secret
|
||||||
|
key: minio-root-user
|
||||||
|
- name: MINIO_SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-secret
|
||||||
|
key: minio-root-password
|
||||||
|
|
||||||
|
command:
|
||||||
|
- minio
|
||||||
|
- server
|
||||||
|
- /data
|
||||||
|
- "--console-address"
|
||||||
|
- ":9090"
|
||||||
|
volumes:
|
||||||
|
- name: minio-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: minio-pvc
|
||||||
|
- name: minio-config
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: minio-config-pvc
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: minio-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: minio-config-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 2Gi
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: minio-secret
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
minio-root-user: cm9vdA== # Base64 encoded "root"
|
||||||
|
minio-root-password: b3BlbklNMTIz # Base64 encoded "openIM123"
|
@ -0,0 +1,13 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: mongo-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: mongo
|
||||||
|
ports:
|
||||||
|
- name: mongodb-port
|
||||||
|
protocol: TCP
|
||||||
|
port: 37017
|
||||||
|
targetPort: 27017
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,82 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: mongo-statefulset
|
||||||
|
spec:
|
||||||
|
serviceName: "mongo"
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: mongo
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: mongo
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: mongo
|
||||||
|
image: mongo:6.0.2
|
||||||
|
command:
|
||||||
|
[
|
||||||
|
"/bin/bash",
|
||||||
|
"-c",
|
||||||
|
"docker-entrypoint.sh mongod --wiredTigerCacheSizeGB 1 --auth & sleep 15; /scripts/mongo-init.sh; wait",
|
||||||
|
]
|
||||||
|
ports:
|
||||||
|
- containerPort: 27017
|
||||||
|
env:
|
||||||
|
- name: MONGO_INITDB_ROOT_USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: mongo-secret
|
||||||
|
key: mongo_initdb_root_username
|
||||||
|
- name: MONGO_INITDB_ROOT_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: mongo-secret
|
||||||
|
key: mongo_initdb_root_password
|
||||||
|
- name: MONGO_INITDB_DATABASE
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: mongo-secret
|
||||||
|
key: mongo_initdb_database
|
||||||
|
- name: MONGO_OPENIM_USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: mongo-secret
|
||||||
|
key: mongo_openim_username
|
||||||
|
- name: MONGO_OPENIM_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: mongo-secret
|
||||||
|
key: mongo_openim_password
|
||||||
|
volumeMounts:
|
||||||
|
- name: mongo-storage
|
||||||
|
mountPath: /data/db
|
||||||
|
- name: script-volume
|
||||||
|
mountPath: /scripts
|
||||||
|
# subPath: mongo-init.sh
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: script-volume
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
items:
|
||||||
|
- key: mongo-init.sh
|
||||||
|
path: mongo-init.sh
|
||||||
|
mode: 0755
|
||||||
|
- name: mongo-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: mongo-pvc
|
||||||
|
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: mongo-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
@ -0,0 +1,334 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: notification-config
|
||||||
|
data:
|
||||||
|
notification.yml: |
|
||||||
|
groupCreated:
|
||||||
|
isSendMsg: true
|
||||||
|
# Reliability level of the message sending.
|
||||||
|
# Set to 1 to send only when online, 2 for guaranteed delivery.
|
||||||
|
reliabilityLevel: 1
|
||||||
|
# This setting is effective only when 'isSendMsg' is true.
|
||||||
|
# It controls whether to count unread messages.
|
||||||
|
unreadCount: false
|
||||||
|
# Configuration for offline push notifications.
|
||||||
|
offlinePush:
|
||||||
|
# Enables or disables offline push notifications.
|
||||||
|
enable: false
|
||||||
|
# Title for the notification when a group is created.
|
||||||
|
title: create group title
|
||||||
|
# Description for the notification.
|
||||||
|
desc: create group desc
|
||||||
|
# Additional information for the notification.
|
||||||
|
ext: create group ext
|
||||||
|
|
||||||
|
groupInfoSet:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupInfoSet title
|
||||||
|
desc: groupInfoSet desc
|
||||||
|
ext: groupInfoSet ext
|
||||||
|
|
||||||
|
|
||||||
|
joinGroupApplication:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: joinGroupApplication title
|
||||||
|
desc: joinGroupApplication desc
|
||||||
|
ext: joinGroupApplication ext
|
||||||
|
|
||||||
|
memberQuit:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: memberQuit title
|
||||||
|
desc: memberQuit desc
|
||||||
|
ext: memberQuit ext
|
||||||
|
|
||||||
|
groupApplicationAccepted:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupApplicationAccepted title
|
||||||
|
desc: groupApplicationAccepted desc
|
||||||
|
ext: groupApplicationAccepted ext
|
||||||
|
|
||||||
|
groupApplicationRejected:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupApplicationRejected title
|
||||||
|
desc: groupApplicationRejected desc
|
||||||
|
ext: groupApplicationRejected ext
|
||||||
|
|
||||||
|
|
||||||
|
groupOwnerTransferred:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupOwnerTransferred title
|
||||||
|
desc: groupOwnerTransferred desc
|
||||||
|
ext: groupOwnerTransferred ext
|
||||||
|
|
||||||
|
memberKicked:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: memberKicked title
|
||||||
|
desc: memberKicked desc
|
||||||
|
ext: memberKicked ext
|
||||||
|
|
||||||
|
memberInvited:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: memberInvited title
|
||||||
|
desc: memberInvited desc
|
||||||
|
ext: memberInvited ext
|
||||||
|
|
||||||
|
memberEnter:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: memberEnter title
|
||||||
|
desc: memberEnter desc
|
||||||
|
ext: memberEnter ext
|
||||||
|
|
||||||
|
groupDismissed:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupDismissed title
|
||||||
|
desc: groupDismissed desc
|
||||||
|
ext: groupDismissed ext
|
||||||
|
|
||||||
|
groupMuted:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupMuted title
|
||||||
|
desc: groupMuted desc
|
||||||
|
ext: groupMuted ext
|
||||||
|
|
||||||
|
groupCancelMuted:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupCancelMuted title
|
||||||
|
desc: groupCancelMuted desc
|
||||||
|
ext: groupCancelMuted ext
|
||||||
|
defaultTips:
|
||||||
|
tips: group Cancel Muted
|
||||||
|
|
||||||
|
|
||||||
|
groupMemberMuted:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupMemberMuted title
|
||||||
|
desc: groupMemberMuted desc
|
||||||
|
ext: groupMemberMuted ext
|
||||||
|
|
||||||
|
groupMemberCancelMuted:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupMemberCancelMuted title
|
||||||
|
desc: groupMemberCancelMuted desc
|
||||||
|
ext: groupMemberCancelMuted ext
|
||||||
|
|
||||||
|
groupMemberInfoSet:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupMemberInfoSet title
|
||||||
|
desc: groupMemberInfoSet desc
|
||||||
|
ext: groupMemberInfoSet ext
|
||||||
|
|
||||||
|
groupInfoSetAnnouncement:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupInfoSetAnnouncement title
|
||||||
|
desc: groupInfoSetAnnouncement desc
|
||||||
|
ext: groupInfoSetAnnouncement ext
|
||||||
|
|
||||||
|
|
||||||
|
groupInfoSetName:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: groupInfoSetName title
|
||||||
|
desc: groupInfoSetName desc
|
||||||
|
ext: groupInfoSetName ext
|
||||||
|
|
||||||
|
|
||||||
|
#############################friend#################################
|
||||||
|
friendApplicationAdded:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: Somebody applies to add you as a friend
|
||||||
|
desc: Somebody applies to add you as a friend
|
||||||
|
ext: Somebody applies to add you as a friend
|
||||||
|
|
||||||
|
friendApplicationApproved:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: Someone applies to add your friend application
|
||||||
|
desc: Someone applies to add your friend application
|
||||||
|
ext: Someone applies to add your friend application
|
||||||
|
|
||||||
|
friendApplicationRejected:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: Someone rejected your friend application
|
||||||
|
desc: Someone rejected your friend application
|
||||||
|
ext: Someone rejected your friend application
|
||||||
|
|
||||||
|
friendAdded:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: We have become friends
|
||||||
|
desc: We have become friends
|
||||||
|
ext: We have become friends
|
||||||
|
|
||||||
|
friendDeleted:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: deleted a friend
|
||||||
|
desc: deleted a friend
|
||||||
|
ext: deleted a friend
|
||||||
|
|
||||||
|
friendRemarkSet:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: Your friend's profile has been changed
|
||||||
|
desc: Your friend's profile has been changed
|
||||||
|
ext: Your friend's profile has been changed
|
||||||
|
|
||||||
|
blackAdded:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: blocked a user
|
||||||
|
desc: blocked a user
|
||||||
|
ext: blocked a user
|
||||||
|
|
||||||
|
blackDeleted:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: Remove a blocked user
|
||||||
|
desc: Remove a blocked user
|
||||||
|
ext: Remove a blocked user
|
||||||
|
|
||||||
|
friendInfoUpdated:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: friend info updated
|
||||||
|
desc: friend info updated
|
||||||
|
ext: friend info updated
|
||||||
|
|
||||||
|
#####################user#########################
|
||||||
|
userInfoUpdated:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: userInfo updated
|
||||||
|
desc: userInfo updated
|
||||||
|
ext: userInfo updated
|
||||||
|
|
||||||
|
userStatusChanged:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: false
|
||||||
|
title: user status changed
|
||||||
|
desc: user status changed
|
||||||
|
ext: user status changed
|
||||||
|
|
||||||
|
#####################conversation#########################
|
||||||
|
conversationChanged:
|
||||||
|
isSendMsg: false
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: conversation changed
|
||||||
|
desc: conversation changed
|
||||||
|
ext: conversation changed
|
||||||
|
|
||||||
|
conversationSetPrivate:
|
||||||
|
isSendMsg: true
|
||||||
|
reliabilityLevel: 1
|
||||||
|
unreadCount: false
|
||||||
|
offlinePush:
|
||||||
|
enable: true
|
||||||
|
title: burn after reading
|
||||||
|
desc: burn after reading
|
||||||
|
ext: burn after reading
|
@ -0,0 +1,34 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: openim-api
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: openim-api
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: openim-api
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: openim-api-container
|
||||||
|
image: op-api:v3.90
|
||||||
|
# imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10002
|
||||||
|
- containerPort: 12002
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: openim-api-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: openim-api
|
||||||
|
ports:
|
||||||
|
- name: http-10302
|
||||||
|
protocol: TCP
|
||||||
|
port: 10002
|
||||||
|
targetPort: 10002
|
||||||
|
- name: prometheus-20113
|
||||||
|
protocol: TCP
|
||||||
|
port: 12002
|
||||||
|
targetPort: 12002
|
||||||
|
type: NodePort
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,30 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: openim-crontask
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: crontask
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: crontask
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: crontask-container
|
||||||
|
image: op-crontask:v3.9
|
||||||
|
env:
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: openim-msggateway-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: openim-msggateway-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: openim-msggateway-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: openim-msggateway-container
|
||||||
|
image: op-msggateway:v3.9
|
||||||
|
env:
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10001
|
||||||
|
- containerPort: 12001
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: openim-msggateway-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: openim-msggateway-server
|
||||||
|
ports:
|
||||||
|
- name: http-10001
|
||||||
|
protocol: TCP
|
||||||
|
port: 10001
|
||||||
|
targetPort: 10001
|
||||||
|
- name: prometheus-12001
|
||||||
|
protocol: TCP
|
||||||
|
port: 12001
|
||||||
|
targetPort: 12001
|
||||||
|
type: NodePort
|
@ -0,0 +1,33 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: openim-msgtransfer-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: openim-msgtransfer-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: openim-msgtransfer-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: openim-msgtransfer-container
|
||||||
|
image: op-msgtransfer:v3.9
|
||||||
|
env:
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
# - containerPort: 15200
|
||||||
|
- containerPort: 12020
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: openim-msgtransfer-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: openim-msgtransfer-server
|
||||||
|
ports:
|
||||||
|
# TODO Need check port!!!
|
||||||
|
- name: prometheus-12020
|
||||||
|
protocol: TCP
|
||||||
|
port: 12020
|
||||||
|
targetPort: 12020
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: openim-push-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: openim-push-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: openim-push-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: openim-push-container
|
||||||
|
image: op-push:v3.9
|
||||||
|
env:
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10170
|
||||||
|
- containerPort: 12170
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: openim-push-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: openim-push-server
|
||||||
|
ports:
|
||||||
|
- name: http-10170
|
||||||
|
protocol: TCP
|
||||||
|
port: 10170
|
||||||
|
targetPort: 10170
|
||||||
|
- name: prometheus-12170
|
||||||
|
protocol: TCP
|
||||||
|
port: 12170
|
||||||
|
targetPort: 12170
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,34 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: auth-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: auth-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: auth-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: auth-rpc-server-container
|
||||||
|
image: op-auth:v3.9
|
||||||
|
imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10200
|
||||||
|
- containerPort: 12200
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: auth-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: auth-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10200
|
||||||
|
protocol: TCP
|
||||||
|
port: 10200
|
||||||
|
targetPort: 10200
|
||||||
|
- name: prometheus-12200
|
||||||
|
protocol: TCP
|
||||||
|
port: 12200
|
||||||
|
targetPort: 12200
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: conversation-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: conversation-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: conversation-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: conversation-rpc-server-container
|
||||||
|
image: op-conversation:v3.9
|
||||||
|
imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10220
|
||||||
|
- containerPort: 12220
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: conversation-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: conversation-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10220
|
||||||
|
protocol: TCP
|
||||||
|
port: 10220
|
||||||
|
targetPort: 10220
|
||||||
|
- name: prometheus-12220
|
||||||
|
protocol: TCP
|
||||||
|
port: 12220
|
||||||
|
targetPort: 12220
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,46 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: friend-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: friend-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: friend-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: friend-rpc-server-container
|
||||||
|
image: op-friend:v3.9
|
||||||
|
# imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: redis-secret
|
||||||
|
key: redis-password
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10240
|
||||||
|
- containerPort: 12240
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: friend-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: friend-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10240
|
||||||
|
protocol: TCP
|
||||||
|
port: 10240
|
||||||
|
targetPort: 10240
|
||||||
|
- name: prometheus-12240
|
||||||
|
protocol: TCP
|
||||||
|
port: 12240
|
||||||
|
targetPort: 12240
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: group-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: group-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: group-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: group-rpc-server-container
|
||||||
|
image: op-group:v3.9
|
||||||
|
# imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10260
|
||||||
|
- containerPort: 12260
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: group-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: group-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10260
|
||||||
|
protocol: TCP
|
||||||
|
port: 10260
|
||||||
|
targetPort: 10260
|
||||||
|
- name: prometheus-12260
|
||||||
|
protocol: TCP
|
||||||
|
port: 12260
|
||||||
|
targetPort: 12260
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: msg-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: msg-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: msg-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: msg-rpc-server-container
|
||||||
|
image: op-msg:v3.9
|
||||||
|
# imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10280
|
||||||
|
- containerPort: 12280
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: msg-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: msg-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10280
|
||||||
|
protocol: TCP
|
||||||
|
port: 10280
|
||||||
|
targetPort: 10280
|
||||||
|
- name: prometheus-12280
|
||||||
|
protocol: TCP
|
||||||
|
port: 12280
|
||||||
|
targetPort: 12280
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,51 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: third-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: third-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: third-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: third-rpc-server-container
|
||||||
|
image: op-third:v3.9
|
||||||
|
# imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
- name: MINIO_ACCESS_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-secret
|
||||||
|
key: minio-root-user
|
||||||
|
- name: MINIO_SECRET_KEY
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: minio-secret
|
||||||
|
key: minio-root-password
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10300
|
||||||
|
- containerPort: 12300
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: third-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: third-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10300
|
||||||
|
protocol: TCP
|
||||||
|
port: 10300
|
||||||
|
targetPort: 10300
|
||||||
|
- name: prometheus-12300
|
||||||
|
protocol: TCP
|
||||||
|
port: 12300
|
||||||
|
targetPort: 12300
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,41 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: user-rpc-server
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: user-rpc-server
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: user-rpc-server
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: user-rpc-server-container
|
||||||
|
image: op-user:v3.9
|
||||||
|
# imagePullPolicy: Never
|
||||||
|
env:
|
||||||
|
- name: DEPLOYMENT_TYPE
|
||||||
|
value: "kubernetes"
|
||||||
|
- name: CONFIG_PATH
|
||||||
|
value: "/config"
|
||||||
|
volumeMounts:
|
||||||
|
- name: openim-config
|
||||||
|
mountPath: "/config"
|
||||||
|
readOnly: true
|
||||||
|
- name: notification-config
|
||||||
|
mountPath: "/config/notification.yml"
|
||||||
|
subPath: notification.yml
|
||||||
|
readOnly: true
|
||||||
|
ports:
|
||||||
|
- containerPort: 10320
|
||||||
|
- containerPort: 12320
|
||||||
|
volumes:
|
||||||
|
- name: openim-config
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: notification-config
|
||||||
|
configMap:
|
||||||
|
name: notification-config
|
@ -0,0 +1,17 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: user-rpc-service
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: user-rpc-server
|
||||||
|
ports:
|
||||||
|
- name: http-10320
|
||||||
|
protocol: TCP
|
||||||
|
port: 10320
|
||||||
|
targetPort: 10320
|
||||||
|
- name: prometheus-12320
|
||||||
|
protocol: TCP
|
||||||
|
port: 12320
|
||||||
|
targetPort: 12320
|
||||||
|
type: ClusterIP
|
@ -0,0 +1,112 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: prometheus-config
|
||||||
|
data:
|
||||||
|
prometheus.yml: |
|
||||||
|
# my global config
|
||||||
|
global:
|
||||||
|
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
||||||
|
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
|
||||||
|
# scrape_timeout is set to the global default (10s).
|
||||||
|
|
||||||
|
# Alertmanager configuration
|
||||||
|
alerting:
|
||||||
|
alertmanagers:
|
||||||
|
- static_configs:
|
||||||
|
- targets: [internal_ip:19093]
|
||||||
|
|
||||||
|
# Load rules once and periodically evaluate them according to the global evaluation_interval.
|
||||||
|
rule_files:
|
||||||
|
- instance-down-rules.yml
|
||||||
|
# - first_rules.yml
|
||||||
|
# - second_rules.yml
|
||||||
|
|
||||||
|
# A scrape configuration containing exactly one endpoint to scrape:
|
||||||
|
# Here it's Prometheus itself.
|
||||||
|
scrape_configs:
|
||||||
|
# The job name is added as a label "job=job_name" to any timeseries scraped from this config.
|
||||||
|
# Monitored information captured by prometheus
|
||||||
|
|
||||||
|
# prometheus fetches application services
|
||||||
|
- job_name: node_exporter
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:20500]
|
||||||
|
- job_name: openimserver-openim-api
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12002]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-msggateway
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12140]
|
||||||
|
# - targets: [ internal_ip:12140, internal_ip:12141, internal_ip:12142, internal_ip:12143, internal_ip:12144, internal_ip:12145, internal_ip:12146, internal_ip:12147, internal_ip:12148, internal_ip:12149, internal_ip:12150, internal_ip:12151, internal_ip:12152, internal_ip:12153, internal_ip:12154, internal_ip:12155 ]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-msgtransfer
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
[
|
||||||
|
internal_ip:12020,
|
||||||
|
internal_ip:12021,
|
||||||
|
internal_ip:12022,
|
||||||
|
internal_ip:12023,
|
||||||
|
internal_ip:12024,
|
||||||
|
internal_ip:12025,
|
||||||
|
internal_ip:12026,
|
||||||
|
internal_ip:12027,
|
||||||
|
]
|
||||||
|
# - targets: [ internal_ip:12020, internal_ip:12021, internal_ip:12022, internal_ip:12023, internal_ip:12024, internal_ip:12025, internal_ip:12026, internal_ip:12027, internal_ip:12028, internal_ip:12029, internal_ip:12030, internal_ip:12031, internal_ip:12032, internal_ip:12033, internal_ip:12034, internal_ip:12035 ]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-push
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
[
|
||||||
|
internal_ip:12170,
|
||||||
|
internal_ip:12171,
|
||||||
|
internal_ip:12172,
|
||||||
|
internal_ip:12173,
|
||||||
|
internal_ip:12174,
|
||||||
|
internal_ip:12175,
|
||||||
|
internal_ip:12176,
|
||||||
|
internal_ip:12177,
|
||||||
|
]
|
||||||
|
# - targets: [ internal_ip:12170, internal_ip:12171, internal_ip:12172, internal_ip:12173, internal_ip:12174, internal_ip:12175, internal_ip:12176, internal_ip:12177, internal_ip:12178, internal_ip:12179, internal_ip:12180, internal_ip:12182, internal_ip:12183, internal_ip:12184, internal_ip:12185, internal_ip:12186 ]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-auth
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12200]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-conversation
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12220]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-friend
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12240]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-group
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12260]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-msg
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12280]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-third
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12300]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
||||||
|
- job_name: openimserver-openim-rpc-user
|
||||||
|
static_configs:
|
||||||
|
- targets: [internal_ip:12320]
|
||||||
|
labels:
|
||||||
|
namespace: default
|
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: redis-service
|
||||||
|
labels:
|
||||||
|
app: redis
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
selector:
|
||||||
|
app: redis
|
||||||
|
ports:
|
||||||
|
- name: redis-port
|
||||||
|
protocol: TCP
|
||||||
|
port: 16379
|
||||||
|
targetPort: 6379
|
@ -0,0 +1,66 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: redis-statefulset
|
||||||
|
spec:
|
||||||
|
serviceName: "redis"
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: redis
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: redis
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: redis
|
||||||
|
image: redis:7.0.0
|
||||||
|
ports:
|
||||||
|
- containerPort: 6379
|
||||||
|
env:
|
||||||
|
- name: TZ
|
||||||
|
value: "Asia/Shanghai"
|
||||||
|
- name: REDIS_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: redis-secret
|
||||||
|
key: redis-password
|
||||||
|
volumeMounts:
|
||||||
|
- name: redis-data
|
||||||
|
mountPath: /data
|
||||||
|
# - name: redis-config-volume
|
||||||
|
# mountPath: /usr/local/redis/config/redis.conf
|
||||||
|
# subPath: redis.conf
|
||||||
|
command:
|
||||||
|
[
|
||||||
|
"/bin/sh",
|
||||||
|
"-c",
|
||||||
|
'redis-server --requirepass "$REDIS_PASSWORD" --appendonly yes',
|
||||||
|
]
|
||||||
|
volumes:
|
||||||
|
- name: redis-config-volume
|
||||||
|
configMap:
|
||||||
|
name: openim-config
|
||||||
|
- name: redis-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: redis-pvc
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: redis-pvc
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 5Gi
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: redis-secret
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
redis-password: b3BlbklNMTIz # "openIM123" in base64
|
Loading…
Reference in new issue