maven构建

[root@k8s-n0 zkui]# pwd
/home/k8s-yaml/zk-ui2/zkui
[root@k8s-n0 zkui]# ll
总用量 48
-rw-r--r-- 1 root root 2393 2月 24 16:42 config.cfg
drwxr-xr-x 2 root root 61 2月 24 13:50 docker
drwxr-xr-x 2 root root 114 2月 24 13:50 images
-rw-r--r-- 1 root root 11358 2月 24 13:50 LICENSE-2.0.txt
-rw-r--r-- 1 root root 416 2月 24 13:50 Makefile
-rw-r--r-- 1 root root 1746 2月 24 13:50 nbactions.xml
-rw-r--r-- 1 root root 5374 2月 24 13:50 pom.xml
-rw-r--r-- 1 root root 6216 2月 24 13:50 README.md
-rw-r--r-- 1 root root 43 2月 24 13:50 run.sh
drwxr-xr-x 4 root root 30 2月 24 13:50 src
-rwxr-xr-x 1 root root 1251 2月 24 13:50 zkui.sh
[root@k8s-n0 zkui]# cd zkui
# 构建打包
[root@k8s-n0 zkui]# mvn package

docker构建


将配置文件及jar包拷贝至​​docker​​目录


cp config.cfg target/zkui-2.0-SNAPSHOT.jar ./docker


Dockerfile脚本


FROM java:8

MAINTAINER dmgeo

WORKDIR /var/app

ADD zkui-2.0-SNAPSHOT.jar.jar /var/app/zkui.jar
ADD config.cfg /var/app/config.cfg
ADD bootstrap.sh /var/app/bootstrap.sh

ENTRYPOINT ["/var/app/bootstrap.sh"]

EXPOSE 9090


进入docker目录,执行构建


cd docker
docker build -t zhangxueliang2020/zkui:v2.0 .

k8s部署

---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s.kuboard.cn/layer: ''
k8s.kuboard.cn/name: zkui
name: zkui
namespace: dmgeo-lib
spec:
selector:
matchLabels:
k8s.kuboard.cn/layer: ''
k8s.kuboard.cn/name: zkui
template:
metadata:
labels:
k8s.kuboard.cn/layer: ''
k8s.kuboard.cn/name: zkui
spec:
containers:
- image: 'zhangxueliang2020/zkui:v2.0'
imagePullPolicy: Always
name: zkui
volumeMounts:
- mountPath: /var/app/config.cfg
name: zkuicfghp
dnsPolicy: ClusterFirst
nodeName: k8s-n1
volumes:
- hostPath:
path: /root/hostpath/zkui/config.cfg
type: File
name: zkuicfghp
---
apiVersion: v1
kind: Service
metadata:
labels:
k8s.kuboard.cn/layer: ''
k8s.kuboard.cn/name: zkui
name: zkui
namespace: dmgeo-lib
spec:
clusterIP: 10.96.43.181
externalTrafficPolicy: Cluster
ports:
- name: tnhyf2
nodePort: 9090
port: 9090
protocol: TCP
targetPort: 9090
selector:
k8s.kuboard.cn/layer: ''
k8s.kuboard.cn/name: zkui
sessionAffinity: None
type: NodePort