k8s部署java项目的实现

下载jar的包

[root@master test]# wget https://dl.halo.run/release/halo-1.4.16.jar
[root@master ~]# ls
anaconda-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]# ls
Dockerfile  files
[root@master test]#
[root@master test]# cat Dockerfile
FROM centos

COPY files/halo-1.4.16.jar /usr/local/halo-1.4.16.jar

ENTRYPOINT ["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.63MB
Step 1/3 : FROM centos
 ---> 5d0da3dc9764
Step 2/3 : COPY files/halo-1.4.16.jar /usr/local/halo-1.4.16.jar
 ---> 099645e57a21
Step 3/3 : ENTRYPOINT ["java","-jar","/usr/local/halo-1.4.16.jar"]
 ---> Running in d1e44734578c
Removing intermediate container d1e44734578c
 ---> a38d07129607
Successfully built a38d07129607
Successfully tagged 3199560936/halo:v1
[root@master test]# docker images
REPOSITORY                                                        TAG        IMAGE ID       CREATED         SIZE
3199560936/halo                                                   v1         a38d07129607   3 seconds ago   311MB
[root@master test]#

上传镜像到docker仓库

[root@master ~]# docker login
[root@master ~]# docker push 3199560936/halo:v1
The 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/v1
kind: Deployment
metadata:
  name: halo
  labels:
    app: halo
spec:
  replicas: 1
  selector:
    matchLabels:
      app: halo
  template:
    metadata:
      name: halo
      labels:
        app: halo
    spec:
      containers:
      - image: 3199560936/halo:v1
        imagePullPolicy: IfNotPresent
        name: halo
---
apiVersion: v1
kind: Service
metadata:
  name: halo
spec:
  ports:
  - port: 8090
    targetPort: 8090
    nodePort: 32767
  selector:
    app: halo
  type: NodePort
[root@master test]#

创建

[root@master test]# kubectl apply -f halo.yml
deployment.apps/halo created
service/halo created

查看

[root@master test]# kubectl get deploy,pod,svc
NAME                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/halo   1/1     1            1           32s

NAME                        READY   STATUS    RESTARTS   AGE
pod/halo-6d4cb5dc7b-nzdpw   1/1     Running   0          32s

NAME                 TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/halo         NodePort    10.106.13.87   <none>        8090:32767/TCP   32s
service/kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP          46h

使用本机IP:32767访问

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

(0)

相关推荐

  • centos7系统部署k8s集群详细介绍

    目录 1 版本.规划 1.1 版本信息: 1.2集群规划 2.部署 1.关闭防火墙 2.关闭selinux 3.关闭swap 4.添加主机名和IP对应关系 5.将桥接的IPV4流量传递给iptables的链 6.安装docker 安装: 7.添加阿里云yum软件源 8.安装kubeadm.kubelet.kubectl 9.初始化master节点 10.安装pod网络插件(CNI) 11.node节点加入集群 1 版本.规划 1.1 版本信息: 名称 版本号 内核 3.10.0-1160.el7

  • SpringBoot应用快速部署到K8S的详细教程

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容: 所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: 背景 对于生产环境,我们一般会用CI&&CD工具完成整个构建和部署,因此本文不适合生产环境:对于学习和开发环境,我们频繁修改代码,又想快速见到效果,本文就是针对这种场景的: 内容简介 如果您正在开发SpringBoot应用,并且应用部署在K8S环境,可以参考本文将应用快速部署到K8S环

  • K8s部署发布Golang应用程序的实现方法

    目录 创建dockerfile 打包并且推送 创建namespace 创建deployment 创建service 创建ingress 创建hpa alertGo程序可以参考上篇文章,主要用于alertmanager实现钉钉报警 创建dockerfile FROM golang:1.14-alpine ENV GOPROXY=https://goproxy.cn WORKDIR /build COPY . . EXPOSE 8088 RUN mkdir /app RUN go mod tidy

  • Docker+K8S 集群环境搭建及分布式应用部署

    1.安装docker yum install docker #启动服务 systemctl start docker.service systemctl enable docker.service #测试 docker version 2.安装etcd yum install etcd -y #启动etcd systemctl start etcd systemctl enable etcd #输入如下命令查看 etcd 健康状况 etcdctl -C http://localhost:2379

  • 在K8s上部署Redis集群的方法步骤

    一.前言 架构原理:每个Master都可以拥有多个Slave.当Master下线后,Redis集群会从多个Slave中选举出一个新的Master作为替代,而旧Master重新上线后变成新Master的Slave. 二.准备操作 本次部署主要基于该项目:https://github.com/zuxqoj/kubernetes-redis-cluster 其包含了两种部署Redis集群的方式: StatefulSet Service&Deployment 两种方式各有优劣,对于像Redis.Mong

  • 如何利用python脚本自动部署k8s

    目录 一.准备 二.编辑脚本 1.k8s.sh 2.k8s_install.py 三.配置ssh免密 四.下载python3和git 五.执行脚本 六.成功 七.总结 一.准备 通过之前在Ubuntu18.04上手动部署过k8s之后,尝试用python脚本进行自动化部署 这次用的是三台centos7的虚拟机,一台作为master执行脚本,两台作为node节点 三台机器都配置好静态IP,可以参考之前的在centos 7中安装配置k8s集群的步骤详解 二.编辑脚本 1.k8s.sh 放在/root下

  • 使用k8s部署Django项目的方法步骤

    接触了一下docker和k8s,感觉是非常不错的东西.能够方便的部署线上环境,而且还能够更好的利用机器的资源,感觉是以后的大趋势.最近刚好有一个基于django的项目,所以就把这个项目打包到docker里面,放到k8是里面运行,顺便学习下k8s和docker的使用. docker 为什么使用docker? 我觉得docker最大的好处是部署的时候比较方便,一个预先打包好的docker镜像,可以在任何安装有docker的机器上面直接运行,不用再安装其他任何的依赖环境.不管是在开发.测试.还是发布阶

  • k8s部署java项目的实现

    下载jar的包 [root@master test]# wget https://dl.halo.run/release/halo-1.4.16.jar [root@master ~]# ls anaconda-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.

  • 手动部署java项目到k8s中的实现

    目录 前言 1. 生成Demo项目 2. 配置Docker环境 3. 配置k8s 3.1 编写deploy.yaml文件 3.2 启动调度 4. 验证 4.1 查看pod 4.2 访问系统 5. k8s配置文件参数详解 前言 Java项目在开发调试的过程中都需要进行各种环境的安装部署,在之前我们使用虚拟机部署时都是通过在机器上执行命令或者配置Jekins脚本自动化部署.但在容器环境下进行高可用的进行项目的安装部署就需要使用容器化技术跟k8s的调度执行了. 一般在正式环境下我们都会有以下几部分构成

  • 关于weblogic部署Java项目的包冲突问题的解决

    我们可能会用各种应用服务部署我们的Java应用,比如Tomcat.WAS.weblogic等.Tomcat和WAS可能会比较少遇到一些奇怪的问题,但是用weblogic部署项目则经常遇到一些比如包冲突问题,路径问题等奇怪但又常见的问题. 今天我就讲讲关于weblogic部署Java项目包冲突的问题.下面我举个例子: 当我在weblogic部署Java项目之后,启动没报任何错,没有异常.但是当我操作某个功能的时候页面就报错了: 后台报了这个错: Root cause of ServletExcep

  • Jenkins+Maven+SVN自动化部署java项目

    安装Jenkins 提示:首先Jenkins安装方式有2中,一种是yum安装,另一种是使用war的方式进行安装(war就需要安装tomcat) 官方文档:https://pkg.jenkins.io/redhat/ 如果我们想使用war包的方式可以直接下载war包 Jenkins访问地址:localhost:8080/jenkins 新版本的jenkins为了保证安全,在安装之后有一个锁,需要设置密码之后才可以解锁 我们选择推荐安装即可 安装插件中 设置管理员账号密码 登陆jenkins 安装m

  • 使用docker部署java项目运行环境的实现步骤

    目录 一.环境准备 二.配置网络 三.开放端口 四.安装jdk 五.安装docker 六.运行环境搭建 五.启动java项目 一.环境准备 1. CentOS-7-x86_64-DVD-2003.iso2. docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm3. emqx-4.2.6.tar4. influxdb-1.7-alpine.tar5. mysql-5.7.tar6. reids-6-alpine.tar7. xshell (连接centos7)8

  • Docker部署java项目的详细步骤(利用Dockerfile方式)

    目录 前言 1. 首先找一个你熟悉的目录下创建一个目录upload(这个目录可以随便),并把java的linux和jar包上传进去 2. 创建一个名为 Dockerfile文件 3. 以上命令配置完成后,即可输入命令进行build,然后回车 4 . 启动该容器 5. 访问地址 总结 前言 如何将java项目部署到Docker中呢,这里以一个springboot为例 以下命令全部都是以linux为基础的 1. 首先找一个你熟悉的目录下创建一个目录upload(这个目录可以随便),并把java的li

  • Jenkins如何使用DockerFile自动部署Java项目

    Jenkins下用DockerFile自动部署Java(SpringBoot)项目,简单自用,勿喷 一.Jenkins构建Java(SpringBoot)项目 新建-构建一个Maven项目 需要提一下,现在新安装的没有这个选项,需要在插件里安装一下 Maven Integration java配置,其他配置查看以前文章 以上配置即可配置完成 二.发布到服务器,DockerFile部署自动构建 Publish SSH配置 这里在目标服务器上放了个shell命令,我这里的web是做了个Nginx的负

  • 详解在LINUX上部署带有JAR包的JAVA项目

    在LINUX上部署带有JAR包的JAVA项目 首先eclipse上要装上一个小插件,叫做Fat Jar 点击Fat Jar 红框里选上主类点击Next 如图把勾打上 在该路径下找到jar包 通过ftp协议把jar包放在linux服务器下 进入到jar包路径 输入指令 java -jar XXX.jar 运行成功! 注意!!!!!!!!!!!!!!!! 当你断开服务器连接时,工程会停止! 所以要用下面的指令 指令:nohup java -jar XXX.jar 通过指令ps -ef | grep

  • 使用jekins自动构建部署java maven项目的方法步骤

    1.下载jenkins 地址:https://jenkins.io/index.html 本人下载了2.19.3版本的war包:jenkins.war 2.安装jenkins 拷贝jenkins.war到tomcat的webapps文件夹下,如果tomcat是启动的,jenkins项目会自动解压启动的,如果tomcat是停止的,需要启动tomcat服务,进入bin文件夹,linux环境下执行 ./startup.sh即可启动服务,windows下双击startup.bat即可. 然后,访问地址:

随机推荐