Openshift 不将数据包转发到 pod



我正在尝试设置一个 pod,该 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-ingress-IP-self-service

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

此外,为了在 Kubernetes 中向外界公开Deployments,您必须建立一个Service。它可以通过几种不同的方式公开你的应用。有关详细信息,请通读此内容。

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

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

servicesNodePortRange:"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: []

之后,重新启动原子-开放移位-主服务。

然后,使用负载均衡器类型为部署创建第二个服务。假设您的部署配置名称为"myapp",请创建类似于以下内容的新文件,

--- "new-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 <-- 1234( 来公开新服务"myapp-ext"。

相关内容

  • 没有找到相关文章

最新更新