k8s部署java项目的实现

下载jar的包

[root@master test]# wget https://dl.halo.run/release/halo-1.4.16.jar[root@master ~]# lsanaconda-ks.cfg  flannel.yml  halo-1.4.16.jar  init[root@master ~]# 

编写Dockerfile并制作镜像

[root@master ~]# mkdir -p test/files[root@master ~]# mv halo-1.4.16.jar test/files/[root@master ~]# cd test/[root@master test]# touch Dockerfile[root@master test]# lsDockerfile  files[root@master test]# [root@master test]# cat Dockerfile FROM centosCOPY files/halo-1.4.16.jar /usr/local/halo-1.4.16.jarENTRYPOINT ["java","-jar","/usr/local/halo-1.4.16.jar"][root@master test]# 
[root@master test]# docker build -t 3199560936/halo:v1 .Sending build context to Docker daemon  79.63MBStep 1/3 : FROM centos ---> 5d0da3dc9764Step 2/3 : COPY files/halo-1.4.16.jar /usr/local/halo-1.4.16.jar ---> 099645e57a21Step 3/3 : ENTRYPOINT ["java","-jar","/usr/local/halo-1.4.16.jar"] ---> Running in d1e44734578cRemoving intermediate container d1e44734578c ---> a38d07129607Successfully built a38d07129607Successfully tagged 3199560936/halo:v1[root@master test]# docker imagesREPOSITORY                                                        TAG        IMAGE ID       CREATED         SIZE3199560936/halo                                                   v1         a38d07129607   3 seconds ago   311MB[root@master test]# 

上传镜像到docker仓库

[root@master ~]# docker login[root@master ~]# docker push 3199560936/halo:v1The push refers to repository [docker.io/3199560936/halo]5906a49ee250: Pushed 74ddd0ec08fa: Mounted from library/centos v1: digest: sha256:fb8cb538526b4d73e1a16b9b1b8a3e4ab4b171f0dbaadfbf6673def9620367f2 size: 741[root@master ~]# 

编写k8s的资源清单

[root@master test]# cat halo.yml apiVersion: apps/v1kind: Deploymentmetadata:  name: halo  labels:    app: halospec:  replicas: 1  selector:    matchLabels:      app: halo  template:    metadata:      name: halo      labels:        app: halo    spec:      containers:      - image: 3199560936/halo:v1        imagePullPolicy: IfNotPresent        name: halo---apiVersion: v1kind: Servicemetadata:  name: halospec:  ports:  - port: 8090    targetPort: 8090    nodePort: 32767  selector:    app: halo  type: NodePort[root@master test]# 

创建

[root@master test]# kubectl apply -f halo.ymldeployment.apps/halo createdservice/halo created

查看

[root@master test]# kubectl get deploy,pod,svcNAME                   READY   UP-TO-DATE   AVAILABLE   AGEdeployment.apps/halo   1/1     1            1           32sNAME                        READY   STATUS    RESTARTS   AGEpod/halo-6d4cb5dc7b-nzdpw   1/1     Running   0          32sNAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGEservice/halo         NodePort    10.106.13.87   <none>        8090:32767/TCP   32sservice/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP          46h

使用本机IP:32767访问

到此这篇关于k8s部署java项目的实现的文章就介绍到这了,更多相关k8s部署java项目内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

更重要的是心理上的完全自由和放松,

k8s部署java项目的实现

相关文章:

你感兴趣的文章:

标签云: