phpmyadmin “领事连接特使”无法访问服务

eeq64g8w  于 2022-11-09  发布在  PHP
关注(0)|答案(1)|浏览(143)

我有一个直接安装在主机上的MariaDB数据库和一个托管phpMyAdmin的Nomad集群。两个主机都在同一个Consul集群中。
我在尝试将phpMyAdmin连接到我的数据库时遇到一些问题。phpMyAdmin返回错误:
如果您有任何问题,真实的与我们联系。阅读问候数据包时出错。PID=26
下面是phpMyAdmin作业的配置文件

job "pma" {
  datacenters = ["nomeau"]
  region      = "OVH"
  type        = "service"

  group "pma"{
    count = 1

    network {
      mode = "bridge"

      port "http" {
        static = 8083
        to = 80
      }
    }
    service {
      name =  "pma" 
      port = "http"
      connect {
        sidecar_task {
          config {
            #Have to st privileged true to avoid crashes and error 
            #su: cannot set groups: Operation not permitted at envoy setup
            privileged = true 
            args = [
              "-c",
              "${NOMAD_SECRETS_DIR}/envoy_bootstrap.json",
              "-l",
              "debug",
              "--concurrency",
              "${meta.connect.proxy_concurrency}",
              "--disable-hot-restart"
            ]
          }
        }
        sidecar_service {
          proxy {
            upstreams {
              destination_name = "bdd"
              local_bind_port  = 3306
            }
          }
        }
      }
    }

    task "phpMyAdmin" {
      driver = "docker"
      env = {
        PMA_HOST = "127.0.0.1"
      }

      config {
        image = "phpmyadmin/phpmyadmin:latest"
        ports = ["http"]
        privileged = true
      }
    }
  }
}

下面是定义数据库服务的bdd.hcl

service {
  name = "bdd"
  id = "bdd"
  port = 3006

  connect {
    sidecar_service {}
  }
}

为了启动数据库的envoy sidecar,我使用了以下命令consul connect envoy -sidecar-for bdd -- -l debug --log-path logs/envoy.log
您将在gist here上的数据库边车代理中找到envoy日志。
我想我只是缺少一个简单的配置选项,但我不知道是哪一个。

jdg4fx2g

jdg4fx2g1#

所以,我解决了这个问题。
这是bdd.hcl中的一个简单类型。我为端口编写了3006而不是3306

相关问题