营销型网站建设报价,彬县网站建设,百度搜不到我的网站,东莞商城网站开发image-manage 图像管理应用
图像管理应用提供了一个方便管理图片的平台#xff0c;支持单机和Kubernetes集群部署。请确保您至少拥有一个MySQL数据库和一个Redis数据库#xff0c;以及一个至少为Kubernetes 1.29版本的集群#xff08;如果选择集群部署#xff09;。
文档… image-manage 图像管理应用
图像管理应用提供了一个方便管理图片的平台支持单机和Kubernetes集群部署。请确保您至少拥有一个MySQL数据库和一个Redis数据库以及一个至少为Kubernetes 1.29版本的集群如果选择集群部署。
文档及更多信息
注意⚠️
需要至少一个MySQL数据库需要至少一个Redis数据库如果采用集群部署需要一个版本至少为Kubernetes 1.29的集群
单机部署Docker
使用Docker拉取并运行image-manage
docker run -p 8080:8080 \-v 你的数据目录:/app\-e CONFIG_ISCLUSTERMODEENABLEDfalse \-e SPRING_DATASOURCE_URLjdbc:mysql://192.168.0.254:3306/image_manage?useUnicodetruecharacterEncodingutf-8useSSLfalseserverTimezoneAsia/Shanghai \-e SPRING_DATASOURCE_USERNAMEroot \-e SPRING_DATASOURCE_PASSWORD123456 \-e SPRING_REDIS_HOST192.168.0.254 \-e SPRING_REDIS_PASSWORD123456 \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-yamlapiVersion: 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-servicereplicas: 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?userUnicodetruecharacterEncodingutf-8useSSLfalseserverTimezoneAsia/Shanghai- name: SPRING_DATASOURCE_USERNAMEvalue: root- name: SPRING_DATASOURCE_PASSWORDvalue: 123456- name: SPRING_REDIS_HOSTvalue: 192.168.0.254- name: SPRING_REDIS_PASSWORDvalue: 123456volumeMounts:- 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-classresources: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-managekubectl apply -f image-manage.yaml这里同样需要把redismysql修改成自己的配置这里需要有自己的pv供应器由于是pv动态创建所以需要搭配自动供应器给statusfulSet创建pv示例中使用的是nfsimage-manage 需要搭配 k8s 配置进行对k8s api的访问这里实例使用的是admin.conf,使用configmap挂载到容器里如果想要更细致的权限划分请将权限配置至少给予 image-manage级别的权限。创建的k8s用户文件请将命名为admin.conf,因为应用里指定了k8s配置文件为admin.conf其他名称会无法读取。 访问
我们可以直接在k8s中部署nginx反代 image-manage cluster ip进行访问
运行web ui
cd font-userui
npm i
npm run dev