K8S有状态服务

您所在的位置:网站首页 k8s存储挂载权限 K8S有状态服务

K8S有状态服务

2024-07-14 00:54:18| 来源: 网络整理| 查看: 265

OSS介绍:

阿里云对象存储服务(OSS)提供海量、安全、低成本、高可靠的云存储服务。适用于配置文件、图片、小视频等共享业务;

容器服务访问OSS 数据是通过 ossfs 把 bucket 挂载到本地文件系统中,容器中的应用通过本地文件系统操作OSS上的数据,实现数据的访问、共享。

使用OSS卷挂载时:

随机或者追加写文件会导致整个文件的重写。

元数据操作,例如list directory,性能较差,因为需要远程访问OSS服务器。

多个客户端挂载同一个bucket时,用户自行处理并发。例如:避免多个客户端写同一个文件。

不适合用在高并发读/写的场景,这样会让系统的load升高。

创建OSS存储卷 创建OSS Bucket 在OSS控制台创建一个Bucket,根据需求配置bucket的读写权限; 在概览页查询访问bucket的Endpoint; 可以在集群中一个节点挂载OSS Bucket测试是否可行; 创建PV

通过OSS卷创建PV资源类型,配置PV唯一性标签alicloud-pvname: pv-oss,“pv-oss”为PV Name;

配置storageClassName: oss,标识此PV为oss存储类型,只会与oss类型的PVC绑定;

apiVersion: v1 kind: PersistentVolume metadata: name: pv-oss labels: alicloud-pvname: pv-oss spec: capacity: storage: 5Gi accessModes: - ReadWriteMany storageClassName: oss flexVolume: driver: "alicloud/oss" options: bucket: "docker" url: "oss-cn-hangzhou.aliyuncs.com" akId: "***" akSecret: "***" otherOpts: "-o max_stat_cache_size=0 -o allow_other"

options支持的参数:

bucket:目前只支持挂载 Bucket,不支持挂载 Bucket 下面的子目录或文件。

url: OSS Bucket的endpoint,挂载 OSS 的接入域名。

akId: 用户的 access id 值。

akSecret:用户的 access secret 值。

otherOpts: 挂载 OSS 时支持定制化参数输入,格式为: -o **。 参考文档

创建应用

PVC通过配置selector,指定与创建的oss PV进行绑定;

配置storageClassName: oss,表示至于OSS类型存储卷绑定;

OSS为共享存储,可以同时由多个Pod挂载一个bucket;

kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-oss spec: accessModes: - ReadWriteMany storageClassName: oss resources: requests: storage: 5Gi selector: matchLabels: alicloud-pvname: pv-oss --- apiVersion: apps/v1 kind: Deployment metadata: name: oss-static labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 volumeMounts: - name: pvc-oss mountPath: "/data" - name: pvc-oss mountPath: "/data1" livenessProbe: exec: command: - sh - -c - cd /data initialDelaySeconds: 30 periodSeconds: 30 volumes: - name: pvc-oss persistentVolumeClaim: claimName: pvc-oss 健康检查使用说明

OSSFS通过s3fs进行bucket挂载,是在用户态挂载的文件系统(FUSE);OSSFS在kubelet重置的时候会重新启动,这时容器内部的bind目录已经不可用,需要重启容器;配置健康检查能保证容器内oss目录不可用时重启容器,进而重新bind oss目录;(升级最近版本flexvolume可解决此问题)

livenessProbe 参数说明:

command:sh -c cd /oss-path;语法如上面示例所示,目录为容器内部的oss对应目录,多个目录时写一个即可; initialDelaySeconds:容器启动后开始检查的时间; periodSeconds:检查时间周期; 高可用验证

创建服务:

# kubectl create -f oss.yaml persistentvolume "pv-oss" created persistentvolumeclaim "pvc-oss" created deployment.apps "oss-static" created # kubectl get pod NAME READY STATUS RESTARTS AGE oss-static-5d8cd48d96-9gc6c 1/1 Running 0 3s

OSS Bucket上创建临时文件:

# kubectl exec oss-static-5d8cd48d96-9gc6c ls /data | grep tmpfile # kubectl exec oss-static-5d8cd48d96-9gc6c touch /data/tmpfile # kubectl exec oss-static-5d8cd48d96-9gc6c ls /data/ | grep tmpfile tmpfile

删除Pod,查看新创建Pod数据:

# kubectl delete pod oss-static-5d8cd48d96-9gc6c # kubectl get pod NAME READY STATUS RESTARTS AGE oss-static-5d8cd48d96-bfwb2 1/1 Running 0 14s # kubectl exec oss-static-5d8cd48d96-bfwb2 ls /data | grep tmpfile tmpfile


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭