MariaDB & K8s:使用持久卷部署 MariaDB 和 WordPress

在之前的博客文章 MariaDB & K8s:创建 Secret 并在 MariaDB 部署中使用它 中,我们使用了 Secrets 资源来隐藏机密的 root 用户数据。而在本系列再之前的博客文章 MariaDB & K8s:容器/部署之间的通信 中,我们在一个 Pod 中创建了 2 个容器(即 MariaDB 和 phpmyadmin)。那种部署没有任何持久卷。

在这篇博客文章中,我们将为 MariaDB 和 WordPress 应用程序创建单独的部署(Deployments),并为两者创建服务(Service)以连接它们。此外,我们将在 MariaDB 部署的 Pod 中创建卷(Volume)。

MariaDB & K8s:创建 Secret 并在 MariaDB 部署中使用它

在上一篇博客文章中,我们创建了一个无状态应用程序,使用 K8s 资源 Deployment 进行部署,并暴露了 root 密码,这在安全性方面当然是不推荐的。K8s 允许使用特定的 K8s 资源来隐藏机密数据。

让我们看看如何在 K8s 中使用 Secrets

K8s 中的 Secrets

为了保存机密数据,可以使用一个名为 Secret 的 K8s 资源。

可以通过运行 kubectl create secret 从 CLI 创建 Secret。

在这里,我们将使用两种方法来创建 secret。

MariaDB & K8s:容器/部署之间的通信

上一篇博客文章中,我们从一个 YAML 文件创建了一个后台 Deployment 资源,该资源包含一个作为后台容器的 MariaDB 容器。

在这篇博客文章中,我们将继续创建前端容器,并通过 Service 和其他资源与后台进行通信。

关于 Services

当应用程序通过 Deployment 运行时,Pods 是动态创建和销毁的。创建时,它们会获得集群中的内部 IP 地址,并且由于它们是短暂的,因此需要一种稳定的方式来允许 Pod 之间的通信。

在 K8s 中启动 MariaDB

这是解释如何在 Kubernetes (K8s) 中使用 MariaDB 以及解释 K8s 和 MariaDB 一些重要概念的系列博客文章中的第一篇。

这篇博客文章解释了如何使用 CLI 在 K8s 中将 MariaDB 作为无状态应用程序启动,并探讨了您可以在 CLI 上运行的不同命令。

前提条件是您已安装 kubectl(它也将安装 Docker 运行时)和 minikube(本地 K8s)。

首先启动 minikube

$ minikube start && kubectl get nodes
名称 状态 角色 年龄 版本
minikube Ready control-plane,master 104d v1.22.2

Pod 是一个 K8s 资源,也是 K8s 中最小的单位。

新赞助商:沙夫豪森理工学院 (Schaffhausen Institute of Technology)

来自 MariaDB 基金会和关于 MariaDB 基金会的好消息:沙夫豪森理工学院 (SIT) 成为我们新的白金赞助商。随着额外资金的注入以及 Serguei Beloussov 在董事会层面向 MariaDB 基金会提供的见解,我们期望能够更好地推动 MariaDB 基金会围绕开放、采用和持续性展开的使命。

介绍 SIT

鉴于我们迄今为止的顶级赞助商名单只包含业界相当熟悉的名字:星展银行、Visma、IBM、微软、阿里巴巴、腾讯和 Service Now,更不用说同名的 MariaDB Corporation,这次事件标志着我们与赞助商合作的首次尝试。

我们与乌克兰同在

这是一篇很难写的博客文章。它涉及到战争。但不是文字之战。这是一场真正的战争,人们正在死去。无辜的人们。你们都看到了照片和视频,我的任务不是描述那些。

MariaDB 基金会的反应有些迟缓。这是因为我们与乌克兰和俄罗斯的开发者都有紧密的联系,我们希望做正确的事情,无论是作为个人还是作为基金会。请明确一点,MariaDB 基金会与乌克兰同在;话虽如此,博客的其余部分并非以第一人称复数撰写。

新服务 – quay.io/mariadb-foundation/mariadb-devel

在 MariaDB 的开发过程中,测试了很多东西。然而,最重要的要测试的工作负载是那些我们无法访问的,那就是您的工作负载。

由于你们中的许多人都在运行自己的 CI,我们想邀请您加入 MariaDB 的测试。quay.io/mariadb-foundation/mariadb-devel 是一个容器仓库,使用了我们主要稳定分支的最新代码。任何代码进入这些分支时,都经过了审查并通过了我们的测试。修改的开发者认为它已经完成,所以这是获取这些代码并在您的工作负载上进行测试的绝佳时机。

Docker 官方仓库 – MariaDB 镜像维护

Docker 官方仓库的 MariaDB 镜像现在由 MariaDB 基金会维护,并且已经维护了六个月。如果您没有注意到,我们会认为这是一个赞美,因为之前的 Docker 官方仓库维护者 Infosiftr 已经做得很好。Infosiftr 在发布前仍会提供有价值的质量保证。

有什么变化?

在我们社区的协助下,我们所做的是:

时区

  • 继续 Infosiftr 贡献的 MARIADB_* 环境变量命名,并为了一致性添加了 MARIADB_INITDB_SKIP_TZINFO。
  • 允许更改时区