Skip to content

Comments

Adding flannel arch diagram#3743

Merged
bfallonf merged 1 commit intoopenshift:masterfrom
danmacpherson:flannel-documentation-2
Mar 16, 2017
Merged

Adding flannel arch diagram#3743
bfallonf merged 1 commit intoopenshift:masterfrom
danmacpherson:flannel-documentation-2

Conversation

@danmacpherson
Copy link

Also adding variable for flannel nic config

@danmacpherson
Copy link
Author

Also, have included some follow ups to suggestions in #3477

@vikram-redhat
Copy link
Contributor

@knobunc - can you PTAL at the diagram and let us know if any changes are required?

Copy link
Contributor

@knobunc knobunc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM @openshift/networking PTAL

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo "vSwtich"

oh, you just copied that out of configuring_sdn.adoc, where it is also misspelled...

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for spotting this. Fixed typo in both places.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a diagram of the default flannel configuration, using an overlay network, but our ansible-based flannel install uses flannel in the "host-gw" mode, which is totally different. (The default config does, technically, avoid "dual Open vSwitch" (since flannel doesn't use OVS) but it doesn't avoid double encapsulation of data, which is the actual problem. The "host-gw" mode uses a completely different architecture to avoid that.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@danmacpherson - PTAL.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@danwinship -- Thanks for the feedback. How can we refine the image so that it better represents host-gw mode?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know the details of how host-gw sets up networking, other than that it doesn't use an overlay.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(The openshift networking team mostly isn't involved with flannel stuff.)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @rajatchopra ! I'll organize to get the diagram modified per your suggestion.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rajatchopra -- I've got the image updated along with the text to accommodate your feedback. I've put the example routes underneath the image, rather than within the image itself.

How does it all look now?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The flanneld seems to be on the data path of the packet. Maybe connect docker0 directly to the routing table and show flanneld connected to the routing table in a different color connector.
Thanks for working on this, would be really helpful in understanding what's going on underneath.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rajatchopra -- modifed the diagram as per your feedback -- the flanneld component should be out of the way of the data path, but still interacting with the routing table. How does this look now?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks.

@danmacpherson danmacpherson force-pushed the flannel-documentation-2 branch from 45557b5 to 3fd9738 Compare February 17, 2017 01:11

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The hostgw mode does not use flannel0 tap device. There is a routing table update made by flanneld to the host's routing table so the packet is sent directly to the note where the pod belongs.
I would draw a routing table lookup box before eth0 and after docker0 bridge that shows rules like the following:
10.1.3.0/24 via
10.1.4.0/24 via
..
This table to be fed by flanneld which is watching etcd.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is particularly to avoid double encapsulation of packets, whether by openvswitch or not.

@danmacpherson danmacpherson force-pushed the flannel-documentation-2 branch 2 times, most recently from 9e47d04 to 005fdf8 Compare March 15, 2017 03:34
Also:
- Adding variable for flannel nic config
- Fixing flannel image filename
- Making adjustments to image and content based on feedback
@danmacpherson danmacpherson force-pushed the flannel-documentation-2 branch from 005fdf8 to 79c3d13 Compare March 15, 2017 14:33
@bfallonf
Copy link

[rev_history]
|xref:../install_config/configuring_sdn.adoc#install-config-configuring-sdn[Configuring the SDN]
|Added information about the flannel_interface variable.
%
|xref:../architecture/additional_concepts/flannel.adoc#architecture-additional-concepts-flannel[Additional Concepts -> Flannel]
|Updated the topic with information on OpenStack installs, running Flannel in host-gw mode, and a diagram with route examples.
%

@bfallonf bfallonf merged commit 988ccc4 into openshift:master Mar 16, 2017
@ahardin-rh ahardin-rh modified the milestones: Next Release, Staging, Published 03/20/2017 Mar 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants