文章都可以转载、引用,标明转载出处即可。

K8S中部署Tomcat包

Kubernetes Mr.c 218℃ 0评论

这里主要总结记录类似于Java项目在K8S中解耦的部署方式。
  所谓解耦,其实是将原本的tomcat环境打包成一个镜像,项目代码又打包为一个镜像,在pod中具有两个container ,代码的镜像包作为initContainers,具有优先启动权限,复制war包到指定目录,再通过共享存储的方式挂载到tomcat镜像的webapps目录下。
  这样做的目的一个是可以非常清晰的看出该项目运行环境,代码版本。如果将代码跟环境打到一个镜像中,并不方便一眼查看环境和项目版本,同时如果需要变动jdk环境,只需要更新环境镜像即可。

apiVersion: v1
kind: Pod
metadata:
  name: javaweb-2
spec:
  initContainers:
  - image: cnyunwei.cc/java-demo:v1
    name: war
    command: ["cp", "/java-demo.war", "/app"]
    volumeMounts:
    - mountPath: /app
      name: app-volume
  containers:
  - image: cnyunwei.cc/tomcat:8.0
    name: tomcat
    command: ["sh","-c","/root/tomcat-8/bin/start.sh"]
    volumeMounts:
    - mountPath: /root/tomcat-8/webapps
      name: app-volume
    ports:
    - containerPort: 8080
      hostPort: 8001 
  volumes:
  - name: app-volume
    emptyDir: {}

转载请注明:菜鸟运维网 » K8S中部署Tomcat包

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址