gpt4 book ai didi

kubernetes - Windows 主机 + vagrant + kubectl 端口转发 : stuck inside vagrant

转载 作者:行者123 更新时间:2023-12-02 11:37:52 24 4
gpt4 key购买 nike

我正在使用安装了 vagrant box 的 Windows 笔记本电脑,我有一个 kubectl 客户端来管理一些外部 kubernetes 集群。

出于调试目的,我想通过 kubectl 进行端口转发并从主机访问该端口。这从 vagrant 内部到 kubernetes 集群非常有效,但显然有些东西不能与从主机到 vagrant 的 vagrant 端口转发结合使用。

这是我的设置:

  • Vagrant 中的端口转发:
    config.vm.network "forwarded_port", guest: 8080, host: 8080, auto_correct:false
  • 在 Kubernetes 中启动 nginx 容器:
    kubectl run -i -t --image nginx test
  • 将端口转发到 localhost(在 vagrant 内部):
    kubectl port-forward test-64585bfbd4-zxpsd 8080:80
  • 测试在 vagrant-box 中运行的 nginx:
    vagrant@csbox:~$ curl http://localhost:8080
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    body {
    width: 35em;
    margin: 0 auto;
    font-family: Tahoma, Verdana, Arial, sans-serif;
    }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p>

    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>

    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>

  • 作品。
  • 现在升级 - 在 Windows 主机上:
    PS U:\> Invoke-WebRequest http://localhost:8080

    Invoke-WebRequest : The underlying connection was closed: An unexpected error occurred on a receive.
    At line:1 char:1
    + Invoke-WebRequest http://localhost:8080
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

  • 不工作。

    据我了解 - 只需查看端口转发,一切都应该没问题。你有什么想法为什么这不像预期的那样工作?

    最佳答案

    默认情况下,kubectl port-forward绑定(bind)到地址 127.0.0.1 .这就是为什么您无法在 vagrant 之外访问它的原因。解决方案是制作 kubectl port-forward绑定(bind)到 0.0.0.0使用参数 --address 0.0.0.0
    运行命令:

    kubectl port-forward test-64585bfbd4-zxpsd --address 0.0.0.0 8080:80

    将解决您的问题。

    关于kubernetes - Windows 主机 + vagrant + kubectl 端口转发 : stuck inside vagrant,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49940964/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com