The Cloud Foundry Container Networking team recently released cf-networking-release 2.0.0 and silk-release 2.0.0. These releases do not contain major new features; however, they do include breaking changes with respect to the way Cloud Foundry container networking system is packaged, versioned, and deployed.
What?
The biggest change is that the Silk container networking fabric, which may be swapped out for other CNI-compatible network integrations, is now provided in a dedicated BOSH release.
- To maintain the current container networking features in Cloud Foundry, operators will need to deploy both cf-networking-release and silk-release. This is a breaking change for operators.
- We’ve “de-namespaced” many of the BOSH manifest properties and renamed some BOSH jobs. For manifest authors, these are breaking changes.
- From now, cf-networking-release and silk-release are expected to occur simultaneously and with same version numbers. Operators using silk-release should plan to deploy both releases together; mixed-version deployments will not be supported.
- We continue to provide upgrade guarantees from cf-networking-release 1.x to the 2.x versions.
- To deploy these releases with cf-deployment, we recommend using the use-cf-networking-2.yml experimental ops-file. Longer term, we’re intending for the 2.x versions to become default in cf-deployment.
Why?
This split leaves cf-networking-release with only “core” components (Network Policy API and CNI compatibility layer) that serve as extension points for network integrations. The split is intended to simplify the development and deployment of third-party network integrations in Cloud Foundry Application Runtime.
Where can I find more info?
For details, please refer to the release notes for cf-networking-release and silk-release. If you have a non-standard BOSH manifest, ensure you also refer to the cf-networking-release manifest changelog and silk-release manifest changelog.
Questions and feedback are always welcome in Cloud Foundry Slack (channel: #container-networking).
How can I try it out?
These new releases will be included by default in cf-deployment 2.0. Until then, you can use the opsfile cf-deployment/operations/experimental/use-cf-networking-2.yml
We have also duplicated and fixed other affected opsfiles, and suffixed them with ‘with-networking-2.yml’.
This post was co-authored by Amelia Downs and Gabe Rosenhouse.