k8s部署java类型的项目

K8s部署java类项目

注意:部署方式有很多种,可以是挂载pvc实现代码的随意获取,可以是利用dockerfile制作镜像的方式进行。该文档采用Dockerfile进行部署。

 

制作镜像:利用基础镜像制作一个新的镜像随后通过docker打包出来导入到ctrk8s.iok8s能管理到改镜像

 

Vim  Dockerfile

FROM centos:7.8

MAINTAINER jx

ENV HOME=/usr/local

RUN cd $HOME && mkdir test

COPY ./1.tar.gz $HOME/test

RUN cd $HOME/test && tar -xf 1.tar.gz

RUN cd $HOME/test

EXPOSE  10002

ENTRYPOINT $HOME/test/jre1.8.0_401/bin/java -jar /usr/local/test/test-1.0-SNAPSHOT.jar

 

 

 

 

 

 

 

导入的镜像需要导入到所有的node节点

 

启动容器

生成deployment,生成的配置一定要检查下调用的image有时候导入的镜像会自动修改名字,导致启动是找不到镜像;

kubectl create deployment  java-hello --image=centos7.8_java_2:1.8.0 --dry-run -o yaml >java_deploy.yaml

 

 

apiVersion: apps/v1

kind: Deployment

metadata:

  creationTimestamp: null

  labels:

    app: java-hello

  name: java-hello

spec:

  replicas: 1

  selector:

    matchLabels:

      app: java-hello

  strategy: {}

  template:

    metadata:

      creationTimestamp: null

      labels:

        app: java-hello

    spec:

      containers:

      - image: docker.io/library/centos7.8_java_2:1.8.0

        name: centos7-8-java-2-prgl8

        resources: {}

status: {}

~

Kubectl apply -f java_deploy.yaml

 

 

 

放出服务

 kubectl  expose deployment java-service  --port=10002 --target-port=10002 --type=NodePort -o yaml --dry-run > svc.yaml

 

Vim service.yaml

apiVersion: v1

kind: Service

metadata:

  name: java-service

spec:

  selector:

    app: java-hello

  ports:

  - name: java-hello

    port: 10002

    targetPort: 10002

    nodePort: 30002

  type: NodePort

 

~

Kubectl apply -f service.yaml

 

 

 

验证服务

 

 

 

 

 

成功!!!!!!

posted @ 2025-02-20 19:45  升级打怪之路  阅读(93)  评论(0)    收藏  举报