我在kubernetes上设置了laravel和socketcluster安装,当尝试将redis添加到laravel时,我得到了一个关于我没有定义的环境变量的错误,所以当我打印任何容器中的所有环境变量时,我从其他服务中获得了所有变量,如下所示:
SCC_STATE_PORT_7777_TCP_PORT=7777
KUBERNETES_SERVICE_PORT=443
PHP_PORT_9000_TCP_ADDR=10.35.246.141
SOCKETCLUSTER_SERVICE_PORT=8000
RDB_SERVICE_PORT_DB=28015
REDIS_SERVICE_PORT=6379
SCC_BROKER_PORT_8888_TCP_PROTO=tcp
MARIADB_PORT_3306_TCP=tcp://10.35.247.244:3306
KUBERNETES_PORT_443_TCP_PORT=443
RDB_SERVICE_PORT_WEB=8080
RDB_PORT=tcp://10.35.250.91:28015
RDB_PORT_28015_TCP=tcp://10.35.250.91:28015
KUBERNETES_SERVICE_HOST=10.35.240.1
NGINX_PORT_80_TCP_PORT=80
PHP_SERVICE_PORT=9000
RDB_SERVICE_PORT=28015
RDB_PORT_8080_TCP_ADDR=10.35.250.91
SCC_STATE_PORT_7777_TCP_ADDR=10.35.254.120
SOCKETCLUSTER_PORT=tcp://10.35.244.112:8000
RDB_PORT_28015_TCP_ADDR=10.35.250.91
PHP_PORT=tcp://10.35.246.141:9000
PHP_PORT_9000_TCP=tcp://10.35.246.141:9000
RDB_PORT_28015_TCP_PROTO=tcp
REDIS_PORT_6379_TCP_ADDR=10.35.254.59
MARIADB_PORT_3306_TCP_PORT=3306
SCC_STATE_PORT_7777_TCP_PROTO=tcp
MARIADB_SERVICE_PORT=3306
PHP_SERVICE_HOST=10.35.246.141
PHP_PORT_9000_TCP_PROTO=tcp
RDB_PORT_8080_TCP=tcp://10.35.250.91:8080
RDB_PORT_8080_TCP_PROTO=tcp
REDIS_PORT_6379_TCP_PROTO=tcp
MARIADB_PORT_3306_TCP_ADDR=10.35.247.244
KUBERNETES_PORT_443_TCP_ADDR=10.35.240.1
NGINX_PORT_80_TCP_ADDR=10.35.247.125
REDIS_SERVICE_HOST=10.35.254.59
SCC_BROKER_SERVICE_HOST=10.35.243.129
SCC_STATE_PORT_7777_TCP=tcp://10.35.254.120:7777
NGINX_PORT=tcp://10.35.247.125:80
SOCKETCLUSTER_PORT_8000_TCP_PROTO=tcp
SCC_STATE_SERVICE_PORT=7777
SCC_STATE_PORT=tcp://10.35.254.120:7777
NGINX_PORT_80_TCP_PROTO=tcp
SOCKETCLUSTER_PORT_8000_TCP=tcp://10.35.244.112:8000
RDB_SERVICE_HOST=10.35.250.91
NGINX_SERVICE_PORT_DB=80
MARIADB_PORT_3306_TCP_PROTO=tcp
PHP_PORT_9000_TCP_PORT=9000
SOCKETCLUSTER_PORT_8000_TCP_PORT=8000
SOCKETCLUSTER_PORT_8000_TCP_ADDR=10.35.244.112
REDIS_PORT_6379_TCP=tcp://10.35.254.59:6379
NGINX_PORT_80_TCP=tcp://10.35.247.125:80
SCC_BROKER_PORT_8888_TCP=tcp://10.35.243.129:8888
KUBERNETES_PORT=tcp://10.35.240.1:443
NGINX_SERVICE_PORT=80
RDB_PORT_28015_TCP_PORT=28015
RDB_PORT_8080_TCP_PORT=8080
SCC_BROKER_SERVICE_PORT=8888
SCC_STATE_SERVICE_HOST=10.35.254.120
MARIADB_SERVICE_HOST=10.35.247.244
KUBERNETES_SERVICE_PORT_HTTPS=443
REDIS_PORT=tcp://10.35.254.59:6379
REDIS_PORT_6379_TCP_PORT=6379
SCC_BROKER_PORT=tcp://10.35.243.129:8888
NGINX_SERVICE_HOST=10.35.247.125
SCC_BROKER_PORT_8888_TCP_PORT=8888
MARIADB_PORT=tcp://10.35.247.244:3306
KUBERNETES_PORT_443_TCP_PROTO=tcp
SOCKETCLUSTER_SERVICE_HOST=10.35.244.112
SCC_BROKER_PORT_8888_TCP_ADDR=10.35.243.129
KUBERNETES_PORT_443_TCP=tcp://10.35.240.1:443当我完成此部署时:

你知道这是不是一个特征,一个遗漏的配置或者别的什么?更新:或者我是否可以禁用它?
发布于 2019-01-24 07:16:41
对于同一命名空间中的每个服务,您将获得OTHERSVC_SERVICE_HOST和OTHERSVC_SERVICE_PORT环境变量,以及一些来自遗留Docker链接功能的其他变量。我不知道有什么办法能把它们关掉。
实际上,在实践中使用这些是有问题的,因为它依赖于生产服务启动后启动的消费pod,这很难保证;DNS查找othersvc.default.svc.cluster.local可能无法在运行时解析,但不会有丢失的环境变量。相反,如果您可能使用名为MICRO_SERVICE_HOST或DATABASE_PORT之类的环境变量配置pod,则这些名称很容易被生成的环境变量“踩到”。
https://stackoverflow.com/questions/54334539
复制相似问题