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 совместно используют одно и то же пространство имен сети, второй контейнер также будет прослушивать "127.0.0.1"
Сказав все это, в качестве комментария к вашей ситуации, это ужасная ситуация, чтобы ввести такое количество хакерских решений, чтобы обойти очень, очень простую проблему просто отсутствия жесткого кода приложения «127.0.0.1» в качестве хоста подключения Redis