在生产中使用K8部署spring boot micro服务

时间:2019-09-19 14:15:47

标签: spring-boot tomcat kubernetes microservices

我是k8设置的新手,我想知道在生产环境中部署服务的最佳方法是什么。以下是我可以想到的几种方法,您能否引导我朝正确的方向前进。

response.data.Data.replace(/\'/g, '"');

谢谢。

2 个答案:

答案 0 :(得分:3)

将应用程序部署到Kubernetes的规范方法如下:

  1. 将每个应用程序组件打包到容器映像中,并将其上传到容器注册表(例如Docker Hub)
  2. 为群集中作为Pod(或Pod的副本集)运行该容器的每个容器创建Deployment资源
  3. 在每个部署中使用Service公开Pod,以便其他Pod或用户可以访问它们

答案 1 :(得分:1)

我建议在Springboot .jar文件中使用嵌入式Tomcat服务器来部署您的微服务。在我还用来部署springboot应用程序的@weibeld答案下面。

  1.   

    将每个应用程序组件打包在一个容器映像中并上传   到容器注册表(例如Docker Hub)

您可以使用Jib轻松构建非破坏性图像。可以使用maven plugin构建容器映像。

mvn compile jib:build -Djib.to.image=MY_REGISRY_IMAGE:MY_TAG -Djib.to.auth.username=USER -Djib.to.auth.password=PASSWORD
  1.   

    为在群集中作为Pod(或Pod的副本集)运行该容器的每个容器创建一个Deployment资源

创建部署.yml文件结构,并根据需要在文件中调整部署参数。

kubectl create deployment my-springboot-app --image MY_REGISRY_IMAGE:MY_TAG --dry-run -o yaml > my-springboot-app-deployment.yml

创建部署:

kubectl apply -f my-springboot-app-deployment.yml
  1.   

    在每个部署中将Pod与服务一起公开,以便其他Pod或用户可以访问它们

    kubectl公开部署my-springboot-app --port = 8080 --target-port = 8080 --dry-run -o yaml> my-springboot-app-service.yml

    kubectl apply -f my-springboot-app-service.yml