Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
Basic README and diagrams
Browse files Browse the repository at this point in the history
[#144998405]
  • Loading branch information
rosenhouse committed May 18, 2017
1 parent 8b429ab commit 4ec01ce
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 1 deletion.
36 changes: 35 additions & 1 deletion README.md
@@ -1,3 +1,37 @@
# Silk

Note: This repository should be imported as `code.cloudfoundry.org/silk`.
> Note: This repository should be imported as `code.cloudfoundry.org/silk`.
Silk is an open-source, [CNI](https://github.com/containernetworking/cni/)-compatible container networking fabric.
It was inspired by [flannel](https://github.com/coreos/flannel) and designed to meet the strict operational
requirements of [Cloud Foundry](https://cloudfoundry.org/platform/).

To see how Silk is used inside of Cloud Foundry, look at the [CF Networking Release](https://github.com/cloudfoundry-incubator/cf-networking-release).


## Architecture

### Control plane

Silk has three components:

- `silk-controller` runs on at least one central node and manages IP subnet lease allocation across the cluster.
It is implemented as a stateless HTTP JSON API backed by a SQL database.

- `silk-daemon` runs on each host in order to acquire and renew the subnet lease for that

- `silk-cni` is a short-lived program, executed by the container runner, to set up the network stack for a particular container.

![](control-plane.png)


### Data plane

The Silk dataplane is a single shared [VXLAN](https://tools.ietf.org/html/rfc7348) overlay network where each
container host is assigned a unique IP subnet, and each container gets a unique IP from that subnet.

![](data-plane.png)

To provide multi-tenant network policy on top of this connectivity fabric, Cloud Foundry utilizes the
[VXLAN GBP](https://tools.ietf.org/html/draft-smith-vxlan-group-policy-03#section-2.1) extension to tag
egress packets with a policy identifier. Other network policy enforcement schemes are also possible.
Binary file added control-plane.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added data-plane.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4ec01ce

Please sign in to comment.