在实践之前,我们先来看看 Helm 的架构。 Helm 有两个重要的概念:chart 和 release。 chart 是创建一个应用的信息集合,包括各种 Kubernetes 对象的配置模板、参数定义、依赖关系、文档说明等。chart...
阅读(17) 评论(0)
本章我们将学习 Helm,Kubernetes 的包管理器。 每个成功的软件平台都有一个优秀的打包系统,比如 Debian、Ubuntu 的 apt,Redhat、Centos 的 yum。而 Helm 则是 Kubernetes 上的...
阅读(12) 评论(0)
Secret 可以为 Pod 提供密码、Token、私钥等敏感数据;对于一些非敏感数据,比如应用的配置信息,则可以用 ConfigMap。 ConfigMap 的创建和使用方式与 Secret 非常类似,主要的不同是数据以明文的形式存放...
阅读(23) 评论(0)
通过 Volume 使用 Secret,容器必须从文件读取数据,会稍显麻烦,Kubernetes 还支持通过环境变量使用 Secret。 Pod 配置文件示例如下: 创建 Pod 并读取 Secret。 通过环境变量 SE...
阅读(32) 评论(0)
Pod 可以通过 Volume 或者环境变量的方式使用 Secret,今天先学习 Volume 方式。 Pod 的配置文件如下所示: ① 定义 volume foo,来源为 secret mysecret。 ② 将...
阅读(19) 评论(0)
可以通过 kubectl get secret 查看存在的 secret。 显示有两个数据条目,kubectl describe secret 查看条目的 Key: 如果还想查看 Value,可以用&n...
阅读(15) 评论(0)
应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥。将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret。 Secret 会以密文的方式存储数据,避免了直接在配置文件中保存敏感...
阅读(37) 评论(0)
本节演示如何为 MySQL 数据库提供持久化存储,步骤为: 创建 PV 和 PVC。 部署 MySQL。 向 MySQL 添加数据。 模拟节点宕机故障,Kubernetes 将 MySQL 自动迁移到其他节点。 验证...
阅读(21) 评论(0)
前面的例子中,我们提前创建了 PV,然后通过 PVC 申请 PV 并在 Pod 中使用,这种方式叫做静态供给(Static Provision)。 与之对应的是动态供给(Dynamical Provision),即如果没有满足 PVC...
阅读(15) 评论(0)
当 PV 不再需要时,可通过删除 PVC 回收。 当 PVC mypvc1 被删除后,我们发现 Kubernetes 启动了一个新 Pod recycler-for-mypv1,这个 Pod 的作用就是清...
阅读(19) 评论(0)
上一节我们介绍了 PV 和 PVC,本节通过 NFS 实践。 作为准备工作,我们已经在 k8s-master 节点上搭建了一个 NFS 服务器,目录为 /nfsdata: 下面创建一个 PV mypv1,配置文件&...
阅读(31) 评论(0)
Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。 EBS Volume...
阅读(24) 评论(0)