kubernetes dashboard向外网提供服务

标签: 系统架构 k8s | 发表时间:2019-07-29 15:07 | 作者:admin
出处:https://blog.haohtml.com

目前新版本的 kubernetes dashboard ( https://github.com/kubernetes/dashboard)安装了后,为了安全起见,默认情况下已经不向外提供服务,只能通过 http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 本机访问。在我们学习过程中,总有些不方便,这时我们可以利用 kubectl proxy 命令来实现。

首先我们看一下此命令的一些想着参数

➜  ~ kubectl proxy -h
To proxy all of the kubernetes api and nothing else, use:

  $ kubectl proxy --api-prefix=/

To proxy only part of the kubernetes api and also some static files:

  $ kubectl proxy --www=/my/files --www-prefix=/static/ --api-prefix=/api/

The above lets you 'curl localhost:8001/api/v1/pods'.

To proxy the entire kubernetes api at a different root, use:

  $ kubectl proxy --api-prefix=/custom/

The above lets you 'curl localhost:8001/custom/api/v1/pods'

Examples:
  # Run a proxy to kubernetes apiserver on port 8011, serving static content from ./local/www/
  kubectl proxy --port=8011 --www=./local/www/

  # Run a proxy to kubernetes apiserver on an arbitrary local port.
  # The chosen port for the server will be output to stdout.
  kubectl proxy --port=0

  # Run a proxy to kubernetes apiserver, changing the api prefix to k8s-api
  # This makes e.g. the pods api available at localhost:8011/k8s-api/v1/pods/
  kubectl proxy --api-prefix=/k8s-api

Options:
      --accept-hosts='^localhost$,^127\.0\.0\.1$,^\[::1\]$': Regular expression for hosts that the proxy should accept.
      --accept-paths='^/.*': Regular expression for paths that the proxy should accept.
      --address='127.0.0.1': The IP address on which to serve on.
      --api-prefix='/': Prefix to serve the proxied API under.
      --disable-filter=false: If true, disable request filtering in the proxy. This is dangerous, and can leave you
vulnerable to XSRF attacks, when used with an accessible port.
  -p, --port=8001: The port on which to run the proxy. Set to 0 to pick a random port.
      --reject-methods='POST,PUT,PATCH': Regular expression for HTTP methods that the proxy should reject.
      --reject-paths='^/api/.*/pods/.*/exec,^/api/.*/pods/.*/attach': Regular expression for paths that the proxy should
reject.
  -u, --unix-socket='': Unix socket on which to run the proxy.
  -w, --www='': Also serve static files from the given directory under the specified prefix.
  -P, --www-prefix='/static/': Prefix to serve static files under, if static file directory is specified.

Usage:
  kubectl proxy [--port=PORT] [--www=static-dir] [--www-prefix=prefix] [--api-prefix=prefix] [options]

Use "kubectl options" for a list of global command-line options (applies to all commands).

这里我们只要关注其中的三个参数就可以了

--accept-hosts='^localhost$,^127\.0\.0\.1$,^\[::1\]$': Regular expression for hosts that the proxy should accept.
--address='127.0.0.1': The IP address on which to serve on.
--port=8001: The port on which to run the proxy. Set to 0 to pick a random port.

–accept-hosts 表示哪些客户端访问,默认只允许 localhost 和 127.0.0.1
–address 表示本机绑定的ip地址,如果值为0.0.0.0 则表示不限,通过任何ip都可以访问.
a
–port 表示代理的接口,如果值为0的话,则随机一个端口

这里为了外网访问,可设置如下

nohup kubectl proxy --address='0.0.0.0' --port=8888 --accept-hosts='^*$'

这样我们就可以通过

http://192.168.0.107:8888/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

直接访问。

相关 [kubernetes dashboard 外网] 推荐:

kubernetes dashboard向外网提供服务

- - 学习日志
目前新版本的 kubernetes dashboard ( https://github.com/kubernetes/dashboard)安装了后,为了安全起见,默认情况下已经不向外提供服务,只能通过. http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 本机访问.

一个Redis监控dashboard

- - 丕子
RedisLive: 小巧玲珑,简单易用. Redis-Commander: 也很赞的样子. Redis集群增删节点的数据迁移问题. Redis Cluster的安装和配置(beta-6). 使用Jedis的ShardedJedis做Redis集群. Redis Sentinel的配置和使用. Redis持久化时的内存2倍问题.

Kubernetes & Microservice

- - 午夜咖啡
这是前一段时间在一个微服务的 meetup 上的分享,整理成文章发布出来. 谈微服务之前,先澄清一下概念. 微服务这个词的准确定义很难,不同的人有不同的人的看法. 比如一个朋友是『微服务原教旨主义者』,坚持微服务一定是无状态的 http API 服务,其他的都是『邪魔歪道』,它和 SOA,RPC,分布式系统之间有明显的分界.

Kubernetes学习(Kubernetes踩坑记)

- - Z.S.K.'s Records
记录在使用Kubernetes中遇到的各种问题及解决方案, 好记性不如烂笔头. prometheus提示 /metrics/resource/v1alpha1 404. 原因: 这是因为[/metrics/resource/v1alpha1]是在v1.14中才新增的特性,而当前kubelet版本为1.13.

kubernetes移除Docker?

- -
两周前,Kubernetes在其最新的Changelog中宣布1.20之后将要弃用dockershime,也就说Kubernetes将不再使用Docker做为其容器运行时. 这一消息持续发酵,掀起了不小的波澜,毕竟Kubernetes+Docker的经典组合是被市场所认可的,大量企业都在使用. 看上去这个“弃用”的决定有点无厘头,那么为什么Kubernetes会做出这样的决定.

纯Excel图表制作高仿真仪表盘(guage/dashboard)

- 隽永 - ExcelPro的图表博客
纯Excel图表制作高仿真仪表盘(guage/dashboard). 文/ExcelPro的图表博客.     这是前一篇日志双饼图制作仪表盘的前身版本,格式化效果更加丰富、豪华. 由于是前一做法的前身版本,文字略有雷同,请理解.     仪表盘(guage,speedometer,dial chart,dashboard),是模仿汽车速度表的一种图表,常用来反映预算完成率、收入增长率等比率性指标.

Google 更新 Apps Status Dashboard,提供更多细节信息

- Felix - 谷奥——探寻谷歌的奥秘
Google今天更新了Apps Status Dashboard,帮助Google Apps用户了解到关于每个组件服务状态的更多详细信息. 以前用户只能看到每个Google Apps组件处于正常还是不正常状态,现在可提供的信息更丰富了. 现在Apps Status Dashboard有了一个时间轴界面,方便你查看之前每一天的运行状态.

Lion 小技巧,掐掉 Dashboard [Mac] | 小众软件 > Mac

- 老五 - 小众软件
Mac OS X Lion 的 Dashboard 里面可以放很多的 Widgets,有系统自带的,也可以放置第三方的(效果如图). 子桑二狗发现 Dashboard 的 widget 功能没 Win7 直观(win7 的 widget 是放置在桌面上的,Lion 的必须切换到 Dashboard 界面,子桑二狗是 Mac 菜鸟,不知道还有放到桌面的技巧.

物联网系统设计工具箱——Dashboard框架Dashing

- - CSDN博客架构设计推荐文章
Dashboard的原义是仪表盘,作为一个查看的工具来说这个名字还算不错. Dashing是一个不错的Dashboard框架,原文的意思是The exceptionally handsome dashboard framework.. 一个类似于fancybox的弹出框,从当前来看没有fancybox强大.

[转载]三种风格的Dashboard仪表板设计

- - 海涛的成长碎碎念
原文地址: 三种风格的Dashboard仪表板设计 作者: BJTUcaixia. 三种风格的Dashboard设计. Dashboard是BI项目的高级应用,国内一般称作仪表盘/仪表板、决策面板等. Dashboard应该是个什么样子. 在个人制作、非BI系统领域,根据我的了解,至少存在三种风格或流派的仪表板做法.