我们如何在自定义端口(非Web /非HTTP)上启用进入Pod的流量。
例如考虑端口12121。
我尝试通过路由公开端口。 但是无法从同一名称空间中的另一个Pod到达此Pod。
OpenShift是否支持此功能?
如果以前有人尝试过,请分享您如何实现这一目标。
谢谢。
答案 0 :(得分:0)
您可以使用要添加的端口来自定义现有的router
,也可以使用自定义的端口添加router
。有关详细信息,请参见Customizing the Router Service Ports。
oc adm router --replicas=0 --ports='12121:12121,443:443'
oc set env dc/router ROUTER_SERVICE_HTTP_PORT=12121 \
ROUTER_SERVICE_HTTPS_PORT=443
oc scale dc/router --replicas=1
iptables -A INPUT -p tcp --dport 12121 -j ACCEPT
答案 1 :(得分:0)
根据您要实现的目标,您可以选择几种方法,但我不会为此使用路由。
apiVersion: v1
kind: Service
metadata:
name: mysql
labels:
name: mysql
spec:
type: NodePort
ports:
- port: 3306
nodePort: 30306
name: http
selector:
name: mysql
OpenShift文档:https://docs.openshift.com/container-platform/3.11/dev_guide/expose_service/expose_internal_ip_nodeport.html
如果需要公开特定端口,则可以:
apiVersion: v1
kind: Service
metadata:
name: egress-2
spec:
ports:
- name: db
port: 3306
loadBalancerIP:
type: LoadBalancer
selector:
name: mysql
apiVersion: v1
kind: Pod
metadata:
name: mysql
spec:
containers:
- image: mysql
name: mysql
ports:
- name: mysql
containerPort: 3306
hostPort: 3306