提问者:小点点

无法在Docker Desktop下访问localhost上的应用程序库伯内特斯


我一直在使用k3s库伯内特斯实现在服务器上成功运行应用程序堆栈。我现在正在尝试将其部署在Docker桌面的WindowsPC上。在localhost上访问应用程序时,我没有找到404。

  • 我尝试使用'localhost','127.0.0.1'和'kubernetes. docker.内部'(后者在安装时由Docker Desktop分配给127.0.0.1)-没有工作。
  • 我已经用端口80、8000、443、8443等尝试了所有这些主机名。运气不好。

我使用Traefik作为入口控制器,打开TLS,证书由cert-manager颁发。对于本地部署,我使用cert-manager自签名选项。我也从我的入口中删除了TLS规范,但没有区别。

这是我的入口定义,使用“kubernetes. docker.内部”作为主机:

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: traefik-ingress
      annotations:
        kubernetes.io/ingress.class: "traefik"
        cert-manager.io/issuer: self-signed
    spec:
      tls:
        - secretName: s3a-tls-certificate-secret
          hosts:
            - kubernetes.docker.internal
      rules:
      - http:
          paths:
            - path: /
              pathType: Prefix
              backend:
                service:
                  name: s3a-frontend
                  port:
                    number: 80
  • 当我尝试https://kubernetes. docker.内部(隐含端口443),在第一次尝试,Chrome显示我不安全的自签名证书,按高级继续的东西,但当我继续,我得到404页没有找到。
  • 当我尝试纯超文本传输协议://kubernetes. docker.内部(隐含端口80),我得到ChromeERR_EMPTY_RESPONSE。
  • 当我从入口中完全删除TLS内容时,它对端口超文本传输协议和https的操作与上述完全相同。
  • 您会看到规范/规则没有指定特定的主机,即规范适用于所有主机。我尝试将其修复为托管“kubernetes. docker.内部”,但正如预期的那样,它没有任何区别。

目标服务“s3a-前端”在其暴露的端口80上运行:我可以在直接访问其节点端口时访问它,但不能通过入口访问。

编辑:Traefik入口控制器附带k3s,但我在Docker Desktop中手动安装了它。当我附加到traefik pod时,当我访问https://kubernetes. docker.内部时,我可以看到正在记录的请求,这是日志。您可以看到集群健康检查(“ping@internal”),还有我对root ("/") 的请求,然后Chrome对网站图标的请求,这两个请求都没有返回响应代码。

10.1.0.1     - - [05/Nov/2021:16:36:23 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 2141 "ping@internal" "-" 0ms
192.168.65.3 - - [05/Nov/2021:16:36:24 +0000] "GET / HTTP/2.0" - - "-" "-" 2142 "-" "-" 0ms
10.1.0.1     - - [05/Nov/2021:16:36:24 +0000] "GET /ping HTTP/1.1" 200 2 "-" "-" 2143 "ping@internal" "-" 0ms
192.168.65.3 - - [05/Nov/2021:16:36:24 +0000] "GET /favicon.ico HTTP/2.0" - - "-" "-" 2144 "-" "-" 0ms

/END编辑

netstat说Docker本身正在监听这些端口:如果Docker本身正在使用它,我如何声明这些端口,或者这是转移注意力?

系统

  • Windows 10 Pro,10.0.19043
  • WSL2
  • Docker Desktop报告引擎v20.10.8

共1个答案

匿名用户

我无法在Docker Desktop上使用它。我切换到Rancher Desktop并且它起作用了。