[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.1443/TCP 9d service/reduce NodePort 10.105.173.252 8888:31250/TCP 6m49s



