利用k8s部署Java项目
[root@k8s-master ~]# tree javaweb/
javaweb/
├── Dockerfile
└── files
└── reduce-beta-1.0.jar
制作镜像
[root@k8s-master ~]# cat javaweb/Dockerfile
FROM openjdk:18-jdk-alpine
COPY files/reduce-beta-1.0.jar /usr/local/reduce-beta-1.0.jar
ENTRYPOINT ["java","-jar","/usr/local/reduce-beta-1.0.jar"]
[root@k8s-master ~]# docker build -t xxkk/reduce:v1 javaweb/
Sending build context to Docker daemon 2.637MB
Step 1/3 : FROM openjdk:18-jdk-alpine
---> c89120dcca4c
Step 2/3 : COPY files/reduce-beta-1.0.jar /usr/local/reduce-beta-1.0.jar
---> 0e6f7bdff697
Step 3/3 : ENTRYPOINT ["java","-jar","/usr/local/reduce-beta-1.0.jar"]
---> Running in 589644d3483d
Removing intermediate container 589644d3483d
---> 896cae80a1a4
Successfully built 896cae80a1a4
Successfully tagged xxkk/reduce:v1
k8s的资源清单
[root@k8s-master manifes]# vim reduce.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: reduce
labels:
app: reduce
spec:
replicas: 2
selector:
matchLabels:
app: reduce
template:
metadata:
name: reduce
labels:
app: reduce
spec:
containers:
- image: xxkk/reduce:v1
imagePullPolicy: IfNotPresent
name: reduce
---
apiVersion: v1
kind: Service
metadata:
name: reduce
spec:
ports:
- port: 8888
targetPort: 8888
nodePort: 31250
selector:
app: reduce
type: NodePort
[root@k8s-master manifes]# kubectl apply -f reduce.yaml
deployment.apps/reduce created
service/reduce created
[root@k8s-master manifes]# kubectl get pod,svc
NAME READY STATUS RESTARTS AGE
pod/reduce-665bf6b954-dnq5r 1/1 Running 0 6m48s
pod/reduce-665bf6b954-fz2lh 1/1 Running 0 6m48s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 9d
service/reduce NodePort 10.105.173.252 <none> 8888:31250/TCP 6m49s
版权声明:本文为qq_60032726原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。