Kubernetes 仪表板显示未经授权

2024-03-06

我使用 KUBEADM 工具 IN LOCAL 配置了具有 1 个主节点和 4 个工作节点的 kubernetes 集群。所有节点都运行良好。部署了一个应用程序并能够从浏览器访问该应用程序。我尝试了很多方法使用 kubectl 创建仪表板,但失败了。

TRY1:直接尝试使用以下命令:

$ sudo kubectl proxy --address="172.20.22.101" -p 8001 

尝试使用 url 访问仪表板http://172.20.22.101:8001/api/v1 http://172.20.22.101:8001/api/v1,但它说未经授权。

TRY2:创建了包含以下内容的仪表板-admin.yaml 文件:

apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
   name: kubernetes-dashboard
   labels:
     k8s-app: kubernetes-dashboard
roleRef:
   apiGroup: rbac.authorization.k8s.io
   kind: ClusterRole
   name: cluster-admin
subjects:
-  kind: ServiceAccount
   name: kubernetes-dashboard
   namespace: kube-system

并运行以下命令:

$ kubectl create -f dashboard-admin.yaml

它向我展示了:clusterrolebinding.rbac.authorization.k8s.io/kubernetes-dashboard created.

运行以下命令:

$ sudo kubectl proxy --address="172.20.22.101" -p 443

它运行良好。我正在访问http://172.20.22.101:443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ http://172.20.22.101:443/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/来自浏览器的 URL。它显示相同的未经授权的错误。


运行 kubectl 代理命令--接受主机 option

 kubectl proxy --address="172.20.22.101" -p 8001  --accept-hosts="^*$"

它会工作得很好。

注意:对于生产级 kubernetes 集群,不建议这样做,因为您是通过纯 http 访问仪表板。

更安全的替代方案是通过 ssh 隧道运行访问仪表板,如下所示。

在一个终端运行:

kubectl proxy 

在另一个终端中运行到 localhost:8001 (默认的 kubernetes 仪表板端口)的 ssh 隧道

ssh -NT -l SSH_USER -p SSH_PORT K8S_CONTROLLER_IP_ADDR -L 8001:localhost:8001
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes 仪表板显示未经授权 的相关文章

随机推荐

  • Prisma 部署 Docker 错误“无法连接到服务器”

    这是我已经完成的步骤 prisma init 我在本地 不存在 中为数据库设置了 postgresql 它创建了 3 个文件 datamodel graphql docker compose yml prisma yml docker co
  • 在Databricks(DBFS)中递归列出目录和子目录的文件

    使用python dbutils 如何在Databricks文件系统 DBFS 中递归显示当前目录和子目录的文件 关于 dbutils fs ls 和 fs 魔法命令 的令人惊讶的事情是它似乎不支持任何递归开关 然而 由于 ls 函数返回
  • 如何让VIM在写信时播放打字机声音?

    写了很多之后Windows 上的 Q10 http www baara com q10 我已经习惯了每次按键时发出的打字机声音 至少对我来说 拥有这种声音反馈感觉很棒 另一方面 在 Linux 上 我喜欢用 VIM 编写它 因为它的编辑功能
  • 如何使用 iOS 应用程序中的 X.509 证书数据对 PDF 进行数字签名

    我正在我的应用程序中生成 PDF 我想为通过我的应用程序生成的这些 pdf 提供最好的安全性 我添加了 Apple 提供的默认安全选项 例如所有者密码 允许复制 允许打印等 但我想添加我的证书信息或将其称为使用自定义证书 X 509 证书
  • C ++对`vtable的未定义引用

    我的问题与我发布的另一个问题有所不同 我一开始使用多个文件 并决定暂时将其全部放入一个 main cpp 文件中 以使其正常工作 主要 cpp include
  • Java 中的 Int 到英语单词

    我在这里想问一些奇怪的事情 我想问是否有任何方法 逻辑可以将整数值转换为包含数字英文单词的字符串值 例如 用户输入 22 并得到输出 22 或 2 Thanks 查看this http www rgagnon com javadetails
  • 如何使用 ASP.NET Identity (OWIN) 访问 Facebook 私人信息?

    我正在 ASP NET MVC 5 中开发一个网站 当前使用 RC1 版本 该网站将使用 Facebook 进行用户身份验证和检索初始个人资料数据 对于身份验证系统 我使用新的基于 OWIN 的 ASP NET Identity 引擎 ht
  • 如果用户使用 Google 登录,ASP.NET Core Identity 2.0 SignoutAsync 不会注销用户

    我已设置并运行 Asp net Core Identity 版本 2 0 我发现 signinManager SignoutAsync用户登录 Google 后不会注销用户 当我返回登录方法时 它仅显示用户已登录 其声明对象仍然完好无损 代
  • 为什么 Python 中没有元组理解?

    众所周知 有列表理解 比如 i for i in 1 2 3 4 并且有字典理解 比如 i j for i j in 1 a 2 b items but i for i in 1 2 3 最终会出现在发电机中 而不是tuple理解 这是为什
  • 创建功能有限的 Java 应用程序的试用版 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在寻找有关如何实现 java 应用程序试用版的想法 大多数帖子都是关于创建试用软件 并限制其停止工作的时间 就我而言 我想创建一个功能有限的
  • 找不到 EditorOptionDefinition 导出错误

    在 Visual Studio 2013 中 尝试打开 C 文件时出现以下错误 No EditorOptionDefinition export found for the given option name Tabs ConvertTab
  • `find -exec` 中这个奇怪的语法是什么?

    最近我遇到了一个奇怪的 bash 脚本 它用于从内部调用自定义 bash 函数find exec 我开发了以下简单的脚本来演示我需要解释的功能 在下面的示例中 函数foo每个都会被调用find result foo echo export
  • 为什么在 Kotlin 中启动新的 Android Activity 需要 Java 类? [复制]

    这个问题在这里已经有答案了 如果我想在 Android 中启动一个新的 Activity 我需要将 Activity 传递给 Intent 但是 不要像这样简单地传递 Kotlin 类 val intent Intent Intent th
  • 如何在 iOS 5 中禁用某些部分显示为 TVOut?

    众所周知 在 iOS 5 中 我们不需要添加单独的 TVOut 功能代码行 他们已将该功能集成为内置功能 我的问题是 如果我的应用程序中有一些可用的自定义视图 但我不想将其显示为 TVOut 演示文稿 该怎么办 它应该仅显示在设备上 而不是
  • 覆盖父级的 CSS 显示属性

    我了解如何覆盖父样式 并且我知道这个示例是人为的 但是有没有一种方法 使用内联 CSS 使子范围显示 即使其父范围设置为不显示 span style display none span style display block Test sp
  • base.html 中的 Django 变量

    base html用作所有其他页面的基本模板 base html有导航栏 在导航栏中 我想显示用户收到的消息数 因此 我需要一个像这样的变量 number of messages in the base html 但是 我应该如何将这个变量
  • 使用 sqlplus 连接到 Oracle 数据库

    我在 Unix 环境中使用以下命令连接 Oracle 数据库 sqlplus test test DESCRIPTION ADDRESS LIST ADDRESS PROTOCOL TCP HOST hostname com PORT 15
  • 无返回值的条件运算符

    我有这个代码 bool value false if value Console Write true else Console Write false 我想通过使用条件运算符来缩短它 但我找不到正确的语法 bool value false
  • 批处理文件保留十行之一

    我有一个包含 n 行的文件 n 超过 1 亿 我想输出一个仅包含 10 行中的 1 行的文件 我无法将文件分成十部分并只保留一部分 因为它必须更加随机 后来我必须进行统计分析 我不能在数据中产生强烈的偏差 我正在考虑读取文件 并为每条记录如
  • Kubernetes 仪表板显示未经授权

    我使用 KUBEADM 工具 IN LOCAL 配置了具有 1 个主节点和 4 个工作节点的 kubernetes 集群 所有节点都运行良好 部署了一个应用程序并能够从浏览器访问该应用程序 我尝试了很多方法使用 kubectl 创建仪表板