gpt4 book ai didi

docker - Kubernetes Pod重定向到另一个Pod中的相同端口

转载 作者:行者123 更新时间:2023-12-02 12:18:43 25 4
gpt4 key购买 nike

我有一个带有php镜像的部署,该镜像与6379端口中的redis部署连接。

问题是php应用程序连接到其自己的pod的主机127.0.0.1中,但是redis位于另一个pod中(并且具有自己的ClusterIP服务)。

我无法更改应用程序代码,因此我想将php pod的6379端口重定向为redis端口上的相同端口。

我该怎么做?

最佳答案

kubernetes使用 socat kubectl进行端口转发,因此,如果他们如此信任它,那么似乎也可以信任它。

将其放置在与php容器同时运行的第二个容器中,以转发模式运行socat,并希望最好:

containers:
- name: my-php
# etc
- name: redis-hack
image: my-socat-container-image-or-whatever
command:
- socat
- TCP4-LISTEN:6379,fork
- TCP4:$(REDIS_SERVICE_HOST):$(REDIS_SERVICE_PORT)
# assuming, of course, your Redis ClusterIP service is named `redis`; adjust accordingly

由于所有Pod共享相同的网络 namespace ,因此第二个容器还将侦听“127.0.0.1”

说了这么多,作为对您的情况的评论,引入此数量的黑客来解决非常非常简单的问题,即没有使应用程序硬代码“127.0.0.1”作为问题,这是 可怕的情况。 Redis连接主机

关于docker - Kubernetes Pod重定向到另一个Pod中的相同端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53228517/

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