如图所示:
不优雅的问题在于
lifecycle:
preStop:
exec:
command:
- /bin/bash
- /tmp/pre_stop.sh
#!/bin/bash
curl -X POST "http://localhost:8080/actuator/service-registry?status=DOWN" -H "Content-Type: application/vnd.spring-boot.actuator.v2+json;charset=UTF-8"
sleep 40
FROM ****
ENV LANG C.UTF-8
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY pre_stop.sh /tmp/pre_stop.sh
COPY build/libs/*jar /opt/spring-cloud/lib/app1.jar
EXPOSE 8080
ENTRYPOINT ["java","-server","-Xms2560m","-Xmx2560m", "-jar", "/opt/spring-cloud/lib/app1.jar]
完成以上步骤后,发布服务,第一次发布会讲脚本及生命周期钩子带上去。
当第二次发布即会成为优雅发布。
在pod Terminating状态时通过pre_stop.sh脚本,告知eureka此pod注销,同时sleep 40秒等待,而后清除此pod。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。