k8s分布式圖床(k8s,metricsapi,vue3+ts)

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

image-manage 圖像管理應用

圖像管理應用提供了一個方便管理圖片的平臺,支持單機和Kubernetes集群部署。請確保您至少擁有一個MySQL數據庫和一個Redis數據庫,以及一個至少為Kubernetes 1.29版本的集群(如果選擇集群部署)。

文檔及更多信息

注意??

  1. 需要至少一個MySQL數據庫
  2. 需要至少一個Redis數據庫
  3. 如果采用集群部署,需要一個版本至少為Kubernetes 1.29的集群

單機部署(Docker)

使用Docker拉取并運行image-manage:

docker run -p 8080:8080 \-v 你的數據目錄:/app\-e CONFIG_ISCLUSTERMODEENABLED=false \-e SPRING_DATASOURCE_URL=jdbc:mysql://192.168.0.254:3306/image_manage?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai \-e SPRING_DATASOURCE_USERNAME=root \-e SPRING_DATASOURCE_PASSWORD=123456 \-e SPRING_REDIS_HOST=192.168.0.254 \-e SPRING_REDIS_PASSWORD=123456 \wnzzer/image-manage:latest

倉庫地址: https://github.com/wnzzer/image-manage

提示

  • 由于Spring Boot的配置替換策略,可以根據需要替換更多的Spring Boot參數配置。

集群部署部署(k8s)‘

前置要求

  • 安裝metrics server,以支持應用監控資源。如果沒有該組件,Kubernetes metrics API將無法工作,image-manage也將無法收集Pod資源信息。
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

部署image-manage

wget  https://github.com/wnzzer/image-manage/releases/latest/download/image-manage-yaml
apiVersion: v1
kind: Namespace
metadata:name: image-manage---
# storeclass 聲明,非常關鍵,用于動態分配卷
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:name: nfs-store-class
provisioner: image-manage-pv-provisioner  # 替換為實際的卷插件,我這里使用的是nfs的自動供應器,可以采用公用云或者其他pv自動供應器
reclaimPolicy: Delete
parameters:volumeSize: "1Gi"  # 應用存儲圖片的空間nfsServer: 192.168.0.254nfsPath: /volume1/nfs---
# configMap k8s權限配置到英雄
apiVersion: v1
kind: ConfigMap
metadata:namespace: image-managename: k8s-role-config
data:key1: ./admin.config---# 應用
apiVersion: apps/v1
kind: StatefulSet
metadata:namespace: image-managename: image-manage
spec:serviceName: "image-manage-headless-service"replicas: 2selector:matchLabels:app: image-managetemplate:metadata:labels:app: image-managespec:containers:- name: image-manageimage: wnzzer/image-manage:latestports: - containerPort: 8080env:- name: SPRING_PROFILES_ACTIVEvalue: "prod"- name: CONFIG_ISCLUSTERMODEENABLEDvalue: "false"- name: SPRING_DATASOURCE_URLvalue: "jdbc:mysql://192.168.0.254:3306/image_manage?userUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai"- name: SPRING_DATASOURCE_USERNAMEvalue: "root"- name: SPRING_DATASOURCE_PASSWORDvalue: "123456"- name: SPRING_REDIS_HOSTvalue: "192.168.0.254"- name: SPRING_REDIS_PASSWORDvalue: "123456"volumeMounts:- name: local-volmountPath: "/app"- name: config-volume  # 掛載ConfigMap作為卷mountPath: "/etc/image-manage/config"  # 指定掛載ConfigMap的路徑volumes:- name: config-volume  # 定義卷使用的ConfigMapconfigMap:name: k8s-admin-role-config  # 指定ConfigMap的名稱volumeClaimTemplates:- metadata:name: local-volspec:accessModes: [ "ReadWriteOnce" ]storageClassName: "nfs-store-class"resources:requests:storage: 1Gi---
# 無頭服務,用于應用的同步通信
apiVersion: v1
kind: Service
metadata:name: image-manage-headless-servicenamespace: image-manage
spec:clusterIP: Noneselector:app: image-manageports:- protocol: TCPport: 8080targetPort: 8080---
# cluster service 用于輸出api
apiVersion: v1
kind: Service
metadata:name: image-manage-cluster-servicenamespace: image-manage
spec:type: ClusterIPports:- port: 8080targetPort: 8080selector:app: image-manage
kubectl apply -f image-manage.yaml
  1. 這里同樣需要把redis,mysql修改成自己的配置
  2. 這里需要有自己的pv供應器,由于是pv動態創建,所以需要搭配自動供應器給statusfulSet創建pv,示例中使用的是nfs
  3. image-manage 需要搭配 k8s 配置進行對k8s api的訪問,這里實例使用的是admin.conf,使用configmap掛載到容器里,如果想要更細致的權限劃分,請將權限配置至少給予 image-manage級別的權限。
  4. 創建的k8s用戶文件請將命名為admin.conf,因為應用里指定了k8s配置文件為admin.conf,其他名稱會無法讀取。

訪問

我們可以直接在k8s中部署nginx,反代 image-manage cluster ip,進行訪問,

運行web ui

cd font-userui
npm i
npm run dev

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/715999.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/715999.shtml
英文地址,請注明出處:http://en.pswp.cn/news/715999.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PCL1.14.0安裝、使用教程

寫在前面 本文內容 本文是PCL1.14.0在Windows下的安裝、使用教程; PCL、Open3D其他版本的編譯和使用相關教程見 各個版本的Open3D、PCL的編譯、使用教程平臺/環境 windows11(windows10): visual studio 2022;cmake 3.22; VsCode轉載請注明出處&#xff…

http和https的區別是什么?

–前言 傳輸信息安全性不同、連接方式不同、端口不同、證書申請方式不同 一、傳輸信息安全性不同 1、http協議:是超文本傳輸協議,信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息。 2、h…

關于django makemigrations/migrate在生成數據表上遇到的一些問題

當你刪除了生成的 migration 文件夾,將數據庫從 SQLite 切換到 MySQL,并且在執行 makemigrations 命令時顯示沒有變化,同時 MySQL 中沒有生成表,可能是由于以下原因造成的: Django遷移系統的工作方式:Djang…

排序(3)——直接選擇排序

目錄 直接選擇排序 基本思想 整體思路(升序) 單趟 多趟 代碼實現 特性總結 直接選擇排序 基本思想 每一次從待排序的數據元素中選出最小(或最大)的一個元素,存放在序列的起始位置,直到全部待排序的…

軟考 系統分析師系列知識點之詳細調查(3)

接前一篇文章:軟考 系統分析師系列知識點之詳細調查(2) 所屬章節: 第10章. 系統分析 第2節. 詳細調查 在系統規劃階段,通過初步調查,系統分析師已經對企業的組織結構、系統功能等有了大致的了解。但是&…

力扣203移除鏈表元素

題目: 203. 移除鏈表元素 給你一個鏈表的頭節點 head 和一個整數 val ,請你刪除鏈表中所有滿足 Node.val val 的節點,并返回 新的頭節點 。 1,設置一個頭節點,統一操作。 2,這里是用p查找,但是…

BUUCTF---數據包中的線索1

1.題目描述 2.下載附件,是一個.pcap文件 3.放在wireshark中,仔細觀察數據流,會發現有個叫fenxi.php的數據流 4.這條數據流是http,且使用GET方式,接下來我們使用http.request,methodGET 命令來過濾數據流 5.在分析欄中我們追蹤htt…

查看端口占用命令

fuser 8080/tcp netstat -tuln | grep 8080 lsof -i:8080 ss -tuln | grep 8080

在Linux上使用通用二進制包安裝MySQL

下載安裝包 MySQL Community Downloads 安裝依賴 mysql 數據目錄初始化及服務啟動階段依賴libaio,檢測是否已安裝libaio dnf install libaio解壓安裝 ## 創建用戶組 groupadd mysql ## 創建用戶 useradd -r -g mysql -s /bin/false mysql ## 解壓安裝包 tar xv…

數據挖掘:航空公司的客戶價值分析

需求分析 理解并掌握聚類分析方法,掌握數據的標準化,掌握尋找最佳聚類數,掌握聚類的繪圖,掌握聚類分析的應用場景。 系統實現 實驗流程分析 借助航空公司數據,對客戶進行分類對不同類別的客戶進行特征分析&#xf…

IEEE754標準的c語言闡述,以及幾個浮點數常量

很多年前,調研過浮點數與整數之間的雙射問題: win7 intel x64 cpu vs2013 c語言浮點數精度失真問題 最近重新學習了一下IEEE754標準,也許實際還有很多深刻問題沒有被揭示。 計算機程序設計藝術,據說這本書中也有討論。 參考&…

電商數據分析13——電商平臺退貨率分析與降低策略

目錄 寫在開頭1. 退貨率分析的重要性1.1 退貨現象的影響1.2 退貨數據的收集與分析 2. 數據分析揭示的主要退貨原因2.1 產品描述不準確2.2 物流配送問題2.3 產品質量問題 3. 基于數據分析的退貨率降低策略3.1 優化產品描述和圖片3.2 改進物流配送服務3.3 加強質量控制和售后服務…

抖音視頻批量采集軟件|視頻評論下載工具

在日常工作中,需要頻繁下載抖音視頻,但逐個復制分享鏈接下載效率太低?別擔心!我們推出了一款專業的抖音視頻批量采集軟件,基于C#開發,滿足您的需求,讓您通過關鍵詞搜索視頻并自動批量抓取&#…

力扣每日一題 受限條件下可到達節點的數目 DFS

Problem: 2368. 受限條件下可到達節點的數目 文章目錄 思路復雜度Code 思路 &#x1f468;?&#x1f3eb; 靈神 復雜度 時間復雜度: O ( n ) O(n) O(n) 空間復雜度: O ( n ) O(n) O(n) Code class Solution {int ans 0;boolean[] set;List<Integer>[] es;publ…

Unity中URP下實現水體(C#動態生成漸變圖)

文章目錄 前言一、Shader部分1、申明水漸變圖紋理和采樣器2、在片元著色器&#xff0c;進行紋理采樣&#xff0c;并且輸出 二、C#腳本部分1、我們新建一個C#腳本2、我們定義兩個變量3、在Start內&#xff0c;new 一個Texture2D(寬&#xff0c;高)4、定義一個Color[寬*高]的顏色…

CCS ‘23 論文清單與摘要

網絡安全學術頂會——CCS 23 論文清單與摘要 1、“Get in Researchers; We’re Measuring Reproducibility”: A Reproducibility Study of Machine Learning Papers in Tier 1 Security Conferences 可復現性對科學的進展至關重要&#xff1b;它增強了對看似矛盾結果的信心&…

企微hook源碼第二彈

免費的企微框架&#xff0c;可下載測試。 支持文本消息&#xff0c;圖片消息&#xff0c;視頻消息&#xff0c;文件消息。 有興趣可以進群交流。649480745&#xff0c;群內不定期開源企微hook源碼 接下來就是第二彈的企微hook源碼。后續會在群內開源完整源碼。

diskMirror-backEnd-spring-boot | diskMirror 后端服務器 SpringBoot 版本!

diskMirror-backEnd-spring-boot 開源技術欄 diskMirror 后端服務器 SpringBoot 版本! 此版本中拓展了 DiskMirrorBackEnd&#xff0c;是一個完全的SpringBoot項目&#xff01; 目錄 diskMirror-backEnd-spring-boot 目錄我如何使用&#xff1f; 部署與配置我如何使用其中的…

Java+SpringBoot+Vue:志愿服務的數字化之旅

??計算機畢業編程指導師 ??個人介紹&#xff1a;自己非常喜歡研究技術問題&#xff01;專業做Java、Python、微信小程序、安卓、大數據、爬蟲、Golang、大屏等實戰項目。 ??實戰項目&#xff1a;有源碼或者技術上的問題歡迎在評論區一起討論交流&#xff01; ?? Java、…

理想汽車狂飆18%,造車新勢力洗牌

2月27日&#xff0c;#理想汽車狂飆18%#話題沖上熱搜&#xff1b;前一日&#xff0c;理想汽車(02015.HK)公布了2023年第四季度及全年財報。盡管其營收凈利雙增長&#xff0c;但業績增長背后仍有隱憂。 「不二研究」據其2023年報發現&#xff1a;2023年&#xff0c;理想汽車研發…