Add support for kubernetes networking

Registered by Irena Berezovsky

Kuryr will support Kubernetes networking integration

Blueprint information

Status:
Complete
Approver:
Irena Berezovsky
Priority:
Essential
Drafter:
Irena Berezovsky
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Irena Berezovsky
Completed by
Antoni Segura Puimedon

Related branches

Sprints

Whiteboard

As it was discussed by kuryr team, here is the plan we would like to proceed with.
What to support:
---------------------
The target kubernetes release is 1.2.
No multi tenancy support at initially. this will evolve based on k8s multi-tenancy support.
The supported scope should be aligned with kubernetes-sig-network work based on Network Policy with selectors proposal, providing isolation on Pods level.
Additional support for Application network related specification of labels/annotations should be allowed, but not mandatorily provided by first version of the integrated solution.
First milestone would be to support basic scenario for App connectivity.
How to support:
----------------------
Two main components will be required, API Translator and Binding Driver.
API Translator will have to watch k8s models and translate them into neutron models. This component will probably be deployed on master node.

Binding Driver is the worker node component that will provide Pod binding on the Node. The idea is to have all required details, so this component won't have to call neutron API. This will be implemented as a CNI plugin.

Gerrit topic: https://review.openstack.org/#q,topic:bp/kuryr-k8s-integration,n,z

Addressed by: https://review.openstack.org/281132
    Add specificaton for kubernetes integration

Addressed by: https://review.openstack.org/290172
    Add devref for kubernetes translate 1 CNI plugin

Gerrit topic: https://review.openstack.org/#q,topic:raven-devref,n,z

Addressed by: https://review.openstack.org/301426
    Add devref of Raven

Gerrit topic: https://review.openstack.org/#q,topic:logging_obj_link,n,z

Addressed by: https://review.openstack.org/423903
    Improve pipeline/Async logging

Addressed by: https://review.openstack.org/427440
    K8s Services support: LBaaSSpecHandler

Addressed by: https://review.openstack.org/433359
    K8s Services support: LBaaSv2Driver

Addressed by: https://review.openstack.org/376045
    [WIP] K8s Services support: LoadBalancerHandler

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.