首页 > 编程语言 >如何用k8s运行、部署Java项目

如何用k8s运行、部署Java项目

时间:2023-02-05 09:55:05浏览次数:41  
标签:prod Java name tomcat 部署 boot jar 8080 k8s

k8s的常用命令 

 

kubectl get ingress -n prod

kubectl get deployment -n prod

kubectl get pod -n prod

kubectl get service -n prod

kubectl logs -f -n prod prodName-6cc4c54645-765g9 看日志

kubectl apply -f ~/Downloads/paas/007.yaml 更新配置文件

 

007.yaml   示例

apiVersion: apps/v1
kind: Deployment
metadata:
  namespace: prod
  name: tomcat-deployment
  labels:
    app: tomcat
spec:
  replicas: 2
  selector:
    matchLabels:
      app: tomcat
  template:
    metadata:
      labels:
        app: tomcat
    spec:
      containers:
        - name: tomcat
          image: tomcat:9.0.71-jre8-temurin-focal
          ports:
            - containerPort: 8080
---
apiVersion: v1
kind: Service
metadata:
  namespace: prod
  name: tomcat
spec:
  selector:
    app: tomcat
  ports:
    - name: tomcat
      protocol: TCP
      port: 8080
      targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: prod
  name: ingress-tomcat
spec:
  rules:
    - host: "k8s.agatha.pro"
      http:
        paths:
          - pathType: Prefix
            path: "/"
            backend:
              service:
                name: tomcat
                port:
                  number: 8080

  

使用dockerFile部署jar包

 

 (1)打jar包

(2)创建DockerFile文件

(3)构建镜像 docker build -t my/spring-boot .

(4)运行 docker run -d --restart=always --name demo -p 8080:8080 my/spring-boot

--restart=always 这个表示docker容器在停止或服务器开机后会自动重新启动

  

 dockerFile文件 示例  
 ## 基础镜像java
 FROM java:8
 ## 作者是drgaon
 MAINTAINER dragon
 ## 就是你上传的jar包的名称。给jar包起个别名
 ADD project-spring_boot-1.0-SNAPSHOT.jar spring_boot.jar
 ## 就是在容器中以多少端口号运行
 EXPOSE 8080
 ## 容器启动之后执行的命令,java -jar spring_boot.jar 即启动jar
 ENTRYPOINT ["java","-jar","spring_boot.jar"]

  

 

 

 

  

标签:prod,Java,name,tomcat,部署,boot,jar,8080,k8s
From: https://www.cnblogs.com/pzyin/p/17092900.html

相关文章

  • 打包JavaScript的代码 (ES67891011 转为 ES5)
    NodeJS安装必要的工具包#初始化项目npminit-yes##安装babelbrowserify等包npmibabel-clibabel-preset-envbrowserify-D使用##babel转换指定文件夹下的代......
  • Java 实例 - int数组转化成List简便的方法
    如下:@Testpublicvoidtest5(){int[]array={1,2,5,5,5,5,6,6,7,2,9,2};/*int[]转list*///方法一:需要导入apacheco......
  • JavaScript学习笔记—DOM:通过属性读取样式
    读取的样式都是只读,无法修改获取元素内部的宽度和高度(包括内容区和内边距)element.clientHeightelement.clientWidth获取元素的可见框的大小(包括内容区、内边距和边框)......
  • 学习java第八天
    运算符   %=莫预算java等号是用两个等号==,不等于!=instanceof前四个必须掌握与或非重点掌握前四个ide快捷键ctrl+d复制本行到下一行package......
  • java中包(package)
    java中包(package)1、java中包的了解:在java中的包和我们文件系统层次结构是一一对应的。2、如果在java源文件中没定义package语句,那么该类就在默认包或者叫无名包中。3......
  • java学习day01—Markdown学习
    Markdown学习标题三级标题四级标题字体Hello,World!Hello,World!Hello,World!Hello,World!引用选择狂神说java,走向人生巅峰分割线图片超链接点击跳转到......
  • Java抽象类
    在java中用abstract关键字声明的类称为抽象类。它可以有抽象和非抽象方法(带主体的方法)。在学习java抽象类之前,先来了解java中的抽象。Java中的抽象抽象是隐藏实现细......
  • Java接口
    java中的接口是类的蓝图。它有静态常量和抽象方法。java中的接口是一种实现抽象的机制。接口中只有抽象方法而不是方法体。接口用于在Java中实现抽象和多重继承。Java......
  • java中使用xml基础
    XML概述XML的全称为(EXtensibleMarkupLanguage),是一种可扩展的标记语言标记语言:通过标签来描述数据的一门语言(标签有时我们也将其称之为元素)可扩展:标签的名字是......
  • IDEA中如何利用Maven给JAVA添加第三方库和打包问题
    从今天开始,遇到技术上的问题都会在这里写下来,虽然有可能都是小儿科问题,但是自己成功解决出来,还是很开心的。从很久之前,我就在java导包的过程中遇到问题,他不像python那......