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”]
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐