kubectl 端口转发和代理之间的区别

2024-01-26

kubectl proxy and kubectl port-forwarding对我来说看起来相似且令人困惑,它们的主要区别和用例是什么?


正如《How kubectl port-forward works? https://stackoverflow.com/a/51469150/6309"

kubectl port-forward将本地端口的连接转发到 Pod 上的端口。

相比kubectl proxy, kubectl port-forward更通用,因为它可以转发 TCP 流量kubectl proxy只能转发 HTTP 流量。

作为示例,请参阅“Kubernetes 端口转发变得前所未有的简单 https://medium.com/pixelpoint/kubernetes-port-forwarding-simple-like-never-before-20a8ab16370f" from 亚历克斯·巴拉什科夫 https://twitter.com/alex_barashkov:

端口转发主要用于访问内部集群资源和调试.

它是如何工作的?

一般来说,使用端口转发,您可以在“本地主机”上获取集群中启动的任何服务。
例如,如果您在 6379 上的集群中安装了 Redis,则使用如下命令:

kubectl port-forward redis-master-765d459796-258hz 7000:6379

您可以将 Redis 从集群转发到 localhost:7000,在本地访问它并执行您想做的任何操作。

对于有限的 HTTP 访问,请参阅 kubectl proxy,并且作为示例,“关于保护 Kubernetes 仪表板的安全 https://blog.heptio.com/on-securing-the-kubernetes-dashboard-16b09b1b7aca" from Joe Beda https://twitter.com/jbeda:

访问集群最简单、最常见的方式是通过 kubectl 代理。这将创建一个本地 Web 服务器,通过 Kubernetes API 服务器将数据安全地代理到仪表板。

如图所示“安装和使用 Kubernetes 仪表板的分步指南 https://medium.com/edureka/kubernetes-dashboard-d909b8b6579c" from Awanish https://twitter.com/edurekaIN:

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

使用 kubectl 访问仪表板

kubectl proxy

它将在您的机器和 Kubernetes API 服务器之间代理服务器。

现在,要在浏览器中查看仪表板,请在主虚拟机的浏览器中导航到以下地址:

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kubectl 端口转发和代理之间的区别 的相关文章

随机推荐

  • 当目标是网络路径时,FileUtils.copyFile() 不会创建文件(在 Windows 上)

    我正在使用 apache commonFileUtils copyFile https commons apache org proper commons io apidocs org apache commons io FileUtils
  • 如何学习 C 调试和最佳实践 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我用 C 语言编写了一个 Apache 模块 在某些条件下 我可以让它出现段错误 但我不知道为什么 此时 它可能是我的代码 可能是我编
  • 适用于 iOS 应用程序的 WCF 或 Web 服务 (.asmx)?

    我对网络开发和网络服务相当陌生 我一直在使用 C 在 NET 中尝试传统的 Web 服务 asmx 有人建议现在很多服务都使用 WCF 我想知道我是否应该学习 WCF 并使用它与我的 iOS 应用程序进行通信 看起来 WCF 会有一点学习曲
  • 如何在 Next.js 中使用 props 输入页面组件?

    我正在寻找正确的注释Home函数组件的参数 但遇到了一点麻烦 我希望将其注释为 events events Event 但收到 TypeScript 错误 Property events does not exist on type chi
  • 如何将输入元素(文本/选择/单选)的值发送到node.js服务器

    如何接收单选按钮和选择列表的值并将其放在文件名中 这是将使用这些值的函数 router get import function req res next var csvStream fastCsv on data function data
  • Thymeleaf/Spring - 将项目添加到从组合框到表格的列表中

    情况 有一个类称为 工具 这个工具类有一个 分发点 列表 在用户界面上 用户从组合框 也称为选项 HTML 中选择一个项目 分发位置 并将其添加到表中 然后 用户单击表单上的 提交 表格上的所有内容都会绑定到一个列表 Problem Spr
  • Mysql 数据库连接被拒绝

    我正在尝试让我的 Symfony 3 应用程序在 Amazon EC2 实例上以生产模式运行 我将代码放在正确的位置 然后尝试通过运行来设置与 Composer 的任何依赖关系 export SYMFONY ENV prod compose
  • ReactJs 全局辅助函数

    问题 我有很多小的辅助函数 它们不一定需要存在于组件中 或者也许它们可以 但它们会使该组件因大量代码而变得臃肿 我懒惰的一面只是想让这些全部都存在组件可以调用的某种全局函数 我真的很想编写好的 ReactJs 代码 问题 Reactjs 中
  • 从命令行(终端)启动 Pycharm

    我想尝试使用 PyCharm 进行明智的数学开发 通常我运行 eclipse 进行 sage 开发 但现在我想尝试使用 PyCharm 要使用 sage 环境变量启动 eclipse 在命令行中我通常执行以下操作 sage sh cd pa
  • 是否有相对 jQuery 选择器之类的东西?

    我有一个对 jquery 对象的引用this多变的 我正在寻找一种将子选择器应用于对象的方法 我在用着 this find table gt tbody gt tr gt td 但我的目标更像是 Value of this goes her
  • 全新 python 3.3.5 安装时出现 _socket 模块导入错误

    我安装了 python 3 35 并收到此错误 Traceback most recent call last File C Users Augusto PycharmProjects Plot Database py line 48 in
  • 那么属性在 void 类型上不存在,打字稿错误

    Code reset let alert this AlertCtrl create buttons ok this userservice passwordreset this email then res any gt if res s
  • 在 RESTful 架构中移动资源

    我有一个代表流程和活动的 RESTful Web 服务 每项活动都在一个且仅有一个进程内 我想表示当前所在进程与另一个进程之间的活动 移动 操作 我查看了论坛 发现人们建议使用不太标准的 MOVE 操作 其他人建议使用 PUT 但我不确定如
  • VS 2008 中的“多线程调试 DLL”运行时库选项到底在做什么?

    我在 VS 2008 中有一个创建 DLL 的解决方案 然后我在另一个应用程序中使用该 DLL 如果我进入 DLL 项目属性页并更改 DEBUG 构建的以下配置 则构建的 dll 将不再提供所需的功能 如果我把它改回来并重建 DLL 那么
  • 正则表达式中的最大十六进制值

    不使用u标志可以使用的十六进制范围是 x 00 x ff 但与u标记它达到 4 字节值 x 7fffffff x 00000000 x 7fffffff 所以如果我执行下面的代码 preg match x 00000000 x 800000
  • 遵守标准有多重要?

    对于像 C 这样的语言来说 标准的存在是必须的 好的编译器会尽最大努力 至少是大多数好的编译器 来遵守 许多编译器都有语言扩展 其中一些是标准允许的 有些则不允许 后一种例子有2个 gcc 的 typeof 微软的编译器允许纯虚函数声明同时
  • 将原始 Markdown 文本传递给 Jade

    我正在尝试我的第一个 Node jsExpress http expressjs com 应用程序 正如每个程序员都知道的那样 在测试新框架时您应该构建的第一件事就是博客 不管怎样 我想用 Markdown 写文章 然后在视图中渲染它 我看
  • 避免循环内的条件和函数调用

    我有一个看起来像这样的代码 void function int parameter for a big loop double a for a big loop double b double value if parameter 1 va
  • Python + MySQLdb 执行许多

    我正在使用 Python 及其 MySQLdb 模块将一些测量数据导入 Mysql 数据库 我们拥有的数据量相当大 目前大约有 250 MB 的 csv 文件 未来还会有更多 目前我使用cursor execute 导入一些元数据 这不是问
  • kubectl 端口转发和代理之间的区别

    kubectl proxy and kubectl port forwarding对我来说看起来相似且令人困惑 它们的主要区别和用例是什么 正如 How kubectl port forward works https stackoverf