栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

K8S存储原理剖析与实战

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

K8S存储原理剖析与实战

大家好,我是张飞扬,慕课网《Java架构师成长直通车》课程架构师讲师团成员之一。

今天这篇文章我将为大家讲解K8S的存储原理。

说到数据存储,大家首先想到的是什么?

  1. 系统日志?
  2. 应用软件?
  3. 大数据?
  4. 临时文件?
  5. 配置文件?
  6. 密码、密钥?

    不管你有什么需求,Kubernetes都能帮你搞定。 对于需求1-4,我们可以采用Volume的方式; 对于需求5,可以采用Configmap;对于需求6,则要采用Secret。下面我们就逐一介绍一下吧。
Volume

其实Volume和Docker的数据卷Data Volume的概念是一脉相承的。就是通过将系统的特定目录以Volume的形式mount到Kubernetes的POD中。其中又分成五种形式:

  1. emptyDir
  2. hostPath
  3. storage provider
  4. PersistentVolume -> PersistentVolumeClaim
  5. StorageClass -> PersistentVolumeClaim

晕不晕?大家不用着急,我们稍微解释一下就清楚了。
emptyDir最形象的比喻,就是靶场射击模式的Docker Volumes,完全由系统管理分配资源,将一个系统目录以指定的读写形式mount到容器指定目录。数据将保留到POD消失为止。
hostPath,那就类似狩猎模式的Docker Bind Mounts,将用户指定的主机系统目录mount到容器内。数据将始终在物理节点上保留。缺点是和节点的目录有紧耦合的限制,使用较少。
stoarge provider是将公有云或分布式存储(Ceph等)上的物理卷映射给容器,具体的配置方式可以参见各云平台文档。因为是脱离于服务器的物理卷,所以数据不会因为POD和服务器节点的故障而销毁。
后续的两种模式才是最常见的Kubernetes Volume管理模式。我们将在下一节带着大家一起来实战。

Secret

Secret就是Kubernetes容器内密码密钥等敏感信息的传递方式。Secret的创建和使用方式也有好几种。我们这里重点介绍最常见的一种使用方式的具体步骤:

  1. YAML方式创建Secret
    运行base64编码命令获得admin(测试用户名)和password(测试密码)的数值
[root@training3 ~]# echo -n admin | base64
YWRtaW4=
[root@training3 ~]# echo -n password | base64
cGFzc3dvcmQ=

配置secret.yaml文件

apiVersion: v1
kind: Secret
metadata:
  name: userpass
data:
  username: YWRtaW4=
  password: cGFzc3dvcmQ=
  1. 生成Secret
    kubectl apply -f secret.yaml
  2. 采用类似Volume的方式将Secret读入容器内。这种数据传递方式的好处是当secret通过修改YAML文件,并运行kubectl apply -f secret.yaml更新后可以迅速被同步到容器内,从而直接修改容器的参数配置。

具体的完整配置过程将和emptyDir一起在下一节内演示。

Configmap

Configamp就是Kubernetes容器内应用配置文件的传递方式。Configmap的创建和使用方式也有好几种。而每一种都和Secret几乎一致。不同处是Configmap的YAML文件中的kind类型为Configmap,同时所有的数值都是明文输入,不需要base64b编码的。具体实战将作为作业在下一节的存储实战演示后,由大家去课后实践。

小结

大家进过本篇文章了解了Kubernets中存储的基本分类和区别。接下来,在《Java架构师成长直通车》课程里,我们将带领大家进入Volume的实战环节,了解emptyDir、PV、PVC和Secret的实际操作的更多细节。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/236461.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号