cloudreve网盘迁移K8S

先贴配置文件了

cloudreve.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: cloudreve-deployment
spec:replicas: 1selector:matchLabels:app: cloudrevetemplate:metadata:labels:app: cloudrevespec:containers:- name: cloudreveimage: cloudreve:latestimagePullPolicy: NevervolumeMounts:- name: datamountPath: /app/data- name: config-volumemountPath: /app/conf.inisubPath: conf.inivolumes:- name: config-volumeconfigMap:name: cloudreve-config- name: datanfs:path: /dataserver: 192.168.57.61
---
apiVersion: v1
kind: Service
metadata:name: cloudreve-servicelabels:app: cloudreve
spec:ports:- port: 9000name: cloudreveprotocol: TCPtargetPort: 5212nodePort: 30000selector:app: cloudrevetype: NodePort
---
apiVersion: v1
kind: ConfigMap
metadata:name: cloudreve-config
data:conf.ini: |[System]Debug = falseMode = masterListen = :5212SessionSecret = NWHeTEjapYr1WTr3utGgy6sZ31EUG10NUtOFZx0ORZDNF8LYaYRRW5wYWNOmenx8HashIDSalt = fsoe4LGVhQFscdBp8TmRZRyfaE5EPU33I7Xf3rWQexO6nxw29D8k4Bqac21TfDkg

   mountPath: /app/data 是将NFS挂到 /app/data 作为数据目录来存储网盘的文件

因为要使用configmap挂conf.ini 但是挂载到 /app目录后会将目录内的所有文件覆盖找不到启动文件导致镜像无法启动

所以用了

        - name: config-volume
          mountPath: /app/conf.ini
          subPath: conf.ini

这样就不会覆盖 /app下的文件了

这里使用本地的镜像,先编译 cloudreve:latest镜像

Dockerfile

FROM ubuntu:latestCOPY cloudreve /app/cloudreve
COPY conf.ini  /app/conf.ini
RUN chmod +x /app/cloudreve
WORKDIR /appCMD ["./cloudreve"]
docker build -t cloudreve:latest .

启动容器

[root@master cloudreve]# kubectl apply  -f cloudreve.yaml 
deployment.apps/cloudreve-deployment created
service/cloudreve-service created
configmap/cloudreve-config created

查看cloudreve默认账号密码

[root@master cloudreve]# kubectl get pod 
NAME                                    READY   STATUS    RESTARTS   AGE
cloudreve-deployment-7c7f887cc8-q9g59   1/1     Running   0          10m
[root@master cloudreve]# kubectl logs cloudreve-deployment-7c7f887cc8-q9g59 ___ _                 _                    / __\ | ___  _   _  __| |_ __ _____   _____ / /  | |/ _ \| | | |/ _  | '__/ _ \ \ / / _ \	
/ /___| | (_) | |_| | (_| | | |  __/\ V /  __/
\____/|_|\___/ \__,_|\__,_|_|  \___| \_/ \___|V3.8.3  Commit #88409cc  Pro=false
================================================[Info]    2023-12-05 12:09:55 Initializing database connection...
[Info]    2023-12-05 12:09:55 Start initializing database schema...
[Info]    2023-12-05 12:09:55 Admin user name: admin@cloudreve.org
[Info]    2023-12-05 12:09:55 Admin password: oizCkg10
[Info]    2023-12-05 12:09:56 Start executing database script "UpgradeTo3.4.0".
[Info]    2023-12-05 12:09:56 Finish initializing database schema.
[Info]    2023-12-05 12:09:56 Initialize task queue with WorkerNum = 10
[Info]    2023-12-05 12:09:56 Initialize crontab jobs...
[Info]    2023-12-05 12:09:56 Current running mode: Master.
[Info]    2023-12-05 12:09:56 Listening to ":5212"
[GIN] 2023/12/05 - 12:09:56 | 200 |     701.824µs |   192.168.57.76 | GET      "/login?redirect=%2Flogin"
[GIN] 2023/12/05 - 12:09:56 | 200 |     350.788µs |   192.168.57.76 | GET      "/static/css/6.57254ef2.chunk.css"
[GIN] 2023/12/05 - 12:09:56 | 200 |   18.047561ms |   192.168.57.76 | GET      "/static/js/main.b93ef58f.chunk.js"
[GIN] 2023/12/05 - 12:09:56 | 200 |     237.995µs |   192.168.57.76 | GET      "/login?redirect=%2Flogin"
[GIN] 2023/12/05 - 12:09:56 | 200 |   34.672902ms |   192.168.57.76 | GET      "/static/js/6.df035d4b.chunk.js"
[GIN] 2023/12/05 - 12:09:56 | 200 |      213.24µs |   192.168.57.76 | GET      "/static/css/6.57254ef2.chunk.css"
[GIN] 2023/12/05 - 12:09:56 | 200 |   12.010573ms |   192.168.57.76 | GET      "/static/js/main.b93ef58f.chunk.js"
[GIN] 2023/12/05 - 12:09:56 | 200 |   44.951791ms |   192.168.57.76 | GET      "/static/js/6.df035d4b.chunk.js"
[GIN] 2023/12/05 - 12:09:57 | 200 |    1.320966ms |   192.168.57.76 | GET      "/api/v3/site/config"
[GIN] 2023/12/05 - 12:09:57 | 200 |    1.030957ms |   192.168.57.76 | GET      "/static/img/favicon.ico"
[Warning] 2023-12-05 12:10:02 更新检查失败, Get "https://api.github.com/repos/cloudreve/cloudreve/releases": tls: failed to verify certificate: x509: certificate signed by unknown authority

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/200852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dante(centos)安装

下载安装包 https://www.inet.no/dante/doc/latest/config/index.html 下载软件 解压 tar -zxvf dante-1.4.3.tar.gz 或者 wget http://www.inet.no/dante/files/dante-1.4.3.tar.gz tar -xvzf dante-1.4.3.tar.gz 编译 cd dante-1.4.3 yum install gcc make -y ##编译必备 …

OpenCV-Python:计算机视觉框架

目录 1.背景 2.早期计算机视觉框架 3.当前主流框架 4.计算机视觉框架的未来趋势 5.知识笔记 1.背景 俗话说“工欲善其事必先利其器”,想要学好计算机视觉,需要借助于相关的计算机视觉库,这样在进行学习的时候可以达到事半功倍的效果。 …

WebDriver运行原理的深入剖析

在现代软件开发中,自动化测试已经成为了不可或缺的一部分。它可以帮助开发者快速、准确地完成软件的功能测试,提高开发效率。而WebDriver就是实现这一目标的重要工具之一。那么,WebDriver是如何工作的呢?本文将通过生活案例&#…

使用python的opencv实现人脸识别

简介:本项目主要使用python语言,主要的模块库有os,opencv-python,opencv-contrib-python。项目主要分为三个部分,人脸录入,训练数据,实现人脸的识别。本博客包含源代码,以及各个功能…

Emscripten学习笔记之内存模型

编译目标选择: 在WebAssembly标准出现前的很长一段时间内,Emscripten的编译目标是asm.js。自1.37.3起,Emscirpten才开始正式支持WebAssembly。 以asm.js为编译目标时,C/C代码被编译为.js文件;以WebAssembly为编译目标…

MVC、MVP、MVVM模式的区别

前言:这三个表现层框架设计模式是依次进化而形成MVC—>MVP—>MVVM。在以前传统的开发模式当中即MVC模式,前端人员只负责Model(数据库)、 View(视图)和 Controller /Presenter/ViewModel(控…

Google Guava 的Preconditions类各种用法

Preconditions类 提供静态方法列表&#xff0c;用于检查是否使用有效参数值调用方法或构造函数。如果前提条件失败&#xff0c;则会抛出指定异常。 前置依赖 引入 pom <dependency><groupId>com.google.guava</groupId><artifactId>guava</artif…

android开发市场被抢占,鸿蒙能入行吗?

根据最新的数据&#xff0c;华为Mate60系列在上市第二周就成功占据了国内手机市场的17%份额&#xff0c;排名第二。而机构预测&#xff0c;华为手机在第37周有望超过20%的市场份额&#xff0c;成为国内手机市场的冠军。 一开始&#xff0c;人们对HarmonyOSNEXT持保留态度&…

vite初识

Vite是伴随着Vue3正式版一起发布的&#xff0c;最开始Vite 1.0的版本是为Vue3服务的&#xff0c;并不是跨框架的。之后半年时间左右&#xff0c;出现了Vite 2.0版本&#xff0c;Vite 2.0真正脱离了和Vue3的强关联&#xff0c;以插件的方式&#xff0c;可以集成到目前流行的主流…

Apache Doris 在某工商信息商业查询平台的湖仓一体建设实践

本文导读&#xff1a; 信息服务行业可以提供多样化、便捷、高效、安全的信息化服务&#xff0c;为个人及商业决策提供了重要支撑与参考。本文以某工商信息商业查询平台为例&#xff0c;介绍其从传统 Lambda 架构到基于 Doris Multi-Catalog 的湖仓一体架构演进历程。同时通过一…

js中for 循环和 map 循环都是是什么,他们有什么区别

在JavaScript中&#xff0c;for循环和map循环都是用于迭代数组元素的常见方法。 for循环&#xff1a;for循环是一种常见的迭代结构&#xff0c;可以使用循环变量和循环条件来控制循环的次数。它可以遍历数组的索引&#xff0c;并通过索引访问数组中的元素。示例代码如下&#…

【头歌系统数据库实验】实验2 MySQL软件操作及建库建表建数据

目录 第1关&#xff1a;创建数据库 第2关&#xff1a;创建供应商表S&#xff0c;并插入数据 第3关&#xff1a;创建零件表P&#xff0c;并插入数据 第4关&#xff1a;创建工程项目表J&#xff0c;并插入数据 第5关&#xff1a;创建供应情况表SPJ&#xff0c;并插入数据 …

第一百九十回 自定义一个可选择的星期组件

文章目录 1. 概念介绍2. 实现方法2.1 实现思路2.2 实现方法3. 示例代码4. 内容总结我们在上一章回中介绍了"如何让Text组件中的文字自动换行"相关的内容,本章回中将介绍 如何自定义一个可选择的星期组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在…

智能优化算法应用:基于类电磁机制算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于类电磁机制算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于类电磁机制算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.类电磁机制算法4.实验参数设定5.算法结果…

EasyRecovery14破解版 v14.0.0.4 官方免费版(含激活码)

软件介绍 EasyRecovery14高级版是一款功能强大的数据恢复软件&#xff0c;软件对比家庭版本它的使用更加广泛&#xff0c;在恢复数据方面软件可以做到最完整的损失恢复&#xff0c;无论是文档、音乐、软件都可以一键恢复&#xff0c;同时软件还可以对文件的名字、后缀进行修改…

ES6之Symbol

ES6中为我们新增了一个原始数据类型Symbol&#xff0c;让我为大家介绍一下吧&#xff01; Symbol它表示是独一无二的值 Symbol要如何创建 第一种创建方式&#xff1a; let sy Symbol()第二种创建方式&#xff1a; let sy Symbol.for()具体独一无二在哪呢&#xff1f;它们的地…

nodejs+vue+微信小程序+python+PHP天天网站书城管理系统的设计与实现-计算机毕业设计推荐

本项目主要分为前台模块与后台模块2个部分&#xff0c;详细描述如下&#xff1a;   &#xff08;1&#xff09;前台模块 首页: 首页可以起到导航的作用&#xff0c;用户想要了解网站 &#xff0c;网站首页为用户可以深入了解网站提供了一个平台&#xff0c;它就向一个“导游”…

react-router v6实现动态的title(react-router-dom v6)

前言 react-router-dom v6 默认不支持 title设置了&#xff0c;所以需要自己实现一下。 属性描述path指定路由的路径&#xff0c;可以是字符串或字符串数组。当应用的URL与指定的路径匹配时&#xff0c;该路由将会被渲染。element指定要渲染的React组件或元素。children代表…

Flutter桌面应用程序定义系统托盘Tray

文章目录 概念实现方案1. tray_manager依赖库支持平台实现步骤 2. system_tray依赖库支持平台实现步骤 3. 两种方案对比4. 注意事项5. 话题拓展 概念 系统托盘&#xff1a;系统托盘是一种用户界面元素&#xff0c;通常出现在操作系统的任务栏或桌面顶部。它是一个水平的狭长区…

深度学习在单线性回归方程中的应用--TensorFlow实战详解

深度学习在单线性回归方程中的应用–TensorFlow实战详解 文章目录 深度学习在单线性回归方程中的应用--TensorFlow实战详解1、人工智能<-->机器学习<-->深度学习2、线性回归方程3、TensorFlow实战解决单线性回归问题人工数据集生成构建模型训练模型定义损失函数定义…