使用配置服务器干净地部署Spring boot微服务
我们已经配置了一个kubernetes集群,在这里我们使用SpringBoot部署了各种服务,我们有一个服务就是SpringCloudConfigServer 我们的问题是,当我们启动集群时,所有服务都会尝试连接到配置服务器以下载配置,而且由于配置服务器尚未启动,所有服务都会失败,导致kubernetes重试初始化并消耗大量资源,从而使配置服务器自身无法启动 我们想知道是否有一种方法可以初始化所有服务,使其不会过载集群,或者让它们有节奏地等待配置服务器启动。到目前为止,所有服务都会启动,我们必须等待大约20分钟,直到集群工作完毕 提前感谢您可以使用ping为服务器进行ping操作,直到服务器联机。例如:使用配置服务器干净地部署Spring boot微服务,spring,spring-boot,kubernetes,configserver,Spring,Spring Boot,Kubernetes,Configserver,我们已经配置了一个kubernetes集群,在这里我们使用SpringBoot部署了各种服务,我们有一个服务就是SpringCloudConfigServer 我们的问题是,当我们启动集群时,所有服务都会尝试连接到配置服务器以下载配置,而且由于配置服务器尚未启动,所有服务都会失败,导致kubernetes重试初始化并消耗大量资源,从而使配置服务器自身无法启动 我们想知道是否有一种方法可以初始化所有服务,使其不会过载集群,或者让它们有节奏地等待配置服务器启动。到目前为止,所有服务都会启动,我们必须
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
selector:
matchLabels:
app: web
replicas: 1
template:
metadata:
labels:
app: web
spec:
initContainers:
- name: wait-config-server
image: busybox
command: ["sh", "-c", "for i in $(seq 1 300); do nc -zvw1 config-server 8080 && exit 0 || sleep 3; done; exit 1"]
containers:
- name: web
image: my-mage
ports:
- containerPort: 80
...
在本例中,我使用一个命令ping服务器,但您也可以使用wget、curl或任何最适合您的命令。它们有多种选项可以执行相同的操作。选择最适合您的: