在上篇博客 MariaDB & K8s: 创建密钥并在 MariaDB 部署中使用它 中,我们使用 Secrets 资源来隐藏机密的 root 用户数据,而在该系列之前的博客 MariaDB & K8s: 容器/部署之间的通信 中,我们在一个 Pod 中创建了 2 个容器(即 MariaDB 和 phpmyadmin)。 这种部署没有任何持久卷。
在本篇博客中,我们将为 MariaDB 和 WordPress 应用程序创建单独的部署,并为两者创建一个服务以便将它们连接起来。 此外,我们将在 MariaDB 部署的 Pod 中创建一个 Volume。
……
在上篇博客中,我们创建了一个无状态应用程序,使用 K8s 资源 Deployment 部署了它,并暴露了 root 密码,这在安全性方面当然是不推荐的。 K8s 允许使用特定的 K8s 资源来隐藏机密数据。
让我们看看如何在 K8s 中使用 Secrets。
K8s 中的 Secrets
为了保存机密数据,可以使用名为 Secret 的 K8s 资源。
可以通过运行 kubectl create secret 从 CLI 创建 Secret。
在这里,我们将使用两种方法来创建 secret。
……
Seppo Jaakola 将在 Security MariaDB Server Fest(2022 年 4 月 6 日,星期三)上介绍“MariaDB Galera 集群安全”主题。
我目前正在观看他的演讲。 让我与您分享一些细节。 Seppo 没有谈论 Galera 默认支持的本机 MariaDB 安全功能,但由于分布式集群拓扑,还需要额外的安全相关措施。 他谈到了集群拓扑、集群通信安全、Galera 增强的数据静态加密以及新的 10.9 功能:按 IP 允许列表进行节点筛选。
您有什么问题要问 Seppo 吗?
……
在之前的博客中,我们从一个 YAML 文件创建了一个后台 Deployment 资源,它由一个单独的容器 (MariaDB) 组成,作为后台容器。
在这篇博客中,我们将继续创建前端容器,并通过 Service 和其他资源与后端进行通信。
关于服务
当通过 Deployment 运行应用程序时,Pods 会动态创建和销毁。 创建时,它们会获得集群中的内部 IP 地址,并且由于它们是临时的,因此需要一种稳定的方式来允许 Pod 之间的通信。
……
SHOW ANALYZE
如果您曾经使用 MariaDB 进行查询性能故障排除,您应该
熟悉 MariaDB 的 ANALYZE for statements 功能。 它与某些其他数据库系统中的 EXPLAIN ANALYZE 所做的事情类似:ANALYZE query 运行 query 并生成 EXPLAIN 输出,并附加来自查询执行的数据
FROM orders, customer
WHERE
customer.c_custkey = orders.o_custkey AND
customer.c_acctbal < 0 AND
orders.o_totalprice > 200*1000
+—-+————-+———-+——+—————+————-+———+——————–+——–+——–+———-+————+————-+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | r_rows | filtered | r_filtered | Extra |
+—-+————-+———-+——+—————+————-+———+——————–+——–+——–+———-+————+————-+
| 1 | SIMPLE | customer | ALL | PRIMARY,…
……
计划赶不上变化。 我不想用细节打扰您,所以您必须相信我说的话:与俄罗斯入侵乌克兰有关的事件导致我们安全主题的 MariaDB Server Fest 延迟了一周,从 3 月 30 日(星期三)推迟到 2022 年 4 月 6 日(星期三)。
这可能是当前战争造成的后果中最轻微的一个。 尽管如此,我们对造成的不便表示歉意。
……
MariaDB 10.9 预览版本引入了一个 MySQL 兼容的语法扩展,即范围表示法。在 JSON 路径表达式中添加了 'last' 关键字,这是根据 MDEV-22224 和 MDEV-27911 中的要求实现的。此外,现在也支持负索引。范围表示法使用 'to' 关键字实现,'last' 关键字基本上是一个数组元素选择器。
语法:
范围表示法
[M to N] 选择从索引 M 到 N 的一系列元素。
Last 关键字
[last-N] / [last] 分别选择倒数第 N 个元素和最后一个元素。
……
我们很高兴地宣布在 新发布模型下发布的第三个 MariaDB 系列版本 MariaDB 10.9.0。
更快地完善 MariaDB
新模型的目的之一是以一种能够支持稳定性的形式,更快地将功能交付给用户,通过允许更容易地测试新功能,并将其与同时开发的其他新功能分开。
MariaDB 10.9 的候选功能
有四个独立的预览版本,其中包含以下正在考虑在 10.9.1 中发布的功能:
SHOW ANALYZE FORMAT=JSON
- 扩展 SHOW EXPLAIN 以支持 SHOW ANALYZE [FORMAT=JSON] (MDEV-27021)
- 添加 EXPLAIN FOR CONNECTION 语法支持到 SHOW EXPLAIN (MDEV-10000)
JSON 范围表示法
- 实现 JSONPath 的范围表示法 (MDEV-27911)
- 支持 JSONPath 负索引 (MDEV-22224)
- JSON_OVERLAPS 函数 (MDEV-27677)
异步 redo 日志写入
- 异步 redo 日志写入 (MDEV-26603)
杂项
- 为 mysqlbinlog 实现 –do-domain-ids、–ignore-domain-ids 和 –ignore-server-ids 选项 (MDEV-20119)
- information_schema.tables.table_type 现在显示 TEMPORARY
用于本地临时表。
……