首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图让Traefik识别CockroachDB仪表板

试图让Traefik识别CockroachDB仪表板
EN

Stack Overflow用户
提问于 2018-08-20 11:55:06
回答 1查看 240关注 0票数 0
  • Windows 10上的UsingMiniKube
  • 我安装了特雷菲克,按照这里的指令,使用了一个Daemonset

我使用以下方法安装了CockroachDB (CD):

helm install --name my-release-cockroachdb stable/cockroachdb

在创建服务时,我希望Traefik能够找到CockroachDB仪表板,但它没有。所提供的服务如下:

代码语言:javascript
复制
{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "my-release-cockroachdb-cockroachdb",
    "namespace": "default",
    "selfLink": "/api/v1/namespaces/default/services/my-release-cockroachdb-cockroachdb",
    "uid": "00316801-a468-11e8-8b41-00155d296111",
    "resourceVersion": "16247",
    "creationTimestamp": "2018-08-20T10:58:42Z",
    "labels": {
      "chart": "cockroachdb-1.2.2",
      "component": "my-release-cockroachdb-cockroachdb",
      "heritage": "Tiller",
      "release": "my-release-cockroachdb"
    },
    "annotations": {
      "prometheus.io/path": "_status/vars",
      "prometheus.io/port": "8080",
      "prometheus.io/scrape": "true",
      "service.alpha.kubernetes.io/tolerate-unready-endpoints": "true"
    }
  },
  "spec": {
    "ports": [
      {
        "name": "grpc",
        "protocol": "TCP",
        "port": 26257,
        "targetPort": 26257
      },
      {
        "name": "http",
        "protocol": "TCP",
        "port": 8081,
        "targetPort": 8081
      }
    ],
    "selector": {
      "component": "my-release-cockroachdb-cockroachdb"
    },
    "clusterIP": "None",
    "type": "ClusterIP",
    "sessionAffinity": "None",
    "publishNotReadyAddresses": true
  },
  "status": {
    "loadBalancer": {}
  }
}

代码语言:javascript
复制
{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "my-release-cockroachdb-cockroachdb-public",
    "namespace": "default",
    "selfLink": "/api/v1/namespaces/default/services/my-release-cockroachdb-cockroachdb-public",
    "uid": "002ec344-a468-11e8-8b41-00155d296111",
    "resourceVersion": "16186",
    "creationTimestamp": "2018-08-20T10:58:42Z",
    "labels": {
      "chart": "cockroachdb-1.2.2",
      "component": "my-release-cockroachdb-cockroachdb",
      "heritage": "Tiller",
      "release": "my-release-cockroachdb"
    }
  },
  "spec": {
    "ports": [
      {
        "name": "grpc",
        "protocol": "TCP",
        "port": 26257,
        "targetPort": 26257
      },
      {
        "name": "http",
        "protocol": "TCP",
        "port": 8081,
        "targetPort": 8081
      }
    ],
    "selector": {
      "component": "my-release-cockroachdb-cockroachdb"
    },
    "clusterIP": "10.105.70.122",
    "type": "ClusterIP",
    "sessionAffinity": "None"
  },
  "status": {
    "loadBalancer": {}
  }
}

这最终告诉我,我可以使用:

kubectl port-forward my-release-cockroachdb-cockroachdb-0 8080

若要访问CD仪表板,请执行以下操作。正如我估计的那样,Traefik已经消耗了8080,我编辑了这些服务(如您在上面看到的使用8081),然后:

kubectl port-forward my-release-cockroachdb-cockroachdb-0 8081

但这就产生了:

代码语言:javascript
复制
E0820 21:33:59.676164  432152 portforward.go:331] an error occurred forwarding 8081 -> 8081: error forwarding port 8081 to pod 8b7db5a2feed08f1bc329db69f9623a0c548d5ffae002236c5d7a4181ba326d3, uid : exit status 1: 2018/08/20 11:33:57 socat[44354] E connect(5, AF=2 127.0.0.1:8081, 16): Connection refused
E0820 21:33:59.681160  432152 portforward.go:331] an error occurred forwarding 8081 -> 8081: error forwarding port 8081 to pod 8b7db5a2feed08f1bc329db69f9623a0c548d5ffae002236c5d7a4181ba326d3, uid : exit status 1: 2018/08/20 11:33:57 socat[44355] E connect(5, AF=2 127.0.0.1:8081, 16): Connection refused

所以我的问题是:

  1. 如何让Traefik自动检测CockroachDB服务,特别是CockroachDB管理GUI
  2. 如何连接到Traefik背后的蟑螂管理GUI?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-20 12:28:27

舵机图表中的cockroach-statefulset.yaml从不在启动命令中设置http端口。

你需要这样做:

  • 将CockroachDB UI的端口保留在:8080
  • 或者:正确地将自定义端口一直传递到cockroach start命令行。这可以通过--http-port标志来完成。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51930224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档