OpenShift Origin v3.7 端口转发

本文介绍了在OpenShift中如何解决非80/443端口的服务访问问题,通过创建NodePort类型的Service进行端口转发,并提供了具体的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用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的人了…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值