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] 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 }