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

Kubernetes环境部署OwnCloud网盘服务

目录

1.创建PV和PVC

2. 配置ConfigMap

3.创建Secret

4.部署owncloud Deployment应用

5.创建Service


ownCloud 是一个开源免费专业的私有云存储项目,它能帮你快速在个人电脑或服务器上架设一套专属的私有云文件同步网盘,可以像 百度云那样实现文件跨平台同步、共享、版本控制、团队协作等。

本文章将详细讲解如何在Kubernetes环境下搭建OwnCloud服务;话不多说,我们直接开始。

1.创建PV和PVC

编写yaml文件(文件名自定义)创建PV和PVC来提供持久化存储,以便保存 ownCloud 服务中的文件和数据。

要求:PV(访问模式为读写,只能被单个节点挂载;存储为5Gi;存储类型为hostPath,存储路径自定义);PVC(访问模式为读写,只能被单个节点挂载;申请存储空间大小为5Gi)。

[root@master ~]# vi pv-pvc.yaml 
apiVersion: v1
kind: PersistentVolume
metadata:name: owncloud-pv
spec:capacity:storage: 5GiaccessModes:- ReadWriteOncehostPath:path: /owncloud/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:name: owncloud-pvc
spec:accessModes:- ReadWriteOnceresources:requests:storage: 5Gi
[root@master ~]# mkdir /owncloud
[root@master ~]# kubectl apply -f pv-pvc.yaml 

2. 配置ConfigMap

编写yaml文件(文件名自定义)创建一个configMap对象,指定OwnCloud的环境变量。登录账号对应的环境变量为OWNCLOUD_ADMIN_USERNAME,密码对应的环境变量为OWNCLOUD_ADMIN_PASSWORD。(变量值自定义)

[root@master ~]# vi configmap.yaml 
apiVersion: v1
kind: ConfigMap
metadata:name: owncloud-config
data:OWNCLOUD_ADMIN_USERNAME: "admin"OWNCLOUD_ADMIN_PASSWORD: "abc123"
[root@master ~]# kubectl apply -f configmap.yaml 
configmap/owncloud-config created

3.创建Secret

编写yaml文件(文件名自定义)创建一个Secret对象,以保存OwnCloud数据库的密码。对原始密码采用base64编码格式进行加密。

[root@master ~]# echo "aaa111" | base64
YWFhMTExCg==
[root@master ~]# vi secret.yaml 
apiVersion: v1
kind: Secret
metadata: name: owncloud-db-password
type: Opaque
data:OWN_CLOUD_DB_PASSWORD: YWFhMTExCg==

4.部署owncloud Deployment应用

编写yaml文件(文件名自定义) 创建Deployment对象, 指定OwnCloud的容器和相关的环境变量。(Deployment资源命名为owncloud-deployment,镜像为Harbor仓库中的owncloud:latest,存储的挂载路径为/var/www/html,其它根据具体情况进行配置)

[root@master ~]# cat deployments.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:name: owncloud-deploymentnamespace: default
spec:replicas: 1selector:matchLabels:app: owncloudtemplate:metadata:labels:app: owncloudspec:containers:- name: owncloudimage: owncloud:latestports:- containerPort: 80env:- name: OWNCLOUD_ADMIN_USERNAMEvalueFrom:configMapKeyRef:name: owncloud-configkey: OWNCLOUD_ADMIN_USERNAME- name: OWNCLOUD_ADMIN_PASSWORDvalueFrom:configMapKeyRef:name: owncloud-configkey: OWNCLOUD_ADMIN_PASSWORD- name: DB_PASSWORDvalueFrom:secretKeyRef:name: owncloud-db-passwordkey: OWN_CLOUD_DB_PASSWORDvolumeMounts:- name: owncloud-storagemountPath: /var/www/htmlvolumes:- name: owncloud-storagepersistentVolumeClaim:claimName: owncloud-pvc

5.创建Service

编写yaml文件(文件名自定义)创建一个Service对象将OwnCloud公开到集群外部。通过http://IP:端口号可查看owncloud。

[root@master ~]# cat service.yaml 
apiVersion: v1
kind: Service
metadata:name: owncloud-service
spec:selector:app: owncloudtype: NodePortports:- protocol: TCPport: 80targetPort: 80nodePort: 30080

此时我们就可以访问我们的网盘服务了:

至此,OwnCloud服务搭建完成。

http://www.xdnf.cn/news/4092.html

相关文章:

  • 学苑教育杂志学苑教育杂志社学苑教育编辑部2025年第9期目录
  • 前端知识-hook
  • 荣耀A8互动娱乐组件部署实录(第4部分:房间服务端逻辑与玩家交互处理)
  • spring cloud gateway(网关)简介
  • C++ 类
  • 02 mysql 管理(Windows版)
  • LintCode407-加一,LintCode第479题-数组第二大数
  • [Linux_69] 数据链路层 | Mac帧格式 | 局域网转发 | MTU MSS
  • 虚标的WIFI连接速度
  • n8n系列(1)初识n8n:工作流自动化平台概述
  • 第二章 Logback的架构(二)
  • RabbitMQ ①-MQ | Linux安装RabbitMQ | 快速上手
  • 游戏引擎学习第261天:切换到静态帧数组
  • (提升)媒体投稿技能
  • 机器学习 day6 -线性回归练习
  • 云计算与大数据进阶 | 21、可扩展系统构建
  • PyTorch 与 TensorFlow 中基于自定义层的 DNN 实现对比
  • 应用服务器Tomcat
  • ImageView显示圆角图片的一种方式
  • 【免费试用】LattePanda Mu x86 计算模块套件,专为嵌入式开发、边缘计算与 AI 模型部署设计
  • javascript:void(0) 是一个常见的 JavaScript 伪协议
  • AI日报 · 2025年5月06日|Anthropic 启动 AI for Science 项目
  • React 中集成 Ant Design 组件库:提升开发效率与用户体验
  • 【HFP】蓝牙语音通信高级功能解析:快速拨号与呼叫等待协议实现
  • 1、Kafka与消息队列核心原理详解
  • 当K8S容器没有bash时7种高阶排查手段
  • HTTP与HTTPS协议深入解析
  • Relay算子注册
  • 应急响应靶场web1:知攻善防实验室
  • 【AI】基于生活案例的LLM强化学习(入门帖)