国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目

這篇具有很好參考價(jià)值的文章主要介紹了七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前置依賴

  • k8s集群,如果沒有安裝,請(qǐng)先安裝

  • kubectl ,客戶端部署需要依賴

應(yīng)用鏡像構(gòu)建

應(yīng)用鏡像構(gòu)建不用自己去執(zhí)行,相關(guān)鏡像已經(jīng)推送到docker hub 倉庫,如果要了解過程和細(xì)節(jié),可以看一下,否則直接跳到k8syaml文件配置章節(jié)

Java應(yīng)用鏡像構(gòu)建

代碼地址:https://github.com/dongweizhao/backend

Java應(yīng)用打包

調(diào)用sh package.sh會(huì)執(zhí)行mvn的package命令,進(jìn)行打包

編寫Dockerfile

從target目錄復(fù)制可執(zhí)行jar

FROM?openjdk:8-jre
COPY?target/backend-0.0.1-SNAPSHOT.jar?/app.jar
ENTRYPOINT?java?-jar?${JAVA_OPTS}?/app.jar
鏡像打包推送

執(zhí)行sh push.sh?推送至dockerhub倉庫,鏡像地址:dweizhao/backend:latest

前端應(yīng)用鏡像構(gòu)建

代碼地址:https://github.com/dongweizhao/frontend

前端項(xiàng)目結(jié)構(gòu)如下

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

采用百度低代碼平臺(tái)amis進(jìn)行開發(fā)

編寫Dockerfile

拷貝前端工程dist目錄至/frontend,并進(jìn)行目錄授權(quán)

from?nginx
copy?./dist?/frontend
run?chown?nginx.nginx?/frontend?-R
copy?nginx.conf?/etc/nginx/conf.d/default.conf

編寫nginx.conf文件
server{
    listen 80;
    server_name localhost;
     root  /frontend;
     index index.html index.htm;

     location /login {
             try_files $uri $uri/ /login.html;
     }
}
推送鏡像

執(zhí)行sh push.sh推送dockerhub倉庫,鏡像地址:dweizhao/frontend:latest

k8s yaml文件配置

以下是我們部署的服務(wù)在k8s 中路由示意圖

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

后端服務(wù)配置

backend-dp.yaml

由于我們服務(wù)是無狀態(tài)服務(wù),使用Deployment進(jìn)行部署,Deployment擁有更加靈活強(qiáng)大的升級(jí)、回滾功能,并且支持滾動(dòng)更新

apiVersion:?apps/v1
kind:?Deployment
metadata:
??name:??backend
spec:
??selector:
????matchLabels:
??????app:??backend
??replicas:?1
??template:
????metadata:
??????labels:
????????#?service?會(huì)根據(jù)此標(biāo)簽來查找此pod
????????app:??backend
????????version:?latest
????spec:
??????containers:
????????-?name:?backend
??????????image:?"dweizhao/backend:latest"
??????????imagePullPolicy:?Always
backend-svc.yaml

Service相當(dāng)于Spring cloud中Ribbon的作用,提供了服務(wù)發(fā)現(xiàn)和負(fù)載均衡的功能,而不用關(guān)心具體服務(wù)實(shí)例有多少個(gè),在 k8s的服務(wù)實(shí)例就是Pod,這里我們使用ClusterIP類型,因?yàn)槭峭ㄟ^Ingress在集群內(nèi)訪問,通過?app:backend標(biāo)簽,來查找對(duì)應(yīng)pod,所以 pod 的label必須包含app:backend

apiVersion:?v1
kind:?Service
metadata:
??name:?backend
spec:
??type:?ClusterIP
??ports:
????-?name:?backend-http
??????port:?8080
??????targetPort:?8080
??????protocol:?TCP
??selector:
????#?根據(jù)標(biāo)簽查找?pod
????app:?backend

前端服務(wù)配置

frontend-dp.yaml

前端鏡像是一個(gè) nginx

apiVersion:?apps/v1
kind:?Deployment
metadata:
??name:??frontend
spec:
??selector:
????matchLabels:
??????app:??frontend
??replicas:?1
??template:
????metadata:
??????labels:
????????#?service?會(huì)根據(jù)此標(biāo)簽來查找此pod
????????app:??frontend
????????version:?latest
????spec:
??????containers:
????????-?name:?frontend
??????????image:?"dweizhao/frontend:latest"
??????????imagePullPolicy:?Always
frontend-svc.yaml
apiVersion:?v1
kind:?Service
metadata:
??name:?frontend
spec:
??type:?ClusterIP
??ports:
????-?name:?frontend-http
??????port:?80
??????targetPort:?80
??????protocol:?TCP
??selector:
????#?根據(jù)標(biāo)簽查找?pod
????app:?frontend

Ingress配置

Ingress相當(dāng)于nginx的作用,匹配url轉(zhuǎn)發(fā)請(qǐng)求至Service

注意:k8s不同的版本,對(duì)應(yīng)的Ingress apiVerson有點(diǎn)細(xì)微差別,所以要找到對(duì)應(yīng)k8s版本的Ingress,我們的k8s版本為v1.25.13

apiVersion:?networking.k8s.io/v1
kind:?Ingress
metadata:
??name:?test-ingress
spec:
??ingressClassName:?nginx
??rules:
????-?host:?k8sdemo.com
??????http:
????????paths:
????????-?path:?/
??????????pathType:?Prefix
??????????backend:
????????????service:
??????????????name:?frontend
??????????????port:
????????????????number:?80
????????#backend開頭的?url,轉(zhuǎn)發(fā)到后端服務(wù)?,否則都轉(zhuǎn)發(fā)到前端服務(wù)??????????????
????????-?path:?/backend
??????????pathType:?Prefix
??????????backend:
????????????service:
??????????????name:?backend
??????????????port:
????????????????number:?8080

k8s部署

部署使用kubectl進(jìn)行部署,如果沒有請(qǐng)先安裝,安裝完成以后,把以上yaml文件保存至本地

創(chuàng)建命名空間
kubectl?create?namespace?k8sdemo
部署

部署系統(tǒng)至k8sdemo空間下

kubectl?create?namespace?k8sdemo?&&?kubectl?apply?-f?backend-dp.yaml?-f?backend-svc.yaml?-f?frontend-dp.yaml?-f?frontend-svc.yaml?-f?ingress.yaml?-n?k8sdemo

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

查看系統(tǒng)狀態(tài)
#查看pod?啟動(dòng)狀態(tài)
kubectl?get?pods?-n?k8sdemo
#?查看服務(wù)狀態(tài)
kubectl?get?svc?-n?k8sdemo
#?查看Ingress狀態(tài)
kubectl?get?ingress?-n?k8sdemo

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

host 解析

在 hosts 文件中,對(duì)k8sdemo.com域名映射,映射到k8s 的任意node節(jié)點(diǎn)上即可,假設(shè)IP為172.18.2.53,配置如下

172.18.2.53?k8sdemo.com

測(cè)試

在瀏覽器訪問k8sdemo.com,如果出現(xiàn)以下結(jié)果則部署成功,可以看到正確請(qǐng)求到數(shù)據(jù),這個(gè)數(shù)據(jù)為backend提供

七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目,java基礎(chǔ),java,spring boot,k8s,前后端分離

總結(jié)

以上我們只是簡(jiǎn)單演示了下,如何在 k8s 中快速部署一個(gè)前后端應(yīng)用,讓你對(duì)在 k8s 操作有一個(gè)快速認(rèn)識(shí),但是此應(yīng)用如果要在生產(chǎn)使用還要在做些配置,比如探針配置,因?yàn)楹蠖朔?wù)的啟動(dòng),可能是個(gè)假啟動(dòng),必須要配置探針探活之后,才能讓 service訪問,否則導(dǎo)致請(qǐng)求異常,同時(shí)應(yīng)用有些文件如果需要持久化,還需要配置存儲(chǔ)卷等操作文章來源地址http://www.zghlxwxcb.cn/news/detail-820210.html

到了這里,關(guān)于七八分鐘快速用k8s部署springboot前后端分離項(xiàng)目的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • k8s實(shí)戰(zhàn)案例之部署Nginx+Tomcat+NFS實(shí)現(xiàn)動(dòng)靜分離

    k8s實(shí)戰(zhàn)案例之部署Nginx+Tomcat+NFS實(shí)現(xiàn)動(dòng)靜分離

    根據(jù)業(yè)務(wù)的不同,我們可以導(dǎo)入官方基礎(chǔ)鏡像,在官方基礎(chǔ)鏡像的基礎(chǔ)上自定義需要用的工具和環(huán)境,然后構(gòu)建成自定義出自定義基礎(chǔ)鏡像,后續(xù)再基于自定義基礎(chǔ)鏡像,來構(gòu)建不同服務(wù)的基礎(chǔ)鏡像,最后基于服務(wù)的自定義基礎(chǔ)鏡像構(gòu)建出對(duì)應(yīng)業(yè)務(wù)鏡像;最后將這些鏡像上傳

    2024年02月07日
    瀏覽(21)
  • SpringBoot + K8S 中的滾動(dòng)發(fā)布、優(yōu)雅停機(jī)、彈性伸縮、應(yīng)用監(jiān)控、配置分離

    前言 配置 健康檢查 滾動(dòng)更新 彈性伸縮 Prometheus集成 配置分離 匯總配置 業(yè)務(wù)層面 運(yùn)維層面 K8s + SpringBoot實(shí)現(xiàn)零宕機(jī)發(fā)布:健康檢查+滾動(dòng)更新+優(yōu)雅停機(jī)+彈性伸縮+Prometheus監(jiān)控+配置分離(鏡像復(fù)用) 基于 Spring Boot + MyBatis Plus + Vue Element 實(shí)現(xiàn)的后臺(tái)管理系統(tǒng) + 用戶小程序,支持

    2024年02月07日
    瀏覽(19)
  • k8s如何快速部署tomcat

    k8s如何快速部署tomcat

    三臺(tái)云服務(wù)器 部署tomcat 暴露端口 查看service端口

    2024年02月07日
    瀏覽(16)
  • 基于kubeadm快速部署k8s集群

    基于kubeadm快速部署k8s集群

    1.所有節(jié)點(diǎn)部署docker 環(huán)境 2.修改docke的管理進(jìn)程(修改cgroup的管理進(jìn)程為systemd) ? 3.基礎(chǔ)準(zhǔn)備 4.所有節(jié)點(diǎn)安裝kubeadm,kubelet,kubectl 5.初始化網(wǎng)絡(luò)組件 5.初始化master節(jié)點(diǎn) 6.拷貝授權(quán)文件,用于管理K8S集群 7.?自動(dòng)補(bǔ)全功能-新手必備 ## 恭喜你!master節(jié)點(diǎn)準(zhǔn)備完成## 8.node節(jié)點(diǎn)加入集

    2024年01月16日
    瀏覽(22)
  • k8s部署springboot

    k8s部署springboot

    首先以SpringBoot應(yīng)用為例介紹一下k8s的部署步驟。 1.從代碼倉庫下載代碼,比如GitLab; 2.接著是進(jìn)行打包,比如使用Maven; 3.編寫Dockerfile文件,把步驟2產(chǎn)生的包制作成鏡像; 4.上傳步驟3的鏡像到遠(yuǎn)程倉庫,比如Harhor; 5.編寫Deployment文件; 6.提交Deployment文件到k8s集群; 從以上

    2024年02月12日
    瀏覽(12)
  • 使用kubeadm快速部署一個(gè)K8s集群

    使用kubeadm快速部署一個(gè)K8s集群

    kubeadm是官方社區(qū)推出的一個(gè)用于快速部署kubernetes集群的工具。 這個(gè)工具能通過兩條指令完成一個(gè)kubernetes集群的部署: 在開始之前,部署Kubernetes集群機(jī)器需要滿足以下幾個(gè)條件: 一臺(tái)或多臺(tái)機(jī)器,操作系統(tǒng) CentOS7.x-86_x64 硬件配置:2GB或更多RAM,2個(gè)CPU或更多CPU,硬盤30GB或更

    2024年02月09日
    瀏覽(35)
  • Kubernetes(k8s)實(shí)戰(zhàn):Kubernetes(k8s)部署Springboot項(xiàng)目

    Kubernetes(k8s)實(shí)戰(zhàn):Kubernetes(k8s)部署Springboot項(xiàng)目

    wordpress是用于快速搭建博客系統(tǒng)。 該yaml文件創(chuàng)建一個(gè)mysql,并且生成一個(gè)service,service對(duì)外暴露的端口是3306 我們發(fā)現(xiàn),搭建成功了,用瀏覽器訪問192.168.56.101:30493,發(fā)現(xiàn)訪問成功了! 在集群中,pod之間可以通過service 的name進(jìn)行訪問,不僅僅是ip,這就意味著,service中不僅幫

    2024年02月12日
    瀏覽(32)
  • springboot 部署k8s(一)

    springboot 部署k8s(一)

    ? 目錄 系列文章目錄 前言 一、IDEA 工程目錄 二、pom.xml 1.代碼如下 2.Dockerfile 3.Controller 代碼 4.?打包操作? 5 打包鏡像 6 鏡像打tag 7 push鏡像到容器里 ?8 驗(yàn)證是否上傳成功 總結(jié) 本系列教程將分2篇文章講解,怎么部署springboot 到k8s 上。 第一篇:springboot 準(zhǔn)備,這里包括打包鏡

    2023年04月11日
    瀏覽(21)
  • 使用CloudOS快速實(shí)現(xiàn)K8S容器化部署

    使用CloudOS快速實(shí)現(xiàn)K8S容器化部署

    容器技術(shù)(以docker和Kubernetes為代表)呱呱墜地到如今,在國(guó)內(nèi)經(jīng)歷了如下3個(gè)階段: 嬰兒期:2014-2016年的技術(shù)探索期; 少兒期:2017-2018年的行業(yè)試水期; 少年期:2019年以后的規(guī)模應(yīng)用期。 我這里不詳述使用容器技術(shù)的好處,有興趣的同學(xué)可以自行了解。K8S是非常好的東東,

    2024年02月11日
    瀏覽(26)
  • 使用kubeadm方式快速部署一個(gè)K8S集群

    使用kubeadm方式快速部署一個(gè)K8S集群

    目錄 一、環(huán)境準(zhǔn)備 二、環(huán)境初始化? 三、在所有主機(jī)上安裝相關(guān)軟件 1、安裝docker 2、配置k8s的yum源 3、安裝kubelet、kubeadm、kubectl 四、部署Kubernetes Master 五、加入Kubernets Node 六、部署CNI網(wǎng)絡(luò)插件 七、測(cè)試k8s集群 我的是CentOS7系統(tǒng),然后準(zhǔn)備三臺(tái)虛擬主機(jī) 一臺(tái)master,和兩臺(tái)no

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包