OpenShift Origin v3.7 端口转发

来源:互联网 发布:判断微信浏览器 js 编辑:程序博客网 时间:2024/05/24 05:32

使用OpenShift Origin 的时候遇到http请求比较简单,使用router转发即可,但是router只能监听80/443端口,其他的端口必须通过创建NodePort类型的Service做端口转发。

  1. 创建一个json文件,内容仅供参考

起名为:mariadb.json:

{    "apiVersion": "v1",    "kind": "Service",    "metadata": {        "name": "mariadb-nodeport"    },    "spec": {        "type": "NodePort",        "ports": [            {                "port": 3306,                "targetPort": 3306,                "nodePort": 31006            }        ],        "selector": {            "name": "mariadb"        }    }}

2、创建Service

oc create -f mariadb.json
  • ports 里面是数组,可以定义多个转发的端口

  • targetPort是pod的端口,我运行的是mariadb,所以是3306

  • port 是指创建的这个服务(mariadb-nodeport)的端口,oc/k8s会给这个服务分配一个ip,这个端口号是服务的

  • nodePort是外部的端口号,用master节点的ip地址+这个端口号就可以访问了,当然别忘了配置防火墙。

OpenShift貌似没有这方面的内容,《开源容器云OpenShift》应该是市面上唯一的一本OpenShift参考了,写的很简单,更多内容都得查询官网,我在这个问题上被官网坑了一把,官网说用oc port-forward命令转发端口,可命令执行的时候都会卡住,转发不了,害得我从网络到防火墙到pod终端开mariadb远程链接,忙活了3天…忽然想起来OpenShift是基于k8s,k8s的资料网上一查一大把。真是坑苦了我这种不会k8s的人了…

原创粉丝点击