java多线程环境下使用fabric8io操作kubernetes

在java程序中使用fabric8io所提供的api进行k8s相关操作, 这些操作是基于kubernetes-client的,在操作之前,需要创建一个client,示例如下:

Config config = new ConfigBuilder().withMasterUrl(master).build();
final KubernetesClient client = new DefaultKubernetesClient(config)

也就是说,每次使用client做一些操作(如创建pod,删除pod等),都new了一遍这个client。那么我是否可以单例地维持一份client,然后所有的操作都使用这一个client,这在多线程环境下是否可行(不用每个操作方法里,都加上一个创建client对象的操作。全局使用一个client对象,在static代码块中一开始就创建好),多线程环境下,使用一个client是否会有问题?

阅读 7k
2 个回答

你一个类中用一个静态的client

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题