gpt4 book ai didi

mysql - 从 kubernetes 将 mysql 主机列入白名单

转载 作者:行者123 更新时间:2023-11-29 15:11:19 26 4
gpt4 key购买 nike

我目前正在尝试使用 istio 在 kubernetes 上构建我的服务,但在尝试将允许通过 mysql.user 表连接到 Mysql 数据库的所有主机 IP 列入白名单时遇到问题。

新部署后我总是收到以下错误:主机“X.X.X.X”不允许连接到此 MySQL 服务器

知道每次我部署服务时,总是会弹出一个新的 pod IP,并且我必须添加用新主机 IP 替换旧用户。我真的很想避免使用“%”作为主机。

有什么办法可以只注册节点IP来保持其持久性吗?

最佳答案

Kubernetes 和 Istio 都提供网络级保护,将允许的主机设置为“全部”是安全的。

Kubernetes network policy可能是您正在寻找的最佳集群级别匹配。您可以将数据库本身设置为接受来自所有地址的连接,但随后设置网络策略来拒绝来自具有特定标签集的 pod 之外的连接。由于您通过标签对此进行控制,因此任何具有适当标签集的新 Pod 都将自动授予访问权限,而无需手动更改。

根据您的需要,ClusterIP service 给出的默认保护可能对你来说就足够了。如果服务是 ClusterIP 但不是任何其他类型,则从集群外部无法访问该服务;没有网络路径可以访问它。这通常足以防止随意的网络窥探者找到您的数据库。

Istio 的 authorization系统在网络层面更加强大和健壮。它可以限制调用者的 Kubernetes 服务帐户进行调用,并使用 TLS 证书而不仅仅是 IP 地址来识别调用者。但是,它默认情况下并未启用,并且根据我有限的使用经验,很容易意外地将其配置为执行阻止 Kubernetes 运行状况检查或 Prometheus 指标探测等操作。如果您对 IP 级安全性感到满意,这可能比您需要的更强大。

关于mysql - 从 kubernetes 将 mysql 主机列入白名单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60037016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com