diff --git a/deploy_k8s/k8s_openim_deploy.md b/deploy_k8s/k8s_openim_deploy.md index 45e3e9778..aef9aecda 100644 --- a/deploy_k8s/k8s_openim_deploy.md +++ b/deploy_k8s/k8s_openim_deploy.md @@ -14,30 +14,30 @@ ### 2. 项目根目录创建im configMap到k8s openim namespace 1. 为open-IM项目创建单独命名空间 - ``` + ``` kubectl create namespace openim - ``` + ``` 2. 在项目根目录通过config/config.yaml - ``` + ``` kubectl -n openim create configmap config --from-file=config/config.yaml - ``` + ``` 查看configmap - ``` + ``` kubectl -n openim get configmap - ``` + ``` ### 3(可选). 修改每个deployment.yml 每个rpc的deployment在Open-IM-SERVER根目录deploy_k8s下 给需要调度的node打上标签 - ``` - kubectl get nodes + ``` + kubectl get nodes kubectl label node k8s-node1 role=openIMworker - ``` + ``` 在deployment的spec.template.spec加上 - ``` + ``` nodeSelector: - role: openIMworker - ``` + role: openIMworker + ``` 创建资源清单时添加上nodeSelector属性对应即可, 修改每种服务数量,建议至少每种2个rpc。 如果修改了config/config.yaml某些配置比如端口,同时需要修改对应deployment端口和ingress端口 @@ -78,3 +78,22 @@ kubectl 启动所有deployment, services, ingress telnet demo.openim.xxx.com {{your_ingress_port}} ``` +#### openIM k8s更新 +1. 暂存配置文件,拉取代码 + ``` + git stash push config/config.yaml + git pull + ``` +2. 合并配置文件, 解决冲突 + ``` + git stash pop + ``` +3. 重新生成configmap + ``` + kubectl -n openim create configmap config --from-file=config/config.yaml + ``` +4.修改所有deployment文件的spec.template.spec.image 改为新版本后在/deploy_k8s下重新执行 + ``` + ./kubectl_stop.sh + ./kubectl_start.sh + ``` \ No newline at end of file diff --git a/internal/msg_gateway/gate/callback.go b/internal/msg_gateway/gate/callback.go index 9840e3513..02b771a97 100644 --- a/internal/msg_gateway/gate/callback.go +++ b/internal/msg_gateway/gate/callback.go @@ -23,7 +23,7 @@ func callbackUserOnline(operationID, userID string, platformID int, token string PlatformID: int32(platformID), Platform: constant.PlatformIDToName(platformID), }, - Seq: time.Now().Nanosecond() / 1e6, + Seq: int(time.Now().UnixNano() / 1e6), } callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: callbackResp} if err := http.PostReturn(config.Config.Callback.CallbackUrl, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil { @@ -46,7 +46,7 @@ func callbackUserOffline(operationID, userID string, platformID int) cbApi.Commo PlatformID: int32(platformID), Platform: constant.PlatformIDToName(platformID), }, - Seq: time.Now().Nanosecond() / 1e6, + Seq: int(time.Now().UnixNano() / 1e6), } callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: callbackResp} if err := http.PostReturn(config.Config.Callback.CallbackUrl, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil { diff --git a/pkg/call_back_struct/push.go b/pkg/call_back_struct/push.go index 271803679..1f6d1c2a4 100644 --- a/pkg/call_back_struct/push.go +++ b/pkg/call_back_struct/push.go @@ -5,7 +5,7 @@ import commonPb "Open_IM/pkg/proto/sdk_ws" type CallbackOfflinePushReq struct { UserStatusCallbackReq *commonPb.OfflinePushInfo - CommonCallbackReq + //CommonCallbackReq SendID string `json:"sendID"` GroupID string `json:"groupID"` ContentType int32 `json:"contentType"`