当前位置: 首页 > 知识库问答 >
问题:

OpenShift不将数据包转发到pod

狄海
2023-03-14

我正在尝试设置一个 pod,用于接收来自外部主机的端口 1234 的数据包。我通过 tcpdump 确认数据包确实到达了 openshift 集群。现在,我已经运行了 pod AAAA,它应该获取端口 1234 的数据包(从 openshift 主站路由或转发)。我们已经为 pod 分配了一个 IP,因此已经完全按照下面的文档来设置外部 IP、端口等。我怀疑问题出在主配置上,但我无法将它们粘贴到此处。

我的问题是,为了将端口 1234 数据包路由到 pod AAAA,在主配置中需要放置哪些配置。

已在以下Openshift文档中试用:

>

  • https://docs.openshift.com/container-platform/3.3/admin_guide/tcp_ingress_external_ports.html

    https://docs.openshift.com/container-platform/3.3/dev_guide/getting_traffic_into_cluster.html#using-入口IP自助服务

  • 共有2个答案

    路和悌
    2023-03-14

    在您的主配置(etc/origin/master/master-config.yaml)中,只需添加

    服务NodePortRange:“1234-1234”

    kubernetesMasterConfig:
      apiServerArguments:
      controllerArguments:
      masterCount: 1
      masterIP: x.x.x.x
      podEvictionTimeout:
      proxyClientInfo:
        certFile: master.proxy-client.crt
        keyFile: master.proxy-client.key
      schedulerArguments:
      schedulerConfigFile: /etc/origin/master/scheduler.json
      servicesNodePortRange: "1234-1234"
      servicesSubnet: 172.30.0.0/16
      staticNodeNames: []
    

    之后重启atomic-openshift-master服务。

    然后,使用负载平衡器类型为您的部署创建第二个服务。假设您的部署配置名为“myapp ”,创建如下所示的新文件,

    ---“新svc.yml”----

    apiVersion: v1
    kind: Service
    metadata:
      creationTimestamp: null
      labels:
        app: myapp
        template: myapp-template
      name: myapp-ext
    spec:
      ports:
      - name: myapp
        nodePort: 1234
        port: 1234
        protocol: TCP
        targetPort: 1234
      selector:
        name: myapp
      sessionAffinity: None
      type: LoadBalancer
    

    之后,创建新服务

    #oc create -f new-svc.yml
    

    最后,通过添加路由(1234)公开新服务“myapp-ext”

    龚玄天
    2023-03-14

    首先-你只是指POD。我建议将您的应用程序部署为部署。请参考这个和这个。

    此外,为了在库伯内特斯向外界公开部署,您必须建立一个Service。它可以通过几种不同的方式公开您的应用程序。请通读此了解详细信息。

    如果您使用任何标准应用程序,通常可以通过搜索应用程序名称和“kubernetes”来找到示例部署/服务。

     类似资料:
    • 问题内容: 我正在用Java编写一个网络程序,我想将一些数据包发送到255.255.255.255,但是即使将它们发送到192.168.1.255(根据ifconfig命令的输出,它是广播地址)也失败了。但是,当我将它们发送到我伴侣的IP时,它可以正常工作。 这是我程序的代码: 我已经使用DatagarmSocket和DatagramPacket做到了,这是我对Network的实现: 没有异常被抛

    • 寻求帮助,以解决我的问题,任何建议感谢! 因此,我使用XHR请求将csv文件作为formdata上传到节点环境: 接下来,我需要添加授权头并将相同的数据发送到外部API。 我所尝试的: 使用请求模块和'。管道() 使用勤杂工 和axios与form-data 基本上所有这些帖子:1, 2, 3, 4, 5, 6, 7 但是文件发送不正确,服务器以400响应。 限制由于此节点环境基于云,我无法访问任

    • 我正在根据我们通过简单的图像信标收集的仪器数据,为我们的网站属性提供分析。我们的数据管道从Flume开始,我需要尽可能快的方法来解析查询字符串参数,形成一条简单的文本消息并将其推入Flume。 出于性能原因,我倾向于使用nginx。由于已经支持从内存提供静态映像,所以我的任务减少到处理查询字符串并将消息转发到Flume。因此,问题是: nginx和Flume集成最简单可靠的方法是什么?我在考虑使用

    • 问题内容: 是否可以将数据发布到JsonP?还是所有数据都必须作为GET请求传递到查询字符串中? 我有很多数据需要跨域发送到服务,并且太大,无法通过查询字符串发送 解决这个问题有哪些选择? 问题答案: 由于同一个原始策略的(相当明智的)限制,因此无法与另一个域上的服务进行异步。JSON- P之所以起作用,是因为允许您将标签插入DOM,并且它们可以指向任何地方。 当然,您可以使用常规形式的POST来

    • 问题内容: 我一直在研究一个Java程序,该程序基本上类似于Minechat(基于文本的应用程序,仅用于查看聊天。)我从来没有真正与网络打交道,因此,问题在于弄清楚如何正确发送数据包。我目前处于与服务器创建握手的位置。经过数小时的研究,我提出了以下代码,但始终会遇到“ Failed!(Exception)”消息。对我来说,一切看起来都是正确的,但就我所知,这可能是100%错误的。如果有人可以指出我

    • 我想在这里添加一些代码,并对来自Flink的protobuf数据进行stdout。 我正在使用Flink的Apache Kafka连接器将Flink连接到Kafka。 这是我的Flink密码。 这是我的Kafka代码。