基于图形化Kube Forwarder工具映射OpenShift deployment/svc/pod端口至本机

痛点描述

1、在访问openshift的应用时,我们一般通过域名的方式进行访问,域名再解析IP至router节点或router的F5节点,解析的方式要么通过本机的DNS server解析,要么通过本机自己配置的hosts解析。
2、当一个开发在本地调试代码时,需要一个mysql环境,在以前要么在本机搭建一个mysql,要么虚拟机部署一个mysql,太慢了,我们可以直接在openshift上部署一个,多方便;当访问类似像mysql这样tcp访问方式的应用是,openshift的router是不支持的(haproxy是可以配置mode从http调整为tcp,但是openshift我还没找到可以配置的地方),那本机就没法访问到mysql了。

解决方案

接下来介绍下解决上诉问题的工具:Kube Forwarder

a

它能够解决啥问题呢?

举个例子,我用openshift的registry-console来说明,正常情况下,我访问registry-console域名是这样的


b

那我用Kube Forwarder来访问,使用本机地址127.0.0.1


c

特点如下

d

使用方法

去官网下载:https://kube-forwarder.pixelpoint.io/
有很多种版本,window,Linux,macOS提供下载。安装后开始演示,我的是macOS,以我的为例。

  • 会提示你添加OCP集群:


    image.png
  • 会读取本机之前登陆过的OCP信息,可以直接用,不过我选择手动添加


    image.png
  • 这里需要你输入 .kube/config文件的内容,你可以去之前登陆过的节点获取,或者直接去master节点copy出来。
[root@master01 ~]# cat .kube/config
image.png
  • .kube/config其实包含了很多用户的登陆信息,并且还包含了每个用户多次登陆的信息,不过因为openshift的对用户的token是有超时时间的,可能就不能用,所以在选择某个用户前需要先用oc命令登录下openshift,我用之前admin的登录token就没法登录上。我选择用系统默认的system:admin去登录,这个token是不会超时失效的。


    image.png
  • 接下来添加资源,也就是openshift的应用了。


    image.png
  • 选择该openshift集群对应的项目


    image.png
  • 选择该项目的对应资源类型,pod、svc、deployment,有时候需要具体调试某个pod的时候就需要选择pod了。非常有用。


    image.png
  • 选择具体应用


    image.png
  • 指定端口,比如registry-console的svc端口为9000,我映射成本地的9000端口


    image.png
  • 配置好后,默认是没有运行的,点击右边的运行


    image.png
  • 看到已经正在运行了


    image.png
  • 访问127.0.0.1:9000端口就可以访问到registry-console了


    image.png
  • 需要注意的是registry-console是走了openshift的oauth认证的,需要配置下oauthclient,添加下新的域名:127.0.0.1:9000,要不然访问会被拒绝。
[root@master01 ~]# oc get oauthclient
NAME                           SECRET                                                                 WWW-CHALLENGE   TOKEN-MAX-AGE   REDIRECT URIS
cockpit-oauth-client           user6Th43Kdpow3DyN4duWUlWSWskrx7V3D1K4UYmgSX003xaUI5E5iMAXKLgdlxup7n   FALSE           default         https://registry-console-default.ocp311.com
openshift-browser-client       1c69_efAfTo84CMvgqqsKt45XaWuqD2diG3LygJwfvg                            FALSE           default         https://cluster.ocp311.com:8443/oauth/token/display
openshift-challenging-client                                                                          TRUE            default         https://cluster.ocp311.com:8443/oauth/token/implicit
openshift-console              1TY6T42vxacyFDnFSa6HS7pFUhya1AdW                                       FALSE           default         https://console.ocp311.com/
openshift-web-console                                                                                 FALSE           default         https://cluster.ocp311.com:8443/console/
[root@master01 ~]# oc edit oauthclient cockpit-oauth-client
oauthclient.oauth.openshift.io/cockpit-oauth-client edited
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: oauth.openshift.io/v1
kind: OAuthClient
metadata:
  annotations:
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"oauth.openshift.io/v1","kind":"OAuthClient","metadata":{"annotations":{},"labels":{"createdBy":"registry-console-template"},"name":"cockpit-oauth-client","namespace":"","respondWithChallenges":false},"redirectURIs":["https://registry-console-default.ocp311.com"],"secret":"user6Th43Kdpow3DyN4duWUlWSWskrx7V3D1K4UYmgSX003xaUI5E5iMAXKLgdlxup7n"}
  creationTimestamp: 2019-03-28T15:14:18Z
  labels:
    createdBy: registry-console-template
  name: cockpit-oauth-client
  resourceVersion: "20941760"
  selfLink: /apis/oauth.openshift.io/v1/oauthclients/cockpit-oauth-client
  uid: 2836c416-516c-11e9-a9dd-005056860b09
redirectURIs:
- https://registry-console-default.ocp311.com
- http://127.0.0.1:9000
secret: user6Th43Kdpow3DyN4duWUlWSWskrx7V3D1K4UYmgSX003xaUI5E5iMAXKLgdlxup7n

其他类似的工具

  • kubefwd
    这个工具和Kube Forwarder类似,不过没有图形化,并且只能映射到svc,不能映射到pod和deployment。没有图形化管理功能,功能不够多。
    image.png

    https://github.com/txn2/kubefwd?utm_sq=g3bb5g3o1j
  • 另外一个就是openshift自带的oc port-forward 命令,同样的没有图形化管理功能,功能不够多。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,589评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,615评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,933评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,976评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,999评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,775评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,474评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,359评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,854评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,007评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,146评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,826评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,484评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,029评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,153评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,420评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,107评论 2 356

推荐阅读更多精彩内容