首页 > 其他分享 >k8s+harbor部署jar包和vue项目

k8s+harbor部署jar包和vue项目

时间:2022-12-08 16:07:26浏览次数:43  
标签:vue name service harbor 端口 app jar kgf


前置工作:
k8s 部署docker镜像需要拉取docker镜像,一般企业都是使用的局域网,所以需要在本地搭建一个docker私有仓库。

​​将jar包、vue项目打成docker镜像并推送到Harbor本地仓库​​ 前面的工作都已经完成了,下面开始使用k8s部署Java项目:

编写Deployment,Service的yaml文件

touch deployment.yaml
touch service.yaml

k8s+harbor部署jar包和vue项目_k8s

vim deployment.yaml

先建好自己的namespace 我用的mysapce

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: swagger-server
namespace: mysapce
spec:
replicas: 1
template:
metadata:
labels:
app: swagger-server
spec:
containers:
- name: swagger-server
image: 120.48.54.67:8282/k8spro/swagger:1.0.1
tty: true
ports:
- containerPort: 8013

说明:
image: 这个地址要用你的docker镜像的地址,可以去harbor仓库里面查一下。
containerPort:填写jar包的端口号。

vim service.yaml

apiVersion: v1
kind: Service
metadata:
name: jar-service
namespace: mysapce
spec:
ports:
- port: 80 # 集群端口
targetPort: 8013 #pod控制器中定义的端口(应用访问的端口)
protocol: TCP
type: NodePort
selector:
app: swagger-server

targetPort:填写你的jar内置的端口号,不然虽然pod能启动 但是找不到pod里面的服务。

执行yuml

kubectl apply -f deployment.yaml
kubectl apply -f service.yaml

查一下pod,svc

kubectl get pods -n mysapce
kubectl get svc -n mysapce

去dashboard里面看看

k8s+harbor部署jar包和vue项目_devops_02


浏览器访问一下:

k8s+harbor部署jar包和vue项目_jar_03


访问的时候选择后面那个端口:

k8s+harbor部署jar包和vue项目_jar_04


这样就启动好了。

部署vue也是一样的步骤

deployment.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
name: kgf-vue
namespace: mysapce
labels:
app: kgf-vue
spec:
replicas: 1
selector:
matchLabels: { app: kgf-vue }
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels: { app: kgf-vue }
spec:
containers:
- name: kgf-vue
env:
- name: kgf-vue
valueFrom:
fieldRef: { fieldPath: metadata.name }
image: 120.48.54.67:8282/k8spro/vue:1.0.1
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 1
memory: 512Mi
requests:
cpu: 0.4
memory: 256Mi

service.yaml:

#service版本
apiVersion: v1
#这个表示资源类型我们创建的是Service
kind: Service
metadata: #这个里面定义的是Service中我们创建的对象信息
#对象名称
name: kgf-vue
#元数据名称空间
namespace: mysapce
labels:
app: kgf-vue
spec: #下面定义service的详细信息
#类型为NodePort
type: NodePort
selector: #通过标签选择器去查询对应版本的pod,最后组成一个service
app: kgf-vue
ports: #指定容器需要用到的端口列表
#指定端口名称
- name: http
#服务对外的端口
port: 8080
protocol: TCP
#容器的端口
targetPort: 80

如果报错:

0/1 nodes are available: 1 Insufficient cpu.

把 deployment.yaml 里面的cup 调小一些。

总结:

当然这样虽然可以 实现k8s部署自己的项目,但是这样手动部署不是最终目的,下一步我们试试结合gitlab+Jenkins 实现自动化部署。


标签:vue,name,service,harbor,端口,app,jar,kgf
From: https://blog.51cto.com/u_15906694/5922591

相关文章

  • 将jar包、vue项目打成docker镜像并推送到Harbor本地仓库
    ​​Centos7下harbor的安装部署​​先制作自己的docker镜像,使用commit方式也可以制作镜像,我这里采用通过编写Dockerfile命令脚本进行生成镜像。​​利用Dockerfile制作自己......
  • Vue动态增添表单并赋予增删上下移动等操作
    Vue动态增添表单并赋予增删上下移动等操作开发需求:前端设计一个表单,依据题目类型,判断是否需要添加内容,若需添加,则可以动态增删、上下移动调整顺序等开发难点:需根据实际逻......
  • vue3 el-pagination 将 英文 修改 为 中文
    当前视图:我要做的是将Total类似的英文改为中文 1. 在组件里引入 ElConfigProvider组件和中文包//ElConfigProvider组件import{ElConfigProvider}f......
  • vue table表格实现无缝滚动 鼠标进入可悬停
    <el-tableref="table":data="tableData":header-cell-style="{background:'#F0F2F7',colo......
  • Vue3中 v-model 语法糖运用
    一、介绍在Vue2.0发布后,开发者使用v-model指令时必须使用名为value的prop。如果开发者出于不同的目的需要使用其他的prop,就不得不使用v-bind.sync。此外,由于v-mo......
  • 在线直播系统源码,vue+audio 有新消息时加提示音
    在线直播系统源码,vue+audio有新消息时加提示音<audiocontrols="controls"hiddensrc="./static/tip.mp3"ref="audio"></audio>​有新消息时,用以下代码即可播放指定......
  • 快速生成Vue2模板
    1.点击文件,再点击首选项,然后选择用户片段; 2.在弹出来的输入框中,选择第一行vue.json或者第二行新建全局代码片段文件都可,都是为了打开vue.json文件;  3.显示这种情......
  • # vue element-ui日期选择器限制90天范围
    #vueelement-ui日期选择器限制90天范围<el-form-itemlabel="开票时间"><el-date-pickerv-model="listQuery.test"t......
  • Centos 安装和配置Harbor
    一、安装docker-ce和docker-compose 前提已经安装过docker二、下载Harbor安装包#原下载命令,到github上下载,下载速度比较慢wgethttps://github.com/goharbor/harbor/r......
  • vue+iview 表格行选中修改背景色
    <Table:columns="columns":no-data-text="L('NoDatas')"border:data="list":row-class-name="rowName"@on-row-click="selectChange......