部署中容器内部服务相互调用问题

  • Choerodon平台版本: 0.6.0

  • 遇到问题的执行步骤:

  • 文档地址:

  • 环境信息(如:节点信息):

  • 报错日志:

  • 原因分析:

    提出您分析问题的过程,以便我们能更准确的找到问题所在

  • 疑问:

    提出您对于遇到和解决该问题时的疑问

你好,能否描述详细些?

是指k8s 容器互相调用的问题?还是微服务调用出现了问题?还是说想了解下choeroodn 服务之间调用的原理?

主要想了解choeroodn 服务间的关系
目前是通过helm 部署的choeroodn 所有组件,期间主要卡在微服务开发框架这块儿,文档只是简单写了一些安装命令,组件之间的关系,以及他们主要的作用都没有描述。在manager 和notify这俩服务部署都失败后 ,后续服务也没法部署成功。

你好,有关于所有服务的描述在github上可以看到,文档中不全的部分我们会尽快补上

其中manager 和notify 部署失败有没有更具体的错误信息?

@vinkdong

描述一下具体的错误信息吧


config server首先抛出这个异常,请问可以定位问题吗?

2018-09-26 17:50:59.780 WARN [config-server,] 1 — [ main] s.c.a.AnnotationConfigApplicationContext : Exception thrown from ApplicationListener handling ContextClosedEvent

org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name ‘eurekaAutoServiceRegistration’: Singleton bean creation not allowed while singletons of thi
s factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:216) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) ~[spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1080) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.ApplicationListenerMethodAdapter.getTargetBean(ApplicationListenerMethodAdapter.java:283) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.ApplicationListenerMethodAdapter.doInvoke(ApplicationListenerMethodAdapter.java:253) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.ApplicationListenerMethodAdapter.processEvent(ApplicationListenerMethodAdapter.java:177) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.ApplicationListenerMethodAdapter.onApplicationEvent(ApplicationListenerMethodAdapter.java:140) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) ~[spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:393) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:399) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:347) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:991) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:958) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.cloud.stream.binder.DefaultBinderFactory.destroy(DefaultBinderFactory.java:84) [spring-cloud-stream-1.2.2.RELEASE.jar!/:1.2.2.RELEASE]
at org.springframework.beans.factory.support.DisposableBeanAdapter.destroy(DisposableBeanAdapter.java:272) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroyBean(DefaultSingletonBeanRegistry.java:583) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingleton(DefaultSingletonBeanRegistry.java:555) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingleton(DefaultListableBeanFactory.java:961) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.destroySingletons(DefaultSingletonBeanRegistry.java:516) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.destroySingletons(DefaultListableBeanFactory.java:968) [spring-beans-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.destroyBeans(AbstractApplicationContext.java:1032) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:556) [spring-context-4.3.18.RELEASE.jar!/:4.3.18.RELEASE]
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) [spring-boot-1.5.14.RELEASE.jar!/:1.5.14.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.14.RELEASE.jar!/:1.5.14.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.14.RELEASE.jar!/:1.5.14.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.14.RELEASE.jar!/:1.5.14.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.14.RELEASE.jar!/:1.5.14.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.14.RELEASE.jar!/:1.5.14.RELEASE]
at io.choerodon.config.ConfigServerApplication.main(ConfigServerApplication.java:22) [classes!/:0.8.0.RELEASE]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_121]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_121]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_121]

config server服务首先抛出这个异常,请问可以定位到问题吗?

请问下使用的版本是哪个

我就是安装官方安装文档部署的,版本0.9.0
如下 http://choerodon.io/zh/docs/installation-configuration/install-list/

是这样的,之前很多问题我都已经解决了。目前定位到最主要的问题是由时区不匹配导致的,我使用你们官网部署文档的helm方式部署出来的mysql、zk 、kafka等基础服务他们系统使用的时区是中部时区,而微服务中的各个服务组件部署出来的容器系统时区又是东八区的,一些对时间不敏感的服务部署后可以正常运行,卡在了notify服务没法正常运行。后续服务也会依赖他,没法进行后续安装。

请问你们helm安装的这些各类基础镜像时区问题是否有统一的基础镜像,配置相同的时区。或者有其他处理办法吗?

正常情况下时区不一致也不会影响正常运行,你的服务器时间是否一致,能给下notify的错误日志吗

pod启动了但是不是就绪的状态,说明内部服务异常,直接http请求也是500错误码。

另外mysql日志中 报错为Got an error reading communication packets

能贴一下这个服务的日志吗

能否贴一下 asgard日志,执行下这个命令

 kubectl logs -f asgard-service-fd48bfd76-296mr -n choerodon-devops-prod

这里的日志没有什么异常, 后边没有其他的日志吗

这个pod不断的在重启,就这么多日志

目前mysql的时区问题也解决了,还是这个notify应用的问题,启动服务就是异常的

asgard-service 起来了吗

后续服务启动都有问题,后续服务应该依赖前面服务的吧