网站首页 > 博客文章 正文
说到数据存储,大家首先想到的是什么?
系统日志?
应用软件?
大数据?
临时文件?
配置文件?
密码、密钥?
不管你有什么需求,Kubernetes都能帮你搞定。 对于需求1-4,我们可以采用Volume的方式; 对于需求5,可以采用Configmap;对于需求6,则要采用Secret。下面我们就逐一介绍一下吧。
Volume
其实Volume和Docker的数据卷Data Volume的概念是一脉相承的。就是通过将系统的特定目录以Volume的形式mount到Kubernetes的POD中。其中又分成五种形式:
emptyDir
hostPath
storage provider
PersistentVolume - PersistentVolumeClaim
StorageClass - PersistentVolumeClaim
晕不晕?大家不用着急,我们稍微解释一下就清楚了。
emptyDir最形象的比喻,就是靶场射击模式的Docker Volumes,完全由系统管理分配资源,将一个系统目录以指定的读写形式mount到容器指定目录。数据将保留到POD消失为止。
hostPath,那就类似狩猎模式的Docker Bind Mounts,将用户指定的主机系统目录mount到容器内。数据将始终在物理节点上保留。缺点是和节点的目录有紧耦合的限制,使用较少。
stoarge provider是将公有云或分布式存储(Ceph等)上的物理卷映射给容器,具体的配置方式可以参见各云平台文档。因为是脱离于服务器的物理卷,所以数据不会因为POD和服务器节点的故障而销毁。
后续的两种模式才是最常见的Kubernetes Volume管理模式。我们将在下一节带着大家一起来实战。
Secret
Secret就是Kubernetes容器内密码密钥等敏感信息的传递方式。Secret的创建和使用方式也有好几种。我们这里重点介绍最常见的一种使用方式的具体步骤:
YAML方式创建Secret
运行base64编码命令获得admin(测试用户名)和password(测试密码)的数值
配置secret.yaml文件
采用类似Volume的方式将Secret读入容器内。这种数据传递方式的好处是当secret通过修改YAML文件,并运行kubectl apply -f secret.yaml更新后可以迅速被同步到容器内,从而直接修改容器的参数配置。
具体的完整配置过程将和emptyDir一起在下一节内演示。
Configmap
Configamp就是Kubernetes容器内应用配置文件的传递方式。Configmap的创建和使用方式也有好几种。而每一种都和Secret几乎一致。不同处是Configmap的YAML文件中的kind类型为Configmap,同时所有的数值都是明文输入,不需要base64b编码的。
猜你喜欢
- 2024-09-11 K8S从懵圈到熟练 - 我们为什么会删除不了集群的命名空间?
- 2024-09-11 从零开始入门 K8s | Kubernetes 存储架构及插件使用
- 2024-09-11 「云原生」Spark on k8s 讲解与实战操作
- 2024-09-11 K8S扫盲什么是云?什么是云架构?什么是云原生?什么是K8S?
- 2024-09-11 K8S | 核心原理分析(k8s原理图)
- 2024-09-11 《深入浅出Prometheus》 原理、应用、源码与拓展详解
- 2024-09-11 Kubernetes原理最全详解(图文全面总结)
- 2024-09-11 Kubernetes(k8s)CNI(flannel)网络模型原理
- 2024-09-11 「云原生」k8s 中的 hostNetwork 和 NetworkPolicy 讲解与实战操作
- 2024-09-11 「云原生」Kubernetes(k8s)最完整版环境部署(V1.24.1)
你 发表评论:
欢迎- 06-23MySQL合集-mysql5.7及mysql8的一些特性
- 06-23MySQL CREATE TABLE 简单设计模板交流
- 06-23MYSQL表设计规范(mysql设计表注意事项)
- 06-23MySQL数据库入门(四)数据类型简介
- 06-23数据丢失?别慌!MySQL备份恢复攻略
- 06-23MySQL设计规范(mysql 设计)
- 06-23MySQL数据实时增量同步到Elasticsearch
- 06-23MySQL 避坑指南之隐式数据类型转换
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)