K8s部署前后端分离项目(一)

news2024/11/23 5:04:47

K8s部署前后端分离项目
环境准备
K8s环境
主节点master:192.168.3.200
子节点node1:192.168.3.201
子节点node2:192.168.3.202

Harbor远程仓库
已部署在master主节点上,目录为:cd /workspace/harbor/harbor
在这里插入图片描述
1、登录地址
http://192.168.3.200
输入用户名密码登录,初始用户名为admin,密码为Harbor12345,如下图所示:
在这里插入图片描述
密码配置在【harbor.cfg】配置文件中的【harbor_admin_password】属性。
Harbor.cfg目录:/workspace/harbor/harbor/harbor.cfg

2、查看harbor服务状态:
docker-compose ps

在这里插入图片描述
上图State属性全为【up】表示Harbor服务正常运行。如果未正常运行,则重启Harbor即可。

3、重启harbor
docker-compose restart

注意:Harbor所有命令需要在Harbor部署目录下执行。

部署前后端分离项目
生成前端vue镜像(所有子节点操作)
1、打包dist包
1、前端打包获得dist.zip包
2、上传到子节点服务器上自选目录,当前目录为:/home/docker/nginx/
在这里插入图片描述
上传方法:当前目录下输入【rz】后选择本地dist.zip文件后
在这里插入图片描述
3、上传到服务器成功后,解压dist.zip,命令为:unzip dist.zip
在这里插入图片描述
得到dist文件夹。
2、生成default.conf文件
在dist同目录下生成default.conf文件,

命令为:sudo vim default.conf

文件内容如下:

server {
listen 9000;
server_name localhost;

location /DLHYXT/dsmMgr {
    root   /BJ/;
    proxy_set_header Host  $host;
    try_files $uri $uri/ /DLHYXT/dsmMgr/index.html $uri/ =404;
    index  index.html index.htm;
}

location /api/v1/note {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header x-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://192.168.3.200:32081;
}

location /api/v1/dsm {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header x-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://192.168.3.200:32351;
}

location /randCodeImage {
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass  http://192.168.3.200:32081;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   html;
}

}

这里只有server部分。复制粘贴后,键入【Esc】+【:】,输入wq后回车保存文件内容。以下保存文件内容方法一致。
在这里插入图片描述
3、生成Dockerfile文件
同级目录下创建Dockerfile文件,

命令为:sudo vim Dockerfile

文件内容如下所示,复制粘贴后保存文件内容:

FROM nginx:latest
MAINTAINER “ly”
LABEL description=“TODO LIST”
COPY dist/ /BJ/DLHYXT/dsmMgr/
COPY default.conf /etc/nginx/conf.d/default.conf
env LANG=C.UTF-8

4、生成镜像
同样的,以下前端生成镜像的命令均在同一个目录下运行,即/home/docker/nginx/目录下,依次运行下列命令完成前端的镜像生成。
生成镜像命令:

docker build -t web-todo .
在这里插入图片描述
看到Successfully则表示成功,执行成功后可以通过docker images |grep web-todo查看已生成的镜像。

打标签:

docker tag web-todo:latest 192.168.3.200/library/web-todo:v1

推到harbor仓库:

docker push 192.168.3.200/library/web-todo:v1
在这里插入图片描述
注意第一次推到harbor仓库的时候需要先登录harbor:

docker login 192.168.3.200

输入用户名密码后即可成功推送。

查看生成的镜像:

docker images

在这里插入图片描述
可以看到生成了三个镜像,两个vue和一个nginx。

生成jar包镜像(所有子节点操作)
1、maven打包
将后端生成的jar包放到服务器;
当前目录为: /home/docker/java/
上传jar包方法同上述上传dist.zip方法一致
在这里插入图片描述
2、创建Dockerfile文件
由于有两个jar包所以生成两个Dockerfile文件,分别命名为DockerfileDsm和DockerfileNote,同样要在jar包平级目录下创建。

DockerfileDsm创建命令:sudo vim DockerfileDsm

文件内容如下所示,保存文件方法同前端文件保存:

FROM frolvlad/alpine-oraclejdk8:slim

RUN mkdir -p /usr/local/dsm

COPY hy-dsm-service.jar /usr/local/dsm/dsm.jar

ENTRYPOINT [“java”,“-jar”,“/usr/local/dsm/dsm.jar”]

DockerfileNote创建命令:sudo vim DockerfileNote

文件内容如下所示,保存文件方法同前端文件保存:

FROM frolvlad/alpine-oraclejdk8:slim

RUN mkdir -p /usr/local/note

COPY note-0.0.1-SNAPSHOT.jar /usr/local/note/note.jar

ENTRYPOINT [“java”,“-jar”,“/usr/local/note/note.jar”]
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/158435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java使用XDocReport导出word

使用XDocReport 导出word效果word编辑器案例word模板模板制作解决图片不存在时, "现场照片" 列被隐藏问题依赖返回数据对象 DailyRecordReportOpinionVO 审核记录对象PicVo 图片对象导出接口效果 说明: “现场图片” 为动态图片列表 , “专业负责人审核意见” 和 “项…

freeswitch的多租户模式

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 现在的VOIP服务越来越倾向于云端服务,包括呼叫中心云服务,线路云平台。 而云平台对多个客户的服务就需要做好隔离,包括数据隔离、线路隔离、服务隔离等。 freeswitch内部的多租户模…

如何给视频批量添加背景图的实例操作教程

如何给视频添加上背景图片呢?有需要的宝宝跟着小编一起来看看怎么操作的吧。 先运行【云炫AI智剪】,然后再选择画中画,切换相对应的界面当中。 接下来把底画背景图导入到列表中,可以选中文件直接拖动到软件中,或者…

多次执行相同的push、replace问题(重写push、replace)

1.多次执行相同的push、replace问题编程式导航路由跳转到当前路由(参数不变), 多次执行会抛出NavigationDuplicated的警告错误注意:编程式导航(push|replace)才会有这种情况的异常,声明式导航是没有这种问题,因为声明式导航内部已…

你是真的“C”——详解C语言函数模块知识(上篇)

详解C语言函数模块知识(上篇)😎前言🙌1. 函数是什么⁉️2、C语言中函数的分类🙌库函数:😃自定义函数😃**这里通过几个例子来辅助大家更好的理解函数如何用** ⁉️1、实现一个函数来交换两个整数…

C语言实现静态通讯录

专栏:C语言 每日一句:这几年可能会有点累,但要相信你的人生不可能就止于此地了,你要有你的梦想,所以你要努力,只有坚持这阵子,才不会辛苦一辈子,努力会让自己过得很好, 静…

Qt扫盲-QAction理论总结

QAction理论总结一、概述二、使用一、概述 在应用程序中,许多常用命令可以通过 菜单、工具栏按钮 和 键盘快捷键 调用。由于用户希望以相同的方式执行每个命令,而不管使用什么用户界面,因此将每个命令表示为一个Action操作是有效的。可以将A…

23年 车辆检测+车距检测+行人检测+车辆识别+车距预测(附yolo v5最新版源码)

我们先看一下效果2023年最新版 yolo车距行人识别yolov5和v7对比yolo车距其他步骤参考另外一篇文章: yolo 车辆测距车辆识别单目测距(双目测距)_SYBH.的博客-CSDN博客_yolo测距基于yolo目标检测算法实现的车前道路中的车辆和行人检测&#xf…

opener 值得注意的安全问题

前言 最近在学习浏览器知识的时候,讲到了浏览器之间的渲染进程共用的问题。其中 opener 能被引用到的两个页面,会在同一个渲染进程中。而这两个页面,可以称为:浏览上下文组。但在测试的时候,反倒是发现了一个opener 注…

JavaEE进阶第一课:Spring核心与设计思想

目录1.Spring是什么1.1什么是容器1.2什么是IoC1.3什么是DISpring的核心功能1.Spring是什么 用官方的话来说:Spring是包含众多工具方法的IoC容器 但是仅仅这样一句话,就会让大家有许多不解?什么是IoC?什么是容器?接下来…

python基础篇之字符串类型

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页:lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/lbcyllqj?spm1000.2115.3001.5343 哔哩哔哩欢迎关注&…

Java字节流基础详解(InputStream/OutputStream)

文章目录概念InputStream字节输入流FileInputStream文件字节输入流FileOutputStream字节输出流相关的方法(write)和构造器构造器注意事项文件拷贝概念 在Java中,字节流一般适用于处理字节数据(诸如图片、视频)&#x…

Netty入门笔记(一)BIO、NIO、AIO

一.Netty简介 Netty是由JBOSS提供的一个java开源框架Netty是一个异步的,基于事件驱动的网络应用框架,用以快速开发高性能,高可靠性的网络IO程序Netty主要针对在TCP协议下,面向Client端的高并发应用,或者peer-to-peer场…

裁剪图片原理

FileReader HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型。 创建实例 const reader new FileReader(); 方法 事件 Blod Blob是用来支持文件操作的。简单的…

牛客每日一题(1/12)

233的字符串题目描述 读入一个正整数n,代表将字符串"abc"重复n次,形成一个长度为3n的字符串。例如n3时,形成的字符串为"abcabcabc"。请你计算该字符串中有多少个"acb"子序列。答案对10^97取模。输入描述:一个正…

【计算机网络-数据链路层】局域网(LAN)

文章目录1 局域网的概念1.1 局域网的拓扑结构1.2 局域网的传输介质1.3 局域网的介质访问控制方式(MAC)1.4 局域网的分类2 以太网(Ethernet,IEEE 802.3 标准)2.1 以太网的传输介质2.2 以太网的网卡2.3 以太网的 MAC 地址…

flutter apk 加固引发的问题

背景:Apk 加固,防止动态调试啥的,用的是 腾讯家的加固方案:应用加固,这个加固完之后 因为破壳了,所以需要重写签名;今天发现一个这样的问题:最早加固完毕安装不了提示:Failure IINST…

C语言从入门到放弃——静态通讯录实现

目录 一.功能实现 1.打印开始菜单 2.实现选择 3.初始化通讯录 4.添加、删除等功能实现 (1)添加联系人 (2)删除联系人 (3)查找联系人 (4)修改联系人 (5&#xff…

【C++】基于EasyX库的2048小游戏

文章目录0 前言1 先看一下最终的效果图2 2048核心2 EasyX库2.1 配色2.2 文字2.3 填充3 总结0 前言 最近比较迷2048小游戏,于是想自己写代码实现出来,恰好也在网上找到一个现成的2048的VS工程,但是界面做得很难看,且运行逻辑存在一…

研究发现,大多数长期 COVID 影响在感染后一年内消退

英国医学杂志今天发表的一项来自以色列的大型研究发现,轻度 COVID-19 感染后出现的大多数症状或病症会持续数月,但在一年内恢复正常。 特别是接种过疫苗的人,呼吸困难的风险较低。这通常也是轻度感染后最常见的影响。相比之下,比未…