From 715636b305b59ac5ac2ecf7306bcb4503f156bc6 Mon Sep 17 00:00:00 2001 From: icey-yu <1186114839@qq.com> Date: Thu, 29 May 2025 14:35:36 +0800 Subject: [PATCH 1/4] feat: k8s --- {deployments => k8s}/Readme.md | 0 .../deploy => k8s/deployment}/clusterRole.yml | 2 +- k8s/deployment/docker-secret.yml | 19 ++++++++ .../deployment/http-ingress.yml | 17 +++---- k8s/deployment/https-ingress.yml | 35 ++++++++++++++ .../deployment}/kafka-secret.yml | 0 .../deployment}/kafka-service.yml | 0 .../deployment}/kafka-statefulset.yml | 2 +- .../deployment}/minio-secret.yml | 0 .../deployment}/minio-service.yml | 0 .../deployment}/minio-statefulset.yml | 2 +- .../deployment}/mongo-secret.yml | 0 .../deployment}/mongo-service.yml | 0 .../deployment}/mongo-statefulset.yml | 2 +- .../deployment}/openim-api-deployment.yml | 6 ++- .../deployment}/openim-api-service.yml | 0 .../deployment}/openim-config.yml | 0 .../openim-crontask-deployment.yml | 6 ++- .../openim-msggateway-deployment.yml | 6 ++- .../deployment}/openim-msggateway-service.yml | 2 +- .../openim-msgtransfer-deployment.yml | 6 ++- .../openim-msgtransfer-service.yml | 0 .../deployment}/openim-push-deployment.yml | 6 ++- .../deployment}/openim-push-service.yml | 0 .../openim-rpc-auth-deployment.yml | 8 ++-- .../deployment}/openim-rpc-auth-service.yml | 0 .../openim-rpc-conversation-deployment.yml | 6 ++- .../openim-rpc-conversation-service.yml | 0 .../openim-rpc-friend-deployment.yml | 6 ++- .../deployment}/openim-rpc-friend-service.yml | 0 .../openim-rpc-group-deployment.yml | 6 ++- .../deployment}/openim-rpc-group-service.yml | 0 .../deployment}/openim-rpc-msg-deployment.yml | 6 ++- .../deployment}/openim-rpc-msg-service.yml | 0 .../openim-rpc-third-deployment.yml | 6 ++- .../deployment}/openim-rpc-third-service.yml | 0 .../openim-rpc-user-deployment.yml | 6 ++- .../deployment}/openim-rpc-user-service.yml | 0 .../deployment}/redis-secret.yml | 0 .../deployment}/redis-service.yml | 0 .../deployment}/redis-statefulset.yml | 47 +++++++++---------- k8s/deployment/tls-secret.yml | 9 ++++ pkg/common/cmd/msg_gateway.go | 3 +- pkg/common/cmd/root.go | 8 +++- 44 files changed, 154 insertions(+), 68 deletions(-) rename {deployments => k8s}/Readme.md (100%) rename {deployments/deploy => k8s/deployment}/clusterRole.yml (90%) create mode 100644 k8s/deployment/docker-secret.yml rename deployments/deploy/ingress.yml => k8s/deployment/http-ingress.yml (52%) create mode 100644 k8s/deployment/https-ingress.yml rename {deployments/deploy => k8s/deployment}/kafka-secret.yml (100%) rename {deployments/deploy => k8s/deployment}/kafka-service.yml (100%) rename {deployments/deploy => k8s/deployment}/kafka-statefulset.yml (99%) rename {deployments/deploy => k8s/deployment}/minio-secret.yml (100%) rename {deployments/deploy => k8s/deployment}/minio-service.yml (100%) rename {deployments/deploy => k8s/deployment}/minio-statefulset.yml (99%) rename {deployments/deploy => k8s/deployment}/mongo-secret.yml (100%) rename {deployments/deploy => k8s/deployment}/mongo-service.yml (100%) rename {deployments/deploy => k8s/deployment}/mongo-statefulset.yml (99%) rename {deployments/deploy => k8s/deployment}/openim-api-deployment.yml (92%) rename {deployments/deploy => k8s/deployment}/openim-api-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-config.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-crontask-deployment.yml (83%) rename {deployments/deploy => k8s/deployment}/openim-msggateway-deployment.yml (88%) rename {deployments/deploy => k8s/deployment}/openim-msggateway-service.yml (92%) rename {deployments/deploy => k8s/deployment}/openim-msgtransfer-deployment.yml (92%) rename {deployments/deploy => k8s/deployment}/openim-msgtransfer-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-push-deployment.yml (90%) rename {deployments/deploy => k8s/deployment}/openim-push-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-auth-deployment.yml (85%) rename {deployments/deploy => k8s/deployment}/openim-rpc-auth-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-conversation-deployment.yml (91%) rename {deployments/deploy => k8s/deployment}/openim-rpc-conversation-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-friend-deployment.yml (91%) rename {deployments/deploy => k8s/deployment}/openim-rpc-friend-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-group-deployment.yml (91%) rename {deployments/deploy => k8s/deployment}/openim-rpc-group-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-msg-deployment.yml (92%) rename {deployments/deploy => k8s/deployment}/openim-rpc-msg-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-third-deployment.yml (93%) rename {deployments/deploy => k8s/deployment}/openim-rpc-third-service.yml (100%) rename {deployments/deploy => k8s/deployment}/openim-rpc-user-deployment.yml (92%) rename {deployments/deploy => k8s/deployment}/openim-rpc-user-service.yml (100%) rename {deployments/deploy => k8s/deployment}/redis-secret.yml (100%) rename {deployments/deploy => k8s/deployment}/redis-service.yml (100%) rename {deployments/deploy => k8s/deployment}/redis-statefulset.yml (51%) create mode 100644 k8s/deployment/tls-secret.yml diff --git a/deployments/Readme.md b/k8s/Readme.md similarity index 100% rename from deployments/Readme.md rename to k8s/Readme.md diff --git a/deployments/deploy/clusterRole.yml b/k8s/deployment/clusterRole.yml similarity index 90% rename from deployments/deploy/clusterRole.yml rename to k8s/deployment/clusterRole.yml index 190c0b268..006fa81ea 100644 --- a/deployments/deploy/clusterRole.yml +++ b/k8s/deployment/clusterRole.yml @@ -5,7 +5,7 @@ metadata: name: service-reader rules: - apiGroups: [""] - resources: ["services", "endpoints"] + resources: ["services", "endpoints", "pods"] verbs: ["get", "list", "watch"] --- diff --git a/k8s/deployment/docker-secret.yml b/k8s/deployment/docker-secret.yml new file mode 100644 index 000000000..58caa682d --- /dev/null +++ b/k8s/deployment/docker-secret.yml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Secret +metadata: + name: docker-secret + namespace: default +type: kubernetes.io/dockerconfigjson +data: + # { + # "auths": { + # "your.registry.com": { + # "username": "username", + # "password": "psw", + # "email": "openim@example.com", + # "auth": "dXNlcm5hbWU6cHN3" + # } + # } + #} + # Base64 encoded .docerconfigjson content + .dockerconfigjson: "ewogICJhdXRocyI6IHsKICAgICJ5b3VyLnJlZ2lzdHJ5LmNvbSI6IHsKICAgICAgInVzZXJuYW1lIjogInVzZXJuYW1lIiwKICAgICAgInBhc3N3b3JkIjogInBzdyIsCiAgICAgICJlbWFpbCI6ICAgICJvcGVuaW1AZXhhbXBsZS5jb20iLAogICAgICAiYXV0aCI6ICAgICAiZFhObGNtNWhiV1U2Y0hOMyIKICAgIH0KICB9Cn0=" \ No newline at end of file diff --git a/deployments/deploy/ingress.yml b/k8s/deployment/http-ingress.yml similarity index 52% rename from deployments/deploy/ingress.yml rename to k8s/deployment/http-ingress.yml index 8a4fbaa02..f4fb36996 100644 --- a/deployments/deploy/ingress.yml +++ b/k8s/deployment/http-ingress.yml @@ -3,23 +3,24 @@ kind: Ingress metadata: name: openim-ingress annotations: - nginx.ingress.kubernetes.io/rewrite-target: / + nginx.ingress.kubernetes.io/rewrite-target: /$1 spec: - ingressClassName: openim-nginx + ingressClassName: nginx rules: - - http: + - host: openim-api.localtest.me + http: paths: - - path: /openim-api - pathType: Prefix + - path: /api/(.*) + pathType: ImplementationSpecific backend: service: name: openim-api-service port: number: 10002 - - path: /openim-msggateway - pathType: Prefix + - path: /msg_gateway/(.*) + pathType: ImplementationSpecific backend: service: - name: openim-msggateway-service + name: messagegateway-rpc-service port: number: 10001 diff --git a/k8s/deployment/https-ingress.yml b/k8s/deployment/https-ingress.yml new file mode 100644 index 000000000..160c7850d --- /dev/null +++ b/k8s/deployment/https-ingress.yml @@ -0,0 +1,35 @@ +# HTTPS Ingress (TLS + cert-manager) +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: openim-ingress-https + namespace: default + annotations: + nginx.ingress.kubernetes.io/use-regex: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$1 + nginx.ingress.kubernetes.io/ssl-redirect: "true" + cert-manager.io/cluster-issuer: letsencrypt-prod +spec: + ingressClassName: nginx + tls: + - hosts: + - openim-api.localtest.me + secretName: openim-api-tls + rules: + - host: openim-api.localtest.me + http: + paths: + - path: /api/(.*) + pathType: ImplementationSpecific + backend: + service: + name: openim-api-service + port: + number: 10002 + - path: /msg_gateway/(.*) + pathType: ImplementationSpecific + backend: + service: + name: messagegateway-rpc-service + port: + number: 10001 diff --git a/deployments/deploy/kafka-secret.yml b/k8s/deployment/kafka-secret.yml similarity index 100% rename from deployments/deploy/kafka-secret.yml rename to k8s/deployment/kafka-secret.yml diff --git a/deployments/deploy/kafka-service.yml b/k8s/deployment/kafka-service.yml similarity index 100% rename from deployments/deploy/kafka-service.yml rename to k8s/deployment/kafka-service.yml diff --git a/deployments/deploy/kafka-statefulset.yml b/k8s/deployment/kafka-statefulset.yml similarity index 99% rename from deployments/deploy/kafka-statefulset.yml rename to k8s/deployment/kafka-statefulset.yml index 0e3c78b69..cad5525fb 100644 --- a/deployments/deploy/kafka-statefulset.yml +++ b/k8s/deployment/kafka-statefulset.yml @@ -5,7 +5,7 @@ metadata: labels: app: kafka spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: kafka diff --git a/deployments/deploy/minio-secret.yml b/k8s/deployment/minio-secret.yml similarity index 100% rename from deployments/deploy/minio-secret.yml rename to k8s/deployment/minio-secret.yml diff --git a/deployments/deploy/minio-service.yml b/k8s/deployment/minio-service.yml similarity index 100% rename from deployments/deploy/minio-service.yml rename to k8s/deployment/minio-service.yml diff --git a/deployments/deploy/minio-statefulset.yml b/k8s/deployment/minio-statefulset.yml similarity index 99% rename from deployments/deploy/minio-statefulset.yml rename to k8s/deployment/minio-statefulset.yml index 9cf0a42d0..4ed3f7769 100644 --- a/deployments/deploy/minio-statefulset.yml +++ b/k8s/deployment/minio-statefulset.yml @@ -5,7 +5,7 @@ metadata: labels: app: minio spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: minio diff --git a/deployments/deploy/mongo-secret.yml b/k8s/deployment/mongo-secret.yml similarity index 100% rename from deployments/deploy/mongo-secret.yml rename to k8s/deployment/mongo-secret.yml diff --git a/deployments/deploy/mongo-service.yml b/k8s/deployment/mongo-service.yml similarity index 100% rename from deployments/deploy/mongo-service.yml rename to k8s/deployment/mongo-service.yml diff --git a/deployments/deploy/mongo-statefulset.yml b/k8s/deployment/mongo-statefulset.yml similarity index 99% rename from deployments/deploy/mongo-statefulset.yml rename to k8s/deployment/mongo-statefulset.yml index 41cd4cb7f..7180dae8e 100644 --- a/deployments/deploy/mongo-statefulset.yml +++ b/k8s/deployment/mongo-statefulset.yml @@ -4,7 +4,7 @@ metadata: name: mongo-statefulset spec: serviceName: "mongo" - replicas: 2 + replicas: 1 selector: matchLabels: app: mongo diff --git a/deployments/deploy/openim-api-deployment.yml b/k8s/deployment/openim-api-deployment.yml similarity index 92% rename from deployments/deploy/openim-api-deployment.yml rename to k8s/deployment/openim-api-deployment.yml index d2d27dc0c..b80ec3761 100644 --- a/deployments/deploy/openim-api-deployment.yml +++ b/k8s/deployment/openim-api-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: openim-api spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: openim-api @@ -12,9 +12,11 @@ spec: labels: app: openim-api spec: + imagePullSecrets: + - name: docker-secret containers: - name: openim-api-container - image: openim/openim-api:v3.8.3 + image: openim-api:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-api-service.yml b/k8s/deployment/openim-api-service.yml similarity index 100% rename from deployments/deploy/openim-api-service.yml rename to k8s/deployment/openim-api-service.yml diff --git a/deployments/deploy/openim-config.yml b/k8s/deployment/openim-config.yml similarity index 100% rename from deployments/deploy/openim-config.yml rename to k8s/deployment/openim-config.yml diff --git a/deployments/deploy/openim-crontask-deployment.yml b/k8s/deployment/openim-crontask-deployment.yml similarity index 83% rename from deployments/deploy/openim-crontask-deployment.yml rename to k8s/deployment/openim-crontask-deployment.yml index ca62714cd..c6a771192 100644 --- a/deployments/deploy/openim-crontask-deployment.yml +++ b/k8s/deployment/openim-crontask-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: openim-crontask spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: crontask @@ -12,9 +12,11 @@ spec: labels: app: crontask spec: + imagePullSecrets: + - name: docker-secret containers: - name: crontask-container - image: openim/openim-crontask:v3.8.3 + image: openim-crontask:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-msggateway-deployment.yml b/k8s/deployment/openim-msggateway-deployment.yml similarity index 88% rename from deployments/deploy/openim-msggateway-deployment.yml rename to k8s/deployment/openim-msggateway-deployment.yml index b1a142e23..04ab8730e 100644 --- a/deployments/deploy/openim-msggateway-deployment.yml +++ b/k8s/deployment/openim-msggateway-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: messagegateway-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: messagegateway-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: messagegateway-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: openim-msggateway-container - image: openim/openim-msggateway:v3.8.3 + image: openim-msggateway:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-msggateway-service.yml b/k8s/deployment/openim-msggateway-service.yml similarity index 92% rename from deployments/deploy/openim-msggateway-service.yml rename to k8s/deployment/openim-msggateway-service.yml index 8b8ea2f16..15982cff7 100644 --- a/deployments/deploy/openim-msggateway-service.yml +++ b/k8s/deployment/openim-msggateway-service.yml @@ -6,7 +6,7 @@ spec: selector: app: messagegateway-rpc-server ports: - - name: longConnServer-10001 + - name: longconnserver-10001 protocol: TCP port: 10001 targetPort: 10001 diff --git a/deployments/deploy/openim-msgtransfer-deployment.yml b/k8s/deployment/openim-msgtransfer-deployment.yml similarity index 92% rename from deployments/deploy/openim-msgtransfer-deployment.yml rename to k8s/deployment/openim-msgtransfer-deployment.yml index 323ed5660..3b2c7d3d6 100644 --- a/deployments/deploy/openim-msgtransfer-deployment.yml +++ b/k8s/deployment/openim-msgtransfer-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: openim-msgtransfer-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: openim-msgtransfer-server @@ -12,9 +12,11 @@ spec: labels: app: openim-msgtransfer-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: openim-msgtransfer-container - image: openim/openim-msgtransfer:v3.8.3 + image: openim-msgtransfer:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-msgtransfer-service.yml b/k8s/deployment/openim-msgtransfer-service.yml similarity index 100% rename from deployments/deploy/openim-msgtransfer-service.yml rename to k8s/deployment/openim-msgtransfer-service.yml diff --git a/deployments/deploy/openim-push-deployment.yml b/k8s/deployment/openim-push-deployment.yml similarity index 90% rename from deployments/deploy/openim-push-deployment.yml rename to k8s/deployment/openim-push-deployment.yml index bb36170e9..480491a3d 100644 --- a/deployments/deploy/openim-push-deployment.yml +++ b/k8s/deployment/openim-push-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: push-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: push-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: push-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: push-rpc-server-container - image: openim/openim-push:v3.8.3 + image: openim-push:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-push-service.yml b/k8s/deployment/openim-push-service.yml similarity index 100% rename from deployments/deploy/openim-push-service.yml rename to k8s/deployment/openim-push-service.yml diff --git a/deployments/deploy/openim-rpc-auth-deployment.yml b/k8s/deployment/openim-rpc-auth-deployment.yml similarity index 85% rename from deployments/deploy/openim-rpc-auth-deployment.yml rename to k8s/deployment/openim-rpc-auth-deployment.yml index a15c901f5..b6c897330 100644 --- a/deployments/deploy/openim-rpc-auth-deployment.yml +++ b/k8s/deployment/openim-rpc-auth-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: auth-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: auth-rpc-server @@ -12,10 +12,12 @@ spec: labels: app: auth-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: auth-rpc-server-container - image: openim/openim-rpc-auth:v3.8.3 - imagePullPolicy: Never + image: openim-rpc-auth:test + imagePullPolicy: IfNotPresent env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-auth-service.yml b/k8s/deployment/openim-rpc-auth-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-auth-service.yml rename to k8s/deployment/openim-rpc-auth-service.yml diff --git a/deployments/deploy/openim-rpc-conversation-deployment.yml b/k8s/deployment/openim-rpc-conversation-deployment.yml similarity index 91% rename from deployments/deploy/openim-rpc-conversation-deployment.yml rename to k8s/deployment/openim-rpc-conversation-deployment.yml index 2c9bde337..26eee23f9 100644 --- a/deployments/deploy/openim-rpc-conversation-deployment.yml +++ b/k8s/deployment/openim-rpc-conversation-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: conversation-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: conversation-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: conversation-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: conversation-rpc-server-container - image: openim/openim-rpc-conversation:v3.8.3 + image: openim-rpc-conversation:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-conversation-service.yml b/k8s/deployment/openim-rpc-conversation-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-conversation-service.yml rename to k8s/deployment/openim-rpc-conversation-service.yml diff --git a/deployments/deploy/openim-rpc-friend-deployment.yml b/k8s/deployment/openim-rpc-friend-deployment.yml similarity index 91% rename from deployments/deploy/openim-rpc-friend-deployment.yml rename to k8s/deployment/openim-rpc-friend-deployment.yml index e01238888..b4a3ec07e 100644 --- a/deployments/deploy/openim-rpc-friend-deployment.yml +++ b/k8s/deployment/openim-rpc-friend-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: friend-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: friend-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: friend-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: friend-rpc-server-container - image: openim/openim-rpc-friend:v3.8.3 + image: openim-rpc-friend:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-friend-service.yml b/k8s/deployment/openim-rpc-friend-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-friend-service.yml rename to k8s/deployment/openim-rpc-friend-service.yml diff --git a/deployments/deploy/openim-rpc-group-deployment.yml b/k8s/deployment/openim-rpc-group-deployment.yml similarity index 91% rename from deployments/deploy/openim-rpc-group-deployment.yml rename to k8s/deployment/openim-rpc-group-deployment.yml index 4698d60b5..57c97df7e 100644 --- a/deployments/deploy/openim-rpc-group-deployment.yml +++ b/k8s/deployment/openim-rpc-group-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: group-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: group-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: group-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: group-rpc-server-container - image: openim/openim-rpc-group:v3.8.3 + image: openim-rpc-group:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-group-service.yml b/k8s/deployment/openim-rpc-group-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-group-service.yml rename to k8s/deployment/openim-rpc-group-service.yml diff --git a/deployments/deploy/openim-rpc-msg-deployment.yml b/k8s/deployment/openim-rpc-msg-deployment.yml similarity index 92% rename from deployments/deploy/openim-rpc-msg-deployment.yml rename to k8s/deployment/openim-rpc-msg-deployment.yml index 26a833342..ebe8ec66f 100644 --- a/deployments/deploy/openim-rpc-msg-deployment.yml +++ b/k8s/deployment/openim-rpc-msg-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: msg-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: msg-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: msg-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: msg-rpc-server-container - image: openim/openim-rpc-msg:v3.8.3 + image: openim-rpc-msg:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-msg-service.yml b/k8s/deployment/openim-rpc-msg-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-msg-service.yml rename to k8s/deployment/openim-rpc-msg-service.yml diff --git a/deployments/deploy/openim-rpc-third-deployment.yml b/k8s/deployment/openim-rpc-third-deployment.yml similarity index 93% rename from deployments/deploy/openim-rpc-third-deployment.yml rename to k8s/deployment/openim-rpc-third-deployment.yml index f6919f510..b26a06ffc 100644 --- a/deployments/deploy/openim-rpc-third-deployment.yml +++ b/k8s/deployment/openim-rpc-third-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: third-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: third-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: third-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: third-rpc-server-container - image: openim/openim-rpc-third:v3.8.3 + image: openim-rpc-third:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-third-service.yml b/k8s/deployment/openim-rpc-third-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-third-service.yml rename to k8s/deployment/openim-rpc-third-service.yml diff --git a/deployments/deploy/openim-rpc-user-deployment.yml b/k8s/deployment/openim-rpc-user-deployment.yml similarity index 92% rename from deployments/deploy/openim-rpc-user-deployment.yml rename to k8s/deployment/openim-rpc-user-deployment.yml index c3e36d1be..e9aa29eb0 100644 --- a/deployments/deploy/openim-rpc-user-deployment.yml +++ b/k8s/deployment/openim-rpc-user-deployment.yml @@ -3,7 +3,7 @@ kind: Deployment metadata: name: user-rpc-server spec: - replicas: 2 + replicas: 1 selector: matchLabels: app: user-rpc-server @@ -12,9 +12,11 @@ spec: labels: app: user-rpc-server spec: + imagePullSecrets: + - name: docker-secret containers: - name: user-rpc-server-container - image: openim/openim-rpc-user:v3.8.3 + image: openim-rpc-user:test env: - name: CONFIG_PATH value: "/config" diff --git a/deployments/deploy/openim-rpc-user-service.yml b/k8s/deployment/openim-rpc-user-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-user-service.yml rename to k8s/deployment/openim-rpc-user-service.yml diff --git a/deployments/deploy/redis-secret.yml b/k8s/deployment/redis-secret.yml similarity index 100% rename from deployments/deploy/redis-secret.yml rename to k8s/deployment/redis-secret.yml diff --git a/deployments/deploy/redis-service.yml b/k8s/deployment/redis-service.yml similarity index 100% rename from deployments/deploy/redis-service.yml rename to k8s/deployment/redis-service.yml diff --git a/deployments/deploy/redis-statefulset.yml b/k8s/deployment/redis-statefulset.yml similarity index 51% rename from deployments/deploy/redis-statefulset.yml rename to k8s/deployment/redis-statefulset.yml index 5668b20cc..cf863837d 100644 --- a/deployments/deploy/redis-statefulset.yml +++ b/k8s/deployment/redis-statefulset.yml @@ -2,9 +2,11 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: redis-statefulset + labels: + app: redis spec: - serviceName: "redis" - replicas: 2 + serviceName: "redis-service" + replicas: 1 selector: matchLabels: app: redis @@ -18,38 +20,31 @@ spec: image: redis:7.0.0 ports: - containerPort: 6379 + name: redis env: - name: TZ value: "Asia/Shanghai" - name: REDIS_PASSWORD valueFrom: secretKeyRef: - name: redis-secret + name: openim-redis-secret key: redis-password volumeMounts: - name: redis-data mountPath: /data 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 + - /bin/sh + - -c + - | + redis-server \ + --requirepass "$REDIS_PASSWORD" \ + --appendonly yes \ + --dir /data + volumeClaimTemplates: + - metadata: + name: redis-data + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 5Gi diff --git a/k8s/deployment/tls-secret.yml b/k8s/deployment/tls-secret.yml new file mode 100644 index 000000000..b75e5b617 --- /dev/null +++ b/k8s/deployment/tls-secret.yml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Secret +metadata: + name: openim-api-tls + namespace: default +type: kubernetes.io/tls +data: + tls.crt: + tls.key: diff --git a/pkg/common/cmd/msg_gateway.go b/pkg/common/cmd/msg_gateway.go index 83cfb6272..85ca2d7bd 100644 --- a/pkg/common/cmd/msg_gateway.go +++ b/pkg/common/cmd/msg_gateway.go @@ -58,10 +58,9 @@ func (m *MsgGatewayCmd) Exec() error { func (m *MsgGatewayCmd) runE() error { m.msgGatewayConfig.Index = config.Index(m.Index()) rpc := m.msgGatewayConfig.MsgGateway.RPC - var prometheus config.Prometheus return startrpc.Start( m.ctx, &m.msgGatewayConfig.Discovery, - &prometheus, + &m.msgGatewayConfig.MsgGateway.Prometheus, rpc.ListenIP, rpc.RegisterIP, rpc.AutoSetPorts, rpc.Ports, int(m.msgGatewayConfig.Index), diff --git a/pkg/common/cmd/root.go b/pkg/common/cmd/root.go index 35b1c7dfb..37b0118fe 100644 --- a/pkg/common/cmd/root.go +++ b/pkg/common/cmd/root.go @@ -110,9 +110,13 @@ func (r *RootCmd) persistentPreRun(cmd *cobra.Command, opts ...func(*CmdOpts)) e if err := r.initializeLogger(cmdOpts); err != nil { return errs.WrapMsg(err, "failed to initialize logger") } - if err := r.etcdClient.Close(); err != nil { - return errs.WrapMsg(err, "failed to close etcd client") + + if r.etcdClient != nil { + if err := r.etcdClient.Close(); err != nil { + return errs.WrapMsg(err, "failed to close etcd client") + } } + return nil } From a33b42cf9733dc0295f41fa5ad092f091c0496bb Mon Sep 17 00:00:00 2001 From: icey-yu <1186114839@qq.com> Date: Fri, 6 Jun 2025 15:32:15 +0800 Subject: [PATCH 2/4] feat: rename dic --- {k8s => deployments}/Readme.md | 0 {k8s/deployment => deployments/deploy}/clusterRole.yml | 0 {k8s/deployment => deployments/deploy}/docker-secret.yml | 0 {k8s/deployment => deployments/deploy}/http-ingress.yml | 0 {k8s/deployment => deployments/deploy}/https-ingress.yml | 0 {k8s/deployment => deployments/deploy}/kafka-secret.yml | 0 {k8s/deployment => deployments/deploy}/kafka-service.yml | 0 {k8s/deployment => deployments/deploy}/kafka-statefulset.yml | 0 {k8s/deployment => deployments/deploy}/minio-secret.yml | 0 {k8s/deployment => deployments/deploy}/minio-service.yml | 0 {k8s/deployment => deployments/deploy}/minio-statefulset.yml | 0 {k8s/deployment => deployments/deploy}/mongo-secret.yml | 0 {k8s/deployment => deployments/deploy}/mongo-service.yml | 0 {k8s/deployment => deployments/deploy}/mongo-statefulset.yml | 0 {k8s/deployment => deployments/deploy}/openim-api-deployment.yml | 0 {k8s/deployment => deployments/deploy}/openim-api-service.yml | 0 {k8s/deployment => deployments/deploy}/openim-config.yml | 0 .../deploy}/openim-crontask-deployment.yml | 0 .../deploy}/openim-msggateway-deployment.yml | 0 .../deploy}/openim-msggateway-service.yml | 0 .../deploy}/openim-msgtransfer-deployment.yml | 0 .../deploy}/openim-msgtransfer-service.yml | 0 {k8s/deployment => deployments/deploy}/openim-push-deployment.yml | 0 {k8s/deployment => deployments/deploy}/openim-push-service.yml | 0 .../deploy}/openim-rpc-auth-deployment.yml | 0 .../deployment => deployments/deploy}/openim-rpc-auth-service.yml | 0 .../deploy}/openim-rpc-conversation-deployment.yml | 0 .../deploy}/openim-rpc-conversation-service.yml | 0 .../deploy}/openim-rpc-friend-deployment.yml | 0 .../deploy}/openim-rpc-friend-service.yml | 0 .../deploy}/openim-rpc-group-deployment.yml | 0 .../deploy}/openim-rpc-group-service.yml | 0 .../deploy}/openim-rpc-msg-deployment.yml | 0 {k8s/deployment => deployments/deploy}/openim-rpc-msg-service.yml | 0 .../deploy}/openim-rpc-third-deployment.yml | 0 .../deploy}/openim-rpc-third-service.yml | 0 .../deploy}/openim-rpc-user-deployment.yml | 0 .../deployment => deployments/deploy}/openim-rpc-user-service.yml | 0 {k8s/deployment => deployments/deploy}/redis-secret.yml | 0 {k8s/deployment => deployments/deploy}/redis-service.yml | 0 {k8s/deployment => deployments/deploy}/redis-statefulset.yml | 0 {k8s/deployment => deployments/deploy}/tls-secret.yml | 0 42 files changed, 0 insertions(+), 0 deletions(-) rename {k8s => deployments}/Readme.md (100%) rename {k8s/deployment => deployments/deploy}/clusterRole.yml (100%) rename {k8s/deployment => deployments/deploy}/docker-secret.yml (100%) rename {k8s/deployment => deployments/deploy}/http-ingress.yml (100%) rename {k8s/deployment => deployments/deploy}/https-ingress.yml (100%) rename {k8s/deployment => deployments/deploy}/kafka-secret.yml (100%) rename {k8s/deployment => deployments/deploy}/kafka-service.yml (100%) rename {k8s/deployment => deployments/deploy}/kafka-statefulset.yml (100%) rename {k8s/deployment => deployments/deploy}/minio-secret.yml (100%) rename {k8s/deployment => deployments/deploy}/minio-service.yml (100%) rename {k8s/deployment => deployments/deploy}/minio-statefulset.yml (100%) rename {k8s/deployment => deployments/deploy}/mongo-secret.yml (100%) rename {k8s/deployment => deployments/deploy}/mongo-service.yml (100%) rename {k8s/deployment => deployments/deploy}/mongo-statefulset.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-api-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-api-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-config.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-crontask-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-msggateway-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-msggateway-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-msgtransfer-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-msgtransfer-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-push-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-push-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-auth-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-auth-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-conversation-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-conversation-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-friend-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-friend-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-group-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-group-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-msg-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-msg-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-third-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-third-service.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-user-deployment.yml (100%) rename {k8s/deployment => deployments/deploy}/openim-rpc-user-service.yml (100%) rename {k8s/deployment => deployments/deploy}/redis-secret.yml (100%) rename {k8s/deployment => deployments/deploy}/redis-service.yml (100%) rename {k8s/deployment => deployments/deploy}/redis-statefulset.yml (100%) rename {k8s/deployment => deployments/deploy}/tls-secret.yml (100%) diff --git a/k8s/Readme.md b/deployments/Readme.md similarity index 100% rename from k8s/Readme.md rename to deployments/Readme.md diff --git a/k8s/deployment/clusterRole.yml b/deployments/deploy/clusterRole.yml similarity index 100% rename from k8s/deployment/clusterRole.yml rename to deployments/deploy/clusterRole.yml diff --git a/k8s/deployment/docker-secret.yml b/deployments/deploy/docker-secret.yml similarity index 100% rename from k8s/deployment/docker-secret.yml rename to deployments/deploy/docker-secret.yml diff --git a/k8s/deployment/http-ingress.yml b/deployments/deploy/http-ingress.yml similarity index 100% rename from k8s/deployment/http-ingress.yml rename to deployments/deploy/http-ingress.yml diff --git a/k8s/deployment/https-ingress.yml b/deployments/deploy/https-ingress.yml similarity index 100% rename from k8s/deployment/https-ingress.yml rename to deployments/deploy/https-ingress.yml diff --git a/k8s/deployment/kafka-secret.yml b/deployments/deploy/kafka-secret.yml similarity index 100% rename from k8s/deployment/kafka-secret.yml rename to deployments/deploy/kafka-secret.yml diff --git a/k8s/deployment/kafka-service.yml b/deployments/deploy/kafka-service.yml similarity index 100% rename from k8s/deployment/kafka-service.yml rename to deployments/deploy/kafka-service.yml diff --git a/k8s/deployment/kafka-statefulset.yml b/deployments/deploy/kafka-statefulset.yml similarity index 100% rename from k8s/deployment/kafka-statefulset.yml rename to deployments/deploy/kafka-statefulset.yml diff --git a/k8s/deployment/minio-secret.yml b/deployments/deploy/minio-secret.yml similarity index 100% rename from k8s/deployment/minio-secret.yml rename to deployments/deploy/minio-secret.yml diff --git a/k8s/deployment/minio-service.yml b/deployments/deploy/minio-service.yml similarity index 100% rename from k8s/deployment/minio-service.yml rename to deployments/deploy/minio-service.yml diff --git a/k8s/deployment/minio-statefulset.yml b/deployments/deploy/minio-statefulset.yml similarity index 100% rename from k8s/deployment/minio-statefulset.yml rename to deployments/deploy/minio-statefulset.yml diff --git a/k8s/deployment/mongo-secret.yml b/deployments/deploy/mongo-secret.yml similarity index 100% rename from k8s/deployment/mongo-secret.yml rename to deployments/deploy/mongo-secret.yml diff --git a/k8s/deployment/mongo-service.yml b/deployments/deploy/mongo-service.yml similarity index 100% rename from k8s/deployment/mongo-service.yml rename to deployments/deploy/mongo-service.yml diff --git a/k8s/deployment/mongo-statefulset.yml b/deployments/deploy/mongo-statefulset.yml similarity index 100% rename from k8s/deployment/mongo-statefulset.yml rename to deployments/deploy/mongo-statefulset.yml diff --git a/k8s/deployment/openim-api-deployment.yml b/deployments/deploy/openim-api-deployment.yml similarity index 100% rename from k8s/deployment/openim-api-deployment.yml rename to deployments/deploy/openim-api-deployment.yml diff --git a/k8s/deployment/openim-api-service.yml b/deployments/deploy/openim-api-service.yml similarity index 100% rename from k8s/deployment/openim-api-service.yml rename to deployments/deploy/openim-api-service.yml diff --git a/k8s/deployment/openim-config.yml b/deployments/deploy/openim-config.yml similarity index 100% rename from k8s/deployment/openim-config.yml rename to deployments/deploy/openim-config.yml diff --git a/k8s/deployment/openim-crontask-deployment.yml b/deployments/deploy/openim-crontask-deployment.yml similarity index 100% rename from k8s/deployment/openim-crontask-deployment.yml rename to deployments/deploy/openim-crontask-deployment.yml diff --git a/k8s/deployment/openim-msggateway-deployment.yml b/deployments/deploy/openim-msggateway-deployment.yml similarity index 100% rename from k8s/deployment/openim-msggateway-deployment.yml rename to deployments/deploy/openim-msggateway-deployment.yml diff --git a/k8s/deployment/openim-msggateway-service.yml b/deployments/deploy/openim-msggateway-service.yml similarity index 100% rename from k8s/deployment/openim-msggateway-service.yml rename to deployments/deploy/openim-msggateway-service.yml diff --git a/k8s/deployment/openim-msgtransfer-deployment.yml b/deployments/deploy/openim-msgtransfer-deployment.yml similarity index 100% rename from k8s/deployment/openim-msgtransfer-deployment.yml rename to deployments/deploy/openim-msgtransfer-deployment.yml diff --git a/k8s/deployment/openim-msgtransfer-service.yml b/deployments/deploy/openim-msgtransfer-service.yml similarity index 100% rename from k8s/deployment/openim-msgtransfer-service.yml rename to deployments/deploy/openim-msgtransfer-service.yml diff --git a/k8s/deployment/openim-push-deployment.yml b/deployments/deploy/openim-push-deployment.yml similarity index 100% rename from k8s/deployment/openim-push-deployment.yml rename to deployments/deploy/openim-push-deployment.yml diff --git a/k8s/deployment/openim-push-service.yml b/deployments/deploy/openim-push-service.yml similarity index 100% rename from k8s/deployment/openim-push-service.yml rename to deployments/deploy/openim-push-service.yml diff --git a/k8s/deployment/openim-rpc-auth-deployment.yml b/deployments/deploy/openim-rpc-auth-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-auth-deployment.yml rename to deployments/deploy/openim-rpc-auth-deployment.yml diff --git a/k8s/deployment/openim-rpc-auth-service.yml b/deployments/deploy/openim-rpc-auth-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-auth-service.yml rename to deployments/deploy/openim-rpc-auth-service.yml diff --git a/k8s/deployment/openim-rpc-conversation-deployment.yml b/deployments/deploy/openim-rpc-conversation-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-conversation-deployment.yml rename to deployments/deploy/openim-rpc-conversation-deployment.yml diff --git a/k8s/deployment/openim-rpc-conversation-service.yml b/deployments/deploy/openim-rpc-conversation-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-conversation-service.yml rename to deployments/deploy/openim-rpc-conversation-service.yml diff --git a/k8s/deployment/openim-rpc-friend-deployment.yml b/deployments/deploy/openim-rpc-friend-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-friend-deployment.yml rename to deployments/deploy/openim-rpc-friend-deployment.yml diff --git a/k8s/deployment/openim-rpc-friend-service.yml b/deployments/deploy/openim-rpc-friend-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-friend-service.yml rename to deployments/deploy/openim-rpc-friend-service.yml diff --git a/k8s/deployment/openim-rpc-group-deployment.yml b/deployments/deploy/openim-rpc-group-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-group-deployment.yml rename to deployments/deploy/openim-rpc-group-deployment.yml diff --git a/k8s/deployment/openim-rpc-group-service.yml b/deployments/deploy/openim-rpc-group-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-group-service.yml rename to deployments/deploy/openim-rpc-group-service.yml diff --git a/k8s/deployment/openim-rpc-msg-deployment.yml b/deployments/deploy/openim-rpc-msg-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-msg-deployment.yml rename to deployments/deploy/openim-rpc-msg-deployment.yml diff --git a/k8s/deployment/openim-rpc-msg-service.yml b/deployments/deploy/openim-rpc-msg-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-msg-service.yml rename to deployments/deploy/openim-rpc-msg-service.yml diff --git a/k8s/deployment/openim-rpc-third-deployment.yml b/deployments/deploy/openim-rpc-third-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-third-deployment.yml rename to deployments/deploy/openim-rpc-third-deployment.yml diff --git a/k8s/deployment/openim-rpc-third-service.yml b/deployments/deploy/openim-rpc-third-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-third-service.yml rename to deployments/deploy/openim-rpc-third-service.yml diff --git a/k8s/deployment/openim-rpc-user-deployment.yml b/deployments/deploy/openim-rpc-user-deployment.yml similarity index 100% rename from k8s/deployment/openim-rpc-user-deployment.yml rename to deployments/deploy/openim-rpc-user-deployment.yml diff --git a/k8s/deployment/openim-rpc-user-service.yml b/deployments/deploy/openim-rpc-user-service.yml similarity index 100% rename from k8s/deployment/openim-rpc-user-service.yml rename to deployments/deploy/openim-rpc-user-service.yml diff --git a/k8s/deployment/redis-secret.yml b/deployments/deploy/redis-secret.yml similarity index 100% rename from k8s/deployment/redis-secret.yml rename to deployments/deploy/redis-secret.yml diff --git a/k8s/deployment/redis-service.yml b/deployments/deploy/redis-service.yml similarity index 100% rename from k8s/deployment/redis-service.yml rename to deployments/deploy/redis-service.yml diff --git a/k8s/deployment/redis-statefulset.yml b/deployments/deploy/redis-statefulset.yml similarity index 100% rename from k8s/deployment/redis-statefulset.yml rename to deployments/deploy/redis-statefulset.yml diff --git a/k8s/deployment/tls-secret.yml b/deployments/deploy/tls-secret.yml similarity index 100% rename from k8s/deployment/tls-secret.yml rename to deployments/deploy/tls-secret.yml From bb4c44f786d4eea7a5d9d5fd14e098d45bbf034f Mon Sep 17 00:00:00 2001 From: icey-yu <1186114839@qq.com> Date: Wed, 18 Jun 2025 11:09:47 +0800 Subject: [PATCH 3/4] fix: k8s discovery --- go.mod | 2 +- go.sum | 4 ++-- pkg/common/discovery/discoveryregister.go | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index d35252536..da0c28936 100644 --- a/go.mod +++ b/go.mod @@ -13,7 +13,7 @@ require ( github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/mitchellh/mapstructure v1.5.0 github.com/openimsdk/protocol v0.0.73-alpha.6 - github.com/openimsdk/tools v0.0.50-alpha.83 + github.com/openimsdk/tools v0.0.50-alpha.89 github.com/pkg/errors v0.9.1 // indirect github.com/prometheus/client_golang v1.18.0 github.com/stretchr/testify v1.9.0 diff --git a/go.sum b/go.sum index 35fc3d4c6..996a0b6f5 100644 --- a/go.sum +++ b/go.sum @@ -349,8 +349,8 @@ github.com/openimsdk/gomake v0.0.15-alpha.5 h1:eEZCEHm+NsmcO3onXZPIUbGFCYPYbsX5b github.com/openimsdk/gomake v0.0.15-alpha.5/go.mod h1:PndCozNc2IsQIciyn9mvEblYWZwJmAI+06z94EY+csI= github.com/openimsdk/protocol v0.0.73-alpha.6 h1:sna9coWG7HN1zObBPtvG0Ki/vzqHXiB4qKbA5P3w7kc= github.com/openimsdk/protocol v0.0.73-alpha.6/go.mod h1:WF7EuE55vQvpyUAzDXcqg+B+446xQyEba0X35lTINmw= -github.com/openimsdk/tools v0.0.50-alpha.83 h1:7c1D40YGqIWUmGfCII5pduETGC/8c2DyS9SQ4LvoplU= -github.com/openimsdk/tools v0.0.50-alpha.83/go.mod h1:n2poR3asX1e1XZce4O+MOWAp+X02QJRFvhcLCXZdzRo= +github.com/openimsdk/tools v0.0.50-alpha.89 h1:aAbWSc3gOI//+KQ70i7ilOTiLqQNotmp+bobg4Gu8qI= +github.com/openimsdk/tools v0.0.50-alpha.89/go.mod h1:n2poR3asX1e1XZce4O+MOWAp+X02QJRFvhcLCXZdzRo= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= diff --git a/pkg/common/discovery/discoveryregister.go b/pkg/common/discovery/discoveryregister.go index dc100be5c..df4091152 100644 --- a/pkg/common/discovery/discoveryregister.go +++ b/pkg/common/discovery/discoveryregister.go @@ -35,7 +35,8 @@ func NewDiscoveryRegister(discovery *config.Discovery, watchNames []string) (dis return standalone.GetSvcDiscoveryRegistry(), nil } if runtimeenv.RuntimeEnvironment() == config.KUBERNETES { - return kubernetes.NewKubernetesConnManager(discovery.Kubernetes.Namespace, + return kubernetes.NewConnManager(discovery.Kubernetes.Namespace, + watchNames, grpc.WithDefaultCallOptions( grpc.MaxCallSendMsgSize(1024*1024*20), ), From 30e88ca766cc3fb269f30131c963baf599bd6a0d Mon Sep 17 00:00:00 2001 From: icey-yu <1186114839@qq.com> Date: Fri, 20 Jun 2025 15:22:03 +0800 Subject: [PATCH 4/4] feat: k8s --- .gitignore | 4 +- build/build.sh | 34 +++++++++++++++ deployments/deploy/docker-secret.yml | 19 -------- deployments/deploy/minio-secret.yml | 8 ---- deployments/deploy/mongo-secret.yml | 8 ---- {deployments => kubernetes}/Readme.md | 0 .../deploy/configmap}/openim-config.yml | 0 .../deployments}/openim-api-deployment.yml | 0 .../deployments}/openim-api-service.yml | 0 .../openim-crontask-deployment.yml | 0 .../openim-msggateway-deployment.yml | 0 .../openim-msggateway-service.yml | 0 .../openim-msgtransfer-deployment.yml | 8 +++- .../openim-msgtransfer-service.yml | 0 .../deployments}/openim-push-deployment.yml | 8 +++- .../deployments}/openim-push-service.yml | 0 .../openim-rpc-auth-deployment.yml | 0 .../deployments}/openim-rpc-auth-service.yml | 0 .../openim-rpc-conversation-deployment.yml | 0 .../openim-rpc-conversation-service.yml | 0 .../openim-rpc-friend-deployment.yml | 0 .../openim-rpc-friend-service.yml | 0 .../openim-rpc-group-deployment.yml | 0 .../deployments}/openim-rpc-group-service.yml | 0 .../openim-rpc-msg-deployment.yml | 8 +++- .../deployments}/openim-rpc-msg-service.yml | 0 .../openim-rpc-third-deployment.yml | 0 .../deployments}/openim-rpc-third-service.yml | 0 .../openim-rpc-user-deployment.yml | 8 +++- .../deployments}/openim-rpc-user-service.yml | 0 .../deploy/ingress}/http-ingress.yml | 0 .../deploy/ingress}/https-ingress.yml | 0 .../deploy/rbac}/clusterRole.yml | 0 kubernetes/deploy/secrets/docker-secret.yml | 18 ++++++++ .../deploy/secrets}/kafka-secret.yml | 5 ++- kubernetes/deploy/secrets/minio-secret.yml | 8 ++++ kubernetes/deploy/secrets/mongo-secret.yml | 11 +++++ .../deploy/secrets}/redis-secret.yml | 4 +- .../deploy/secrets}/tls-secret.yml | 6 +-- .../deploy/statefulsets}/kafka-service.yml | 0 .../statefulsets}/kafka-statefulset.yml | 20 +++++++++ .../deploy/statefulsets}/minio-service.yml | 0 .../statefulsets}/minio-statefulset.yml | 0 .../deploy/statefulsets}/mongo-service.yml | 0 .../statefulsets}/mongo-statefulset.yml | 22 +++------- .../deploy/statefulsets}/redis-service.yml | 0 .../statefulsets}/redis-statefulset.yml | 43 +++++++++++-------- 47 files changed, 155 insertions(+), 87 deletions(-) create mode 100644 build/build.sh delete mode 100644 deployments/deploy/docker-secret.yml delete mode 100644 deployments/deploy/minio-secret.yml delete mode 100644 deployments/deploy/mongo-secret.yml rename {deployments => kubernetes}/Readme.md (100%) rename {deployments/deploy => kubernetes/deploy/configmap}/openim-config.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-api-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-api-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-crontask-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-msggateway-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-msggateway-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-msgtransfer-deployment.yml (85%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-msgtransfer-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-push-deployment.yml (82%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-push-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-auth-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-auth-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-conversation-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-conversation-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-friend-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-friend-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-group-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-group-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-msg-deployment.yml (85%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-msg-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-third-deployment.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-third-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-user-deployment.yml (85%) rename {deployments/deploy => kubernetes/deploy/deployments}/openim-rpc-user-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/ingress}/http-ingress.yml (100%) rename {deployments/deploy => kubernetes/deploy/ingress}/https-ingress.yml (100%) rename {deployments/deploy => kubernetes/deploy/rbac}/clusterRole.yml (100%) create mode 100644 kubernetes/deploy/secrets/docker-secret.yml rename {deployments/deploy => kubernetes/deploy/secrets}/kafka-secret.yml (54%) create mode 100644 kubernetes/deploy/secrets/minio-secret.yml create mode 100644 kubernetes/deploy/secrets/mongo-secret.yml rename {deployments/deploy => kubernetes/deploy/secrets}/redis-secret.yml (56%) rename {deployments/deploy => kubernetes/deploy/secrets}/tls-secret.yml (57%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/kafka-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/kafka-statefulset.yml (72%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/minio-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/minio-statefulset.yml (100%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/mongo-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/mongo-statefulset.yml (82%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/redis-service.yml (100%) rename {deployments/deploy => kubernetes/deploy/statefulsets}/redis-statefulset.yml (56%) diff --git a/.gitignore b/.gitignore index 77cf855b7..25969db13 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ tmp/ bin/ output/ _output/ -deployments/charts/generated-configs/ +kubernetes/charts/generated-configs/ ### OpenIM Config ### .env @@ -37,7 +37,7 @@ config/config.yaml config/notification.yaml ### OpenIM deploy ### -deployments/openim-server/charts +kubernetes/openim-server/charts # files used by the developer .idea.md diff --git a/build/build.sh b/build/build.sh new file mode 100644 index 000000000..349152748 --- /dev/null +++ b/build/build.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +CYAN='\033[0;36m' +GREEN='\033[0;32m' +YELLOW='\033[0;33m' +RED='\033[0;31m' +NO_COLOR='\033[0m' + +BASE_DIR="$(cd "$(dirname "$0")" && pwd)" +IMAGE_DIR="$BASE_DIR/images" + +if [[ ! -d "$IMAGE_DIR" ]]; then + echo -e "${RED}dir $IMAGE_DIR not exist!${NO_COLOR}" + exit 1 +fi + +for dir in "$IMAGE_DIR"/*/; do + [[ -d "$dir" ]] || continue + + name="$(basename "$dir")" + dockerfile="$dir/Dockerfile" + + if [[ -f "$dockerfile" ]]; then + echo -e "${CYAN}Building ${name}:test...${NO_COLOR}" + build_context="${dir}../../../" + if docker build -t "${name}:test" -f "$dockerfile" "$build_context"; then + echo -e "${GREEN}Successfully built ${name}:test${NO_COLOR}" + else + echo -e "${RED}Failed to build ${name}:test${NO_COLOR}" + fi + else + echo -e "${YELLOW}Skipping ${name}: Dockerfile not found${NO_COLOR}" + fi +done \ No newline at end of file diff --git a/deployments/deploy/docker-secret.yml b/deployments/deploy/docker-secret.yml deleted file mode 100644 index 58caa682d..000000000 --- a/deployments/deploy/docker-secret.yml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: docker-secret - namespace: default -type: kubernetes.io/dockerconfigjson -data: - # { - # "auths": { - # "your.registry.com": { - # "username": "username", - # "password": "psw", - # "email": "openim@example.com", - # "auth": "dXNlcm5hbWU6cHN3" - # } - # } - #} - # Base64 encoded .docerconfigjson content - .dockerconfigjson: "ewogICJhdXRocyI6IHsKICAgICJ5b3VyLnJlZ2lzdHJ5LmNvbSI6IHsKICAgICAgInVzZXJuYW1lIjogInVzZXJuYW1lIiwKICAgICAgInBhc3N3b3JkIjogInBzdyIsCiAgICAgICJlbWFpbCI6ICAgICJvcGVuaW1AZXhhbXBsZS5jb20iLAogICAgICAiYXV0aCI6ICAgICAiZFhObGNtNWhiV1U2Y0hOMyIKICAgIH0KICB9Cn0=" \ No newline at end of file diff --git a/deployments/deploy/minio-secret.yml b/deployments/deploy/minio-secret.yml deleted file mode 100644 index 3ea09a19f..000000000 --- a/deployments/deploy/minio-secret.yml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: openim-minio-secret -type: Opaque -data: - minio-root-user: cm9vdA== # Base64 encoded "root" - minio-root-password: b3BlbklNMTIz # Base64 encoded "openIM123" diff --git a/deployments/deploy/mongo-secret.yml b/deployments/deploy/mongo-secret.yml deleted file mode 100644 index c3c10af24..000000000 --- a/deployments/deploy/mongo-secret.yml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: openim-mongo-secret -type: Opaque -data: - mongo_openim_username: b3BlbklN # base64 for "openIM", this user credentials need in authSource database. - mongo_openim_password: b3BlbklNMTIz # base64 for "openIM123" diff --git a/deployments/Readme.md b/kubernetes/Readme.md similarity index 100% rename from deployments/Readme.md rename to kubernetes/Readme.md diff --git a/deployments/deploy/openim-config.yml b/kubernetes/deploy/configmap/openim-config.yml similarity index 100% rename from deployments/deploy/openim-config.yml rename to kubernetes/deploy/configmap/openim-config.yml diff --git a/deployments/deploy/openim-api-deployment.yml b/kubernetes/deploy/deployments/openim-api-deployment.yml similarity index 100% rename from deployments/deploy/openim-api-deployment.yml rename to kubernetes/deploy/deployments/openim-api-deployment.yml diff --git a/deployments/deploy/openim-api-service.yml b/kubernetes/deploy/deployments/openim-api-service.yml similarity index 100% rename from deployments/deploy/openim-api-service.yml rename to kubernetes/deploy/deployments/openim-api-service.yml diff --git a/deployments/deploy/openim-crontask-deployment.yml b/kubernetes/deploy/deployments/openim-crontask-deployment.yml similarity index 100% rename from deployments/deploy/openim-crontask-deployment.yml rename to kubernetes/deploy/deployments/openim-crontask-deployment.yml diff --git a/deployments/deploy/openim-msggateway-deployment.yml b/kubernetes/deploy/deployments/openim-msggateway-deployment.yml similarity index 100% rename from deployments/deploy/openim-msggateway-deployment.yml rename to kubernetes/deploy/deployments/openim-msggateway-deployment.yml diff --git a/deployments/deploy/openim-msggateway-service.yml b/kubernetes/deploy/deployments/openim-msggateway-service.yml similarity index 100% rename from deployments/deploy/openim-msggateway-service.yml rename to kubernetes/deploy/deployments/openim-msggateway-service.yml diff --git a/deployments/deploy/openim-msgtransfer-deployment.yml b/kubernetes/deploy/deployments/openim-msgtransfer-deployment.yml similarity index 85% rename from deployments/deploy/openim-msgtransfer-deployment.yml rename to kubernetes/deploy/deployments/openim-msgtransfer-deployment.yml index 3b2c7d3d6..43e6fbe2b 100644 --- a/deployments/deploy/openim-msgtransfer-deployment.yml +++ b/kubernetes/deploy/deployments/openim-msgtransfer-deployment.yml @@ -12,10 +12,9 @@ spec: labels: app: openim-msgtransfer-server spec: - imagePullSecrets: - - name: docker-secret containers: - name: openim-msgtransfer-container + # image: openim/openim-msgtransfer:v3.8.3 image: openim-msgtransfer:test env: - name: CONFIG_PATH @@ -35,6 +34,11 @@ spec: secretKeyRef: name: openim-mongo-secret key: mongo_openim_password + - name: IMENV_KAFKA_USERNAME + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: kafka-username - name: IMENV_KAFKA_PASSWORD valueFrom: secretKeyRef: diff --git a/deployments/deploy/openim-msgtransfer-service.yml b/kubernetes/deploy/deployments/openim-msgtransfer-service.yml similarity index 100% rename from deployments/deploy/openim-msgtransfer-service.yml rename to kubernetes/deploy/deployments/openim-msgtransfer-service.yml diff --git a/deployments/deploy/openim-push-deployment.yml b/kubernetes/deploy/deployments/openim-push-deployment.yml similarity index 82% rename from deployments/deploy/openim-push-deployment.yml rename to kubernetes/deploy/deployments/openim-push-deployment.yml index 480491a3d..e26d257b8 100644 --- a/deployments/deploy/openim-push-deployment.yml +++ b/kubernetes/deploy/deployments/openim-push-deployment.yml @@ -12,10 +12,9 @@ spec: labels: app: push-rpc-server spec: - imagePullSecrets: - - name: docker-secret containers: - name: push-rpc-server-container + # image: openim/openim-push:v3.8.3 image: openim-push:test env: - name: CONFIG_PATH @@ -25,6 +24,11 @@ spec: secretKeyRef: name: openim-redis-secret key: redis-password + - name: IMENV_KAFKA_USERNAME + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: kafka-username - name: IMENV_KAFKA_PASSWORD valueFrom: secretKeyRef: diff --git a/deployments/deploy/openim-push-service.yml b/kubernetes/deploy/deployments/openim-push-service.yml similarity index 100% rename from deployments/deploy/openim-push-service.yml rename to kubernetes/deploy/deployments/openim-push-service.yml diff --git a/deployments/deploy/openim-rpc-auth-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-auth-deployment.yml similarity index 100% rename from deployments/deploy/openim-rpc-auth-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-auth-deployment.yml diff --git a/deployments/deploy/openim-rpc-auth-service.yml b/kubernetes/deploy/deployments/openim-rpc-auth-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-auth-service.yml rename to kubernetes/deploy/deployments/openim-rpc-auth-service.yml diff --git a/deployments/deploy/openim-rpc-conversation-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-conversation-deployment.yml similarity index 100% rename from deployments/deploy/openim-rpc-conversation-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-conversation-deployment.yml diff --git a/deployments/deploy/openim-rpc-conversation-service.yml b/kubernetes/deploy/deployments/openim-rpc-conversation-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-conversation-service.yml rename to kubernetes/deploy/deployments/openim-rpc-conversation-service.yml diff --git a/deployments/deploy/openim-rpc-friend-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-friend-deployment.yml similarity index 100% rename from deployments/deploy/openim-rpc-friend-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-friend-deployment.yml diff --git a/deployments/deploy/openim-rpc-friend-service.yml b/kubernetes/deploy/deployments/openim-rpc-friend-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-friend-service.yml rename to kubernetes/deploy/deployments/openim-rpc-friend-service.yml diff --git a/deployments/deploy/openim-rpc-group-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-group-deployment.yml similarity index 100% rename from deployments/deploy/openim-rpc-group-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-group-deployment.yml diff --git a/deployments/deploy/openim-rpc-group-service.yml b/kubernetes/deploy/deployments/openim-rpc-group-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-group-service.yml rename to kubernetes/deploy/deployments/openim-rpc-group-service.yml diff --git a/deployments/deploy/openim-rpc-msg-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-msg-deployment.yml similarity index 85% rename from deployments/deploy/openim-rpc-msg-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-msg-deployment.yml index ebe8ec66f..db0abb590 100644 --- a/deployments/deploy/openim-rpc-msg-deployment.yml +++ b/kubernetes/deploy/deployments/openim-rpc-msg-deployment.yml @@ -12,10 +12,9 @@ spec: labels: app: msg-rpc-server spec: - imagePullSecrets: - - name: docker-secret containers: - name: msg-rpc-server-container + # image: openim/openim-rpc-msg:v3.8.3 image: openim-rpc-msg:test env: - name: CONFIG_PATH @@ -35,6 +34,11 @@ spec: secretKeyRef: name: openim-mongo-secret key: mongo_openim_password + - name: IMENV_KAFKA_USERNAME + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: kafka-username - name: IMENV_KAFKA_PASSWORD valueFrom: secretKeyRef: diff --git a/deployments/deploy/openim-rpc-msg-service.yml b/kubernetes/deploy/deployments/openim-rpc-msg-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-msg-service.yml rename to kubernetes/deploy/deployments/openim-rpc-msg-service.yml diff --git a/deployments/deploy/openim-rpc-third-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-third-deployment.yml similarity index 100% rename from deployments/deploy/openim-rpc-third-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-third-deployment.yml diff --git a/deployments/deploy/openim-rpc-third-service.yml b/kubernetes/deploy/deployments/openim-rpc-third-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-third-service.yml rename to kubernetes/deploy/deployments/openim-rpc-third-service.yml diff --git a/deployments/deploy/openim-rpc-user-deployment.yml b/kubernetes/deploy/deployments/openim-rpc-user-deployment.yml similarity index 85% rename from deployments/deploy/openim-rpc-user-deployment.yml rename to kubernetes/deploy/deployments/openim-rpc-user-deployment.yml index e9aa29eb0..7b0774bf0 100644 --- a/deployments/deploy/openim-rpc-user-deployment.yml +++ b/kubernetes/deploy/deployments/openim-rpc-user-deployment.yml @@ -12,10 +12,9 @@ spec: labels: app: user-rpc-server spec: - imagePullSecrets: - - name: docker-secret containers: - name: user-rpc-server-container + # image: openim/openim-rpc-user:v3.8.3 image: openim-rpc-user:test env: - name: CONFIG_PATH @@ -35,6 +34,11 @@ spec: secretKeyRef: name: openim-mongo-secret key: mongo_openim_password + - name: IMENV_KAFKA_USERNAME + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: kafka-username - name: IMENV_KAFKA_PASSWORD valueFrom: secretKeyRef: diff --git a/deployments/deploy/openim-rpc-user-service.yml b/kubernetes/deploy/deployments/openim-rpc-user-service.yml similarity index 100% rename from deployments/deploy/openim-rpc-user-service.yml rename to kubernetes/deploy/deployments/openim-rpc-user-service.yml diff --git a/deployments/deploy/http-ingress.yml b/kubernetes/deploy/ingress/http-ingress.yml similarity index 100% rename from deployments/deploy/http-ingress.yml rename to kubernetes/deploy/ingress/http-ingress.yml diff --git a/deployments/deploy/https-ingress.yml b/kubernetes/deploy/ingress/https-ingress.yml similarity index 100% rename from deployments/deploy/https-ingress.yml rename to kubernetes/deploy/ingress/https-ingress.yml diff --git a/deployments/deploy/clusterRole.yml b/kubernetes/deploy/rbac/clusterRole.yml similarity index 100% rename from deployments/deploy/clusterRole.yml rename to kubernetes/deploy/rbac/clusterRole.yml diff --git a/kubernetes/deploy/secrets/docker-secret.yml b/kubernetes/deploy/secrets/docker-secret.yml new file mode 100644 index 000000000..5329cfd77 --- /dev/null +++ b/kubernetes/deploy/secrets/docker-secret.yml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Secret +metadata: + name: docker-secret + namespace: default +type: kubernetes.io/dockerconfigjson +stringData: + .dockerconfigjson: | + { + "auths": { + "your.registry.com": { + "username": "username", + "password": "psw", + "email": "openim@example.com", + "auth": "dXNlcm5hbWU6cHN3" + } + } + } \ No newline at end of file diff --git a/deployments/deploy/kafka-secret.yml b/kubernetes/deploy/secrets/kafka-secret.yml similarity index 54% rename from deployments/deploy/kafka-secret.yml rename to kubernetes/deploy/secrets/kafka-secret.yml index dcee689c8..cc7b3dcd4 100644 --- a/deployments/deploy/kafka-secret.yml +++ b/kubernetes/deploy/secrets/kafka-secret.yml @@ -3,5 +3,8 @@ kind: Secret metadata: name: openim-kafka-secret type: Opaque -data: +stringData: + inter-broker-user: "" + inter-broker-password: "" + kafka-username: "" kafka-password: "" diff --git a/kubernetes/deploy/secrets/minio-secret.yml b/kubernetes/deploy/secrets/minio-secret.yml new file mode 100644 index 000000000..0ee1be559 --- /dev/null +++ b/kubernetes/deploy/secrets/minio-secret.yml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +metadata: + name: openim-minio-secret +type: Opaque +stringData: + minio-root-user: root + minio-root-password: openIM123 diff --git a/kubernetes/deploy/secrets/mongo-secret.yml b/kubernetes/deploy/secrets/mongo-secret.yml new file mode 100644 index 000000000..c69f6bb2a --- /dev/null +++ b/kubernetes/deploy/secrets/mongo-secret.yml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Secret +metadata: + name: openim-mongo-secret +type: Opaque +stringData: + mongo_initdb_root_username: root + mongo_initdb_root_password: openIM123 + mongo_initdb_database: openim_v3 + mongo_openim_username: openIM + mongo_openim_password: openIM123 \ No newline at end of file diff --git a/deployments/deploy/redis-secret.yml b/kubernetes/deploy/secrets/redis-secret.yml similarity index 56% rename from deployments/deploy/redis-secret.yml rename to kubernetes/deploy/secrets/redis-secret.yml index 463ec9545..c19be9dfc 100644 --- a/deployments/deploy/redis-secret.yml +++ b/kubernetes/deploy/secrets/redis-secret.yml @@ -3,5 +3,5 @@ kind: Secret metadata: name: openim-redis-secret type: Opaque -data: - redis-password: b3BlbklNMTIz # "openIM123" in base64 +stringData: + redis-password: openIM123 diff --git a/deployments/deploy/tls-secret.yml b/kubernetes/deploy/secrets/tls-secret.yml similarity index 57% rename from deployments/deploy/tls-secret.yml rename to kubernetes/deploy/secrets/tls-secret.yml index b75e5b617..f4500399c 100644 --- a/deployments/deploy/tls-secret.yml +++ b/kubernetes/deploy/secrets/tls-secret.yml @@ -4,6 +4,6 @@ metadata: name: openim-api-tls namespace: default type: kubernetes.io/tls -data: - tls.crt: - tls.key: +stringData: + tls.crt: + tls.key: diff --git a/deployments/deploy/kafka-service.yml b/kubernetes/deploy/statefulsets/kafka-service.yml similarity index 100% rename from deployments/deploy/kafka-service.yml rename to kubernetes/deploy/statefulsets/kafka-service.yml diff --git a/deployments/deploy/kafka-statefulset.yml b/kubernetes/deploy/statefulsets/kafka-statefulset.yml similarity index 72% rename from deployments/deploy/kafka-statefulset.yml rename to kubernetes/deploy/statefulsets/kafka-statefulset.yml index cad5525fb..2fc13999f 100644 --- a/deployments/deploy/kafka-statefulset.yml +++ b/kubernetes/deploy/statefulsets/kafka-statefulset.yml @@ -49,6 +49,26 @@ spec: value: "CONTROLLER" - name: KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE value: "true" + - name: KAFKA_INTER_BROKER_USER + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: inter-broker-user + - name: KAFKA_INTER_BROKER_PASSWORD + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: inter-broker-password + - name: KAFKA_CLIENT_USER + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: kafka-username + - name: KAFKA_CLIENT_PASSWORD + valueFrom: + secretKeyRef: + name: openim-kafka-secret + key: kafka-password volumeMounts: - name: kafka-data mountPath: /bitnami/kafka diff --git a/deployments/deploy/minio-service.yml b/kubernetes/deploy/statefulsets/minio-service.yml similarity index 100% rename from deployments/deploy/minio-service.yml rename to kubernetes/deploy/statefulsets/minio-service.yml diff --git a/deployments/deploy/minio-statefulset.yml b/kubernetes/deploy/statefulsets/minio-statefulset.yml similarity index 100% rename from deployments/deploy/minio-statefulset.yml rename to kubernetes/deploy/statefulsets/minio-statefulset.yml diff --git a/deployments/deploy/mongo-service.yml b/kubernetes/deploy/statefulsets/mongo-service.yml similarity index 100% rename from deployments/deploy/mongo-service.yml rename to kubernetes/deploy/statefulsets/mongo-service.yml diff --git a/deployments/deploy/mongo-statefulset.yml b/kubernetes/deploy/statefulsets/mongo-statefulset.yml similarity index 82% rename from deployments/deploy/mongo-statefulset.yml rename to kubernetes/deploy/statefulsets/mongo-statefulset.yml index 7180dae8e..6c273432c 100644 --- a/deployments/deploy/mongo-statefulset.yml +++ b/kubernetes/deploy/statefulsets/mongo-statefulset.yml @@ -47,27 +47,27 @@ spec: - name: MONGO_INITDB_ROOT_USERNAME valueFrom: secretKeyRef: - name: openim-mongo-init-secret + name: openim-mongo-secret key: mongo_initdb_root_username - name: MONGO_INITDB_ROOT_PASSWORD valueFrom: secretKeyRef: - name: openim-mongo-init-secret + name: openim-mongo-secret key: mongo_initdb_root_password - name: MONGO_INITDB_DATABASE valueFrom: secretKeyRef: - name: openim-mongo-init-secret + name: openim-mongo-secret key: mongo_initdb_database - name: MONGO_OPENIM_USERNAME valueFrom: secretKeyRef: - name: openim-mongo-init-secret + name: openim-mongo-secret key: mongo_openim_username - name: MONGO_OPENIM_PASSWORD valueFrom: secretKeyRef: - name: openim-mongo-init-secret + name: openim-mongo-secret key: mongo_openim_password - name: TZ value: "Asia/Shanghai" @@ -94,15 +94,3 @@ spec: requests: storage: 5Gi ---- -apiVersion: v1 -kind: Secret -metadata: - name: openim-mongo-init-secret -type: Opaque -data: - mongo_initdb_root_username: cm9vdA== # base64 for "root" - mongo_initdb_root_password: b3BlbklNMTIz # base64 for "openIM123" - mongo_initdb_database: b3BlbmltX3Yz # base64 for "openim_v3" - mongo_openim_username: b3BlbklN # base64 for "openIM" - mongo_openim_password: b3BlbklNMTIz # base64 for "openIM123" diff --git a/deployments/deploy/redis-service.yml b/kubernetes/deploy/statefulsets/redis-service.yml similarity index 100% rename from deployments/deploy/redis-service.yml rename to kubernetes/deploy/statefulsets/redis-service.yml diff --git a/deployments/deploy/redis-statefulset.yml b/kubernetes/deploy/statefulsets/redis-statefulset.yml similarity index 56% rename from deployments/deploy/redis-statefulset.yml rename to kubernetes/deploy/statefulsets/redis-statefulset.yml index cf863837d..bf2c407cb 100644 --- a/deployments/deploy/redis-statefulset.yml +++ b/kubernetes/deploy/statefulsets/redis-statefulset.yml @@ -2,10 +2,8 @@ apiVersion: apps/v1 kind: StatefulSet metadata: name: redis-statefulset - labels: - app: redis spec: - serviceName: "redis-service" + serviceName: "redis" replicas: 1 selector: matchLabels: @@ -20,7 +18,6 @@ spec: image: redis:7.0.0 ports: - containerPort: 6379 - name: redis env: - name: TZ value: "Asia/Shanghai" @@ -33,18 +30,26 @@ spec: - name: redis-data mountPath: /data command: - - /bin/sh - - -c - - | - redis-server \ - --requirepass "$REDIS_PASSWORD" \ - --appendonly yes \ - --dir /data - volumeClaimTemplates: - - metadata: - name: redis-data - spec: - accessModes: ["ReadWriteOnce"] - resources: - requests: - storage: 5Gi + [ + "/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