python如何直接访问kubernetes服务主机?

How to access kubernetes service host directly in python?

我在 kubernetes 中有一个 mysql pod 运行,该服务公开为 ClusterIP。当我在 kubernetes 中 grep SERVICE 时,我得到

MYSQL_SERVICE_SERVICE_HOST=10.152.183.135

我目前将其作为环境变量传递到后端的 deployment.yml 文件中,并使用 os.getenv() 函数访问它是 Python 后端。

我能否在 python 中直接将此主机名称为 mysql_host = "{}".format(MYSQL_SERVICE_SERVICE_HOST),这样就不需要将其作为 env 变量传递。谁能帮我一把?

假设 Python 也在同一个 Kubernetes 集群中 运行。您不需要传递 MySQL 主机名。您应该能够使用 MySQL 服务名称从 Python pod 访问 MySQL 服务。

使用以下格式

<mysql-service-name>.<namespace>.svc.cluster.local