关于 kubernetes 与外部世界联网的困惑

Confusion about kubernetes Networking with external world

我有一个困惑。当我尝试访问外部托管或集群外部的 mysql 等服务时,发送到 mysql 的数据包的源地址是什么?为了在 mysql 中创建用户以便 api 访问它时变得简单,我该如何创建它?

例如: 创建用户 'newuser'@'IP or HOSTNAME' 'user_password';

IP 应该是什么? pod IP 还是主机 IP?

如果 pod 在任何节点中生成但它可以通过 mysql 进行身份验证,是否有任何方法?

谢谢

当访问 kubernetes 集群外的服务时,源 IP 将是节点的常规 IP,应用程序 运行正在运行。 因此,如果您直接在节点 ("metal") 或容器内 运行 应用程序,则没有区别。 Kubernetes 将 select 一个合适的节点来调度容器 (pod),因此这可能会在生命周期内发生变化。

如果您想提高安全性,除了密码之外,您还应该调查具有相互身份验证的 TLS。源 IP 不是云或 kubernetes 等动态环境的最佳做法。