-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document to describe networking requirements for vendors replacing openshift-sdn #12981
Conversation
@@ -0,0 +1,35 @@ | |||
# OpenShift networking requirements | |||
Guidelines for a third party network plugin for OpenShift |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
missing period
|
||
## CNI is the recommended way | ||
|
||
Any external networking solution can be used to plumb networking for openshift as long as it follows the 'CNI' spec. Then, openshift needs to be launched with 'networkPluginName: "cni"' in the master/node config yaml files. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
example master config snippet would be nice
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Example has been added below
|
||
Any external networking solution can be used to plumb networking for openshift as long as it follows the 'CNI' spec. Then, openshift needs to be launched with 'networkPluginName: "cni"' in the master/node config yaml files. | ||
|
||
When done through ansible, provide sdn_network_plugin_name=cni as the option while installing openshift. Be aware that openshift ansible installation allows a firewall passthrough for the VxLAN port (4789), so if a plugin needs other ports (for management/control/data) to be open, then the installer needs to be changed suitably. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should mention that this goes in the inventory file. Does it need to be in a specific group? Example might also be helpful here.
|
||
2. Certain services in the cluster will be run as infrastructure services. e.g. Load balancer, registry, DNS server(skydns). The plugin should allow for a 'global' tenant which is-accessible-by/can-access all pods of the cluster. For example, a load balancer can run in two modes - private and global. The global load balancer should have access to all tenants/namespaces of the cluster. A private load balancer is one that is launched as a pod by a particular namespace, and this should obey tenant isolation rules. | ||
|
||
3. *Access to all pods from the host - particularly important if kube-proxy is used by the SDN solution to support kubernetes services. Please note that iptables based kube-proxy will be enabled by default in openshift. This will have to be overridden specially if the plugin wants a different behaviour. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how to override?
fa29987
to
8f1ad53
Compare
@pweil- Fixed according to the feedback. Thanks for the review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @rajatchopra changes LGTM
|
||
## CNI is the recommended way | ||
|
||
Any external networking solution can be used to plumb networking for openshift as long as it follows the 'CNI' spec. Then, openshift needs to be launched with 'networkPluginName: "cni"' in the master/node config yaml files. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should use OpenShift consistently (instead of openshift).
@danmcp
@mcurry-rh