当前位置: 首页 > news >正文

校园网网站建设费用网站开发排期表

校园网网站建设费用,网站开发排期表,做网站备案完成之后需要干什么,建筑标准下载网站文章目录 1、环境准备2、搭建 K8S3、搭建 Harbor4、搭建 MySQL5、构建 SpringBoot 项目镜像6、构建 Vue.js 项目镜像7、部署项目7.1、配置 NameSpace7.2、配置 Deployment、Service7.3、配置 Ingress-Nginx7.4、访问测试 1、环境准备 本次整体项目部署使用的是阿里云ECS服务器… 文章目录 1、环境准备2、搭建 K8S3、搭建 Harbor4、搭建 MySQL5、构建 SpringBoot 项目镜像6、构建 Vue.js 项目镜像7、部署项目7.1、配置 NameSpace7.2、配置 Deployment、Service7.3、配置 Ingress-Nginx7.4、访问测试 1、环境准备 本次整体项目部署使用的是阿里云ECS服务器服务器地区选择的是香港选择香港的原因 7.2 章节 Ingress 域名解析用的是阿里云的真实域名地址如果地区是大陆服务器还需要域名备案整体部署配置如下 服务器1 部署K8S Master配置CentOS 7.94核8G 服务器2 部署K8S Worker 1配置CentOS 7.94核8G 服务器3 部署K8S Worker 2配置CentOS 7.94核8G 服务器4 部署MySQL Harbor配置CentOS 7.92核4G开放端口80、8080、3306、9999 整体部署架构图如下 2、搭建 K8S 在服务器123搭建1主2从K8S集群详细部署流程参照下述文章链接https://xuzhibin.blog.csdn.net/article/details/139649056 3、搭建 Harbor 在服务器4上进行Harbor部署参考该链接 https://blog.csdn.net/weixin_46594796/article/details/143113896 Harbor 搭建完毕后要在 Harbor 中创建一个项目名为test留着后面操作 Docker 镜像使用 4、搭建 MySQL 本次部署的前端项目、后端项目、数据库脚本我已经上传到了 Github 上请自行下载 https://github.com/Binx98/test-project 在服务器4上创建启动 MySQL 数据库容器 docker run -p 3306:3306 --name mysql \ -e MYSQL_ROOT_PASSWORDroot \ -d mysql:8.0通过 Navicat 连接到创建好的 MySQL账号密码都是root先创建 test 数据库然后将上面提供的 MySQL 数据初始化脚本 init.sql 执行加载完毕数据导入成功后如下图 5、构建 SpringBoot 项目镜像 通过 IDEA 打开后端项目记得调整一下配置文件将MySQL URL调整为部署MySQL的内网IP地址 在 IDEA 控制台上通过 Maven 完成 SpringBoot 项目打包操作 mvn clean package -Dmaven.test.skiptrue打包完毕后可以看到 target 目录下生成的 Jar 文件 将JAR包上传到服务器4的 /opt 目录上然后在 /opt 目录上编写 BackendDockerfile 文件用于 JAR 包镜像构建BackendDockerfile 内容如下 # 基础镜像 FROM openjdk:17 # 宿主机文件 COPY 镜像 ADD backend-project.jar /backend-project.jar # 容器启动时执行类似CMD ENTRYPOINT [java, -jar, backend-project.jar]然后在服务器4的/opt目录下进行镜像构建命令如下 cd /opt docker build -f BackendDockerfile -t backend-project .镜像构建完毕后通过下述命令启动镜像判断是否打包成功 docker run -d -p 8080:8080 backend-project最后通过 公网IP地址:8080/api 访问测试接口可以查看到后端服务部署成功 然后将该 SpringBoot项目 镜像推送到 Harbor 当中 # 登录 Harbor账号密码admin/Harbor12345 docker login 服务器4内网IP:9999# 为镜像打标签 docker tag backend-project:latest 服务器4内网IP:9999/test/backend-project:1.0# 推送镜像到 Harbor docker push 服务器4内网IP:9999/test/backend-project:1.0镜像上传完毕后可以在 Harbor 的 test 项目中查看刚刚上传的镜像 6、构建 Vue.js 项目镜像 在构建镜像之前先要调整一下 Vue.js 项目的后端接口URL配置信息.env.production使用域名/api我的域名是k8s.joydevelop.com 调整完毕后将 Vue.js 项目进行打包操作控制台执行下述命令 npm run build:prod然后将打包后的 dist 文件上传到服务器4 /opt 目录然后在 /opt 目录上编写 FrontendDockerfile 文件用于 Vue.js 项目镜像构建 # 基础镜像 Nginx FROM nginx# 拷贝当前目录的文件到指定文件夹下改文件夹为镜像中的文件夹 COPY ./dist /usr/share/nginx/html# 拷贝nginx.conf文件到镜像下替换掉原有的nginx.conf COPY ./nginx.conf /etc/nginx/nginx.conf接着在服务器4 /opt 目录下创建 nginx.conf 文件内容如下记得调整内网IP地址 worker_processes 1;events {worker_connections 1024; }http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root /usr/share/nginx/html;try_files $uri $uri/ /index.html;index index.html index.htm;}location /api/ {proxy_http_version 1.1;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_set_header Connection ;# 这里用的是 K8S Service 服务名访问方式先按照我这么写proxy_pass http://backend-service.prod-env.svc.cluster.local:8080;}} }执行下述命令完成 Vue.js 镜像构建 cd /opt docker build -f FrontendDockerfile -t frontend-project .最后将构建好的 Vue.js 镜像上传到 Harbor 中 # 为镜像打标签 docker tag frontend-project:latest 服务器4内网IP:9999/test/frontend-project:1.0# 推送镜像到 Harbor docker push 服务器4内网IP:9999/test/frontend-project:1.0镜像上传完毕后可以在 Harbor 的 test 项目中查看刚刚上传的镜像 7、部署项目 注意在项目部署之前先要保证K8S每一台服务器服务器123的/etc/docker/daemon.json都配置上了 Harbor 的内网IP和端口号否则会导致K8S集群无法成功拉取Harbor私有镜像 {registry-mirrors: [https://8er86g8v.mirror.aliyuncs.com,https://docker.1panel.live/],insecure-registries: [服务器4内网IP:9999] }然后服务器123通过下述命令重新加载配置 systemctl daemon-reload systemctl restart docker7.1、配置 NameSpace 命名空间namespace主要是用于 K8S 集群中资源隔离的所以在这里我为项目创建一个命名空间prod-env命令如下 kubectl create ns prod-env7.2、配置 Deployment、Service 具体配置内容如下注释写的很清楚不多解释啦 前端部署配置 frontend.yaml apiVersion: apps/v1 kind: Deployment metadata:# Deployment 名称name: frontend-deployment# 命名空间namespace: prod-envlabels:app: frontend-label spec:# 生成 Pod 数量replicas: 3# Pod 标签选择器用于匹配管理selector:matchLabels:app: frontend-labeltemplate:# Pod 标签必须与 selector 匹配metadata:labels:app: frontend-labelspec:containers:# 容器名- name: frontend# Harbor 前端镜像地址image: 服务器4内网IP:9999/test/frontend-project:1.0imagePullPolicy: Always# 容器端口ports:- containerPort: 80# 指定容器的资源请求和限制resources:requests:memory: 300Micpu: 200mlimits:memory: 500Micpu: 400m---kind: Service apiVersion: v1 metadata:name: frontend-servicenamespace: prod-envlabels:app: frontend-label spec:selector:app: frontend-label# Service 类型ClusterIP、NodePort、LoadBalancer# 这里使用 ClusterIP代表只在集群内部通讯实际企业中也是用 ClusterIP# NodePort可以将Service对外暴露访问一般没人用type: ClusterIPports:- protocol: TCP# 容器端口port: 80# Service 端口targetPort: 80后端部署配置 backend.yaml apiVersion: apps/v1 kind: Deployment metadata:name: backend-deploymentnamespace: prod-envlabels:app: backend-label spec:replicas: 3selector:matchLabels:app: backend-labeltemplate:metadata:labels:app: backend-labelspec:containers:- name: backendimage: 服务器4内网IP:9999/test/backend-project:1.0imagePullPolicy: Alwaysports:- containerPort: 8080resources:requests:memory: 300Micpu: 200mlimits:memory: 500Micpu: 400m---kind: Service apiVersion: v1 metadata:name: backend-servicenamespace: prod-envlabels:app: backend-label spec:selector:app: backend-labeltype: ClusterIPports:- protocol: TCPport: 8080targetPort: 8080最后通过下述命令对前端、后端项目进行启动 kubectl apply -f frontend.yaml kubectl apply -f backend.yaml7.3、配置 Ingress-Nginx 直接通过 K8S Service 的 NordPort 模式可以完成服务对外提供访问的要求但是真正企业级场景来说更多的是使用 Ingress-Nginx 构建应用入口所以这里还需要部署一下 Ingress-Nginx请参考下述连接部署https://xuzhibin.blog.csdn.net/article/details/143227591 按照上述部署完毕后其实有个问题我们需要保证ingress-nginx-controller部署在 Master 节点上否则无法进行正确的访问所以还需要修改Ingress部署配置文件的一处位置让其部署在主节点上 修改完毕后重新卸载安装 Ingress-Nginx # 删除 Ingress-Nginx kubectl delete -f ingress-deploy.yaml# 安装 Ingress-Nginx kubectl apply -f ingress-deploy.yaml此时可以看到ingress-nginx-controller 部署在 k8s-master 上了 部署完毕后接下来要做的是配置一下 ingress-project.yaml 完成访问配置由于我的服务器都在香港地区所以这次我就用真实的域名解析到我的主服务器IP上没有可用于名就得通过修改 hosts 文件使用假域名测试了配置内容如下 apiVersion: networking.k8s.io/v1 kind: Ingress metadata:# Ingress-Nginx 名称name: my-ingressnamespace: prod-env spec:# Ingress ClassingressClassName: nginx# 路由规则rules:# 域名- host: k8s.joydevelop.comhttp:paths:# 访问域名根路径就会路由到 front-service 服务上- path: /pathType: Prefixbackend:service:# 前端服务名称name: frontend-service# 服务端口port:number: 80# 后端服务 Service 就不用暴露了不需要直接把后端接口给别人调用啊 # - path: /api # pathType: Prefix # backend: # service: # name: backend-service # port: # number: 8080然后通过下述命令进行 Ingress-Nginx 创建启动 kubectl apply -f ingress-project.yaml7.4、访问测试 最后在浏览器上通过访问域名可以看到 K8S 部署 SpringBoot Vue.js 项目成功
http://www.hkea.cn/news/14266999/

相关文章:

  • 在哪个网站申请建设资质桂林漓江20元背面图
  • 建设项目环评在什么网站公示wordpress 进去管理
  • 哈尔滨网站建设制作价格wordpress是干啥的
  • 裁剪图网站搭建企业资料网站
  • 精品网站建设费用 要上磐石网络wordpress 自动推送
  • 安庆网站建设工作室微信头像定制软件
  • 济南网站制作策划对象存储oss做视频网站
  • 上海移动网站建设灰产项目网
  • 手机网站域名哪里注册时间学做缝纫的网站
  • 网站说服力十大营销策略
  • 国外做项目的网站推广技术
  • 网站添加支付功能十大手游平台app排行榜
  • 在iis上部署的网站本机无法浏览解决方法建设网站是什么职位
  • 网站审核要多久如何制作学校网站
  • 网站建设的大概费用wordpress自带搜索
  • 济南 网站优化做导航网站用多大的空间
  • 长沙网站开发微联讯点官网wordpress tag优化
  • 网站需要条件aspnet网站开发
  • 网站构建的一般流程是什么调查问卷wordpress
  • 广州专业的网站建设公司企业网站seo最好方法
  • 佛山外贸网站建设网站建设云服务
  • 彩票网站 在哪里做个人做医疗类网站违法
  • 电商网站对比表wordpress检测手机端
  • 《网站推广策划》免费甜点网站模板下载
  • 百度云注册域名可以做网站明码用凡科做网站需要花钱吗
  • 网站推广的方式有哪几种长沙 外贸网站建设公司排名
  • 在线做海报的网站用wordpress做app
  • 建设网站主题自助建站系统加盟
  • 一级a做爰片免费网站番禺手机网站制作推广
  • 网站建设的业务范围ui培训班教程