Open jeffrey4l opened 6 years ago
this may related to #1083
Since i don't know what's the root cause, i also create a issue with the same description in openshift side https://github.com/openshift/openshift-ansible/issues/8200
Hi @jeffrey4l! 😄
hey @vhosakot , nice to meet you here. btw, could you give me some help about this issue.:D
@jeffrey4l With the same installation on vms, we have the same problem. We can not reach any of the services. Kubernetes manages ip address of the services called VIP. VIPs are managed by DNAT/SNAT. In this scenario switches does not know how to route packet. It should be something on the contiv side to manage VIPs.
@Pamir yes.
i also found there are two ovs bridges created by netplugin even though i am using vlan+bridge mode, contivVlanBridge
and contivVxlanBridge
bridge.
And the service ip is added to contivVxlanBridge
's contivh0
interface. When accessing the service from host, it works. but the pod network have no idea about this.
So i think the contivVxlanBridge
and contivVlanBridge
should be connection together and when pod is accessing the service ip subnet, forward the packets from contivVlanBridge
to contivVxlanBridge
rather then forward it to the default gateway. Then it should work.
But i have on idea how to configure this. :(
hey @vhosakot , nice to meet you here. btw, could you give me some help about this issue.:D
@jeffrey4l sure, I'll look into the issue and reply here soon.
The pod can access the cluster ip from the pod. Because the netplugin is watching the kubernetes's api-server's services. When u add a services,the netplugin will add a flow in the ovs.And the flow is point to the controller(netplugin-ofagent).Then if the pod access the service by using the ClusterIP + Port ,it will first send the packet to the ofagent and then the ofagent use openflow to push a flow in the ovs.And at the same time,the pod can access the service.
May be u can show the flows in the ovs.Such as the picture blow.
Description
I am deploying openshift+contiv with vlan + bridge mode. So far the connectivity between two pods is perfect. But the service ip is not.
Technically, i can not found any doc or explanation how Pod could service's ClusterIP. So cloud anyone give me some info about this?
Expected Behavior
Service ClusterIP should be accessible from Pod.
Observed Behavior
Seems there is a OVS bridge holds all the traffics, like bellow
Access the kubernetes service ip from HOST is OK too. But failed to access it from Pod.
Your Environment