美文网首页
基于图形化Kube Forwarder工具映射OpenShift

基于图形化Kube Forwarder工具映射OpenShift

作者: ragpo | 来源:发表于2019-07-30 20:28 被阅读0次

痛点描述

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 命令,同样的没有图形化管理功能,功能不够多。

相关文章

网友评论

      本文标题:基于图形化Kube Forwarder工具映射OpenShift

      本文链接:https://www.haomeiwen.com/subject/qedorctx.html