k8s上部署java应用(activiti)实践
k8s上部署java应用activiti实践前言实验步骤1 通过docke file 定制active-tomcat镜像2 在k8s上部署该镜像存在的问题前言接到一个任务,需要在k8s上集群部署一个java应用,感觉挺简单的,用起来才发现自己是个嘴强王者。任务描述:通过k8s上部署应用activiti,这个应用里面包含了三个jar包。地址如下:链接:https://pan.baidu.co...
·
k8s上部署java应用activiti实践
前言
接到一个任务,需要在k8s上集群部署一个java应用,感觉挺简单的,用起来才发现自己是个嘴强王者。
任务描述:通过k8s上部署应用activiti,这个应用里面包含了三个jar包。地址如下:
链接:https://pan.baidu.com/s/1Plb7B9ASD2B4-S_rL8UPOw
提取码:gy0d
实验步骤
1 通过docke file 定制active-tomcat镜像
1.1 创建一个用来准备制作镜像的目录
mkdir active-cloud
1.2 上传容器所需要的war包到active-cloud目录
rz -be
1.3 定制docker镜像
vim active-cloud/Dockerfile
#Description: active-cloud image
FROM tomcat:8
MAINTAINER "hduhhz@163.com"
COPY activiti* /usr/local/tomcat/webapps/
sudo docker build -t app:active /home/hduhhz/active-cloud/
2 在k8s上部署该镜像
2.1 编写deploy-active部署文件
vim deploy-active
apiVersion: v1
kind: Service
metadata:
name: active-svc
namespace: active
labels:
app: active
resources: svc
spec:
type: NodePort
selector:
app: active
resources: pod
ports:
- port: 8080
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: active-dm
namespace: active
labels:
app: active
resources: dm
spec:
replicas: 1
selector:
matchLabels:
app: active
resources: pod
template:
metadata:
name: active-pod
namespace: active
labels:
app: active
resources: pod
spec:
containers:
- name: active-container
image: hduhhz/active:v1
ports:
- name: tomcat-port
containerPort: 8080
2.2 应用该文件
kubectl apply -f deploy-active
存在的问题
- 虽然应用部署到k8s上了,但是多个tomcat副本一直存在会话共享的问题,这个问题尚待解决。(网上搜到的解决方案有两种,其一是通过redis解决,其二是通过nginx来解决)
- 使用nodePort暴露出去端口,不应该是最终的解决方案,最终的解决方案应该还是需要靠k8s上原生的ingress来做。
更多推荐
已为社区贡献8条内容
所有评论(0)