-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Create 20190714-IPv6-beta-proposal.md
- Loading branch information
Showing
1 changed file
with
91 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
--- | ||
title: graduate-ipv6-to-beta | ||
authors: | ||
- "@aojea" | ||
owning-sig: sig-network | ||
participating-sigs: | ||
reviewers: | ||
- "@bentheelder" | ||
- "@andrewsykim" | ||
approvers: | ||
- "@lachie83" | ||
- "@thockin" | ||
editor: TBD | ||
creation-date: 2019-07-14 | ||
last-updated: 2019-07-23 | ||
status: implementable | ||
see-also: | ||
replaces: | ||
superseded-by: | ||
--- | ||
|
||
# Graduate IPv6 to beta | ||
|
||
## Table of Contents | ||
|
||
<!-- toc --> | ||
- [Summary](#summary) | ||
- [Motivation](#motivation) | ||
- [Goals](#goals) | ||
- [User Stories](#user-stories) | ||
- [Proposal](#proposal) | ||
- [Design](#design) | ||
- [Test Plan](#test-plan) | ||
- [Needed Tests](#needed-tests) | ||
- [Graduation Criteria](#graduation-criteria) | ||
- [Implementation History](#implementation-history) | ||
<!-- /toc --> | ||
|
||
## Summary | ||
|
||
Support for IPv6-only clusters was added in Kubernetes 1.9 as an alpha feature, with version 1.13 the Kubernetes default DNS server changed to CoreDNS which has full IPv6 support and Dual Stack support is being implemented during the 1.16 cycle. | ||
|
||
|
||
## Motivation | ||
|
||
Despite there are no signs of a big adoption of IPv6 in kubernetes user base, there is an increasing interest on it, some CNI plugins already support it, dual-stack is being implemented to facilitate the migration, cloud providers are starting to implement it, the code has been stabilized and CI testing was implemented. | ||
|
||
Therefore, we would like to graduate IPv6 support from Alpha to Beta. | ||
|
||
### Goals | ||
|
||
* Promote IPv6 to beta version. | ||
|
||
### Non-Goals | ||
|
||
* IPv6 is NOT Dual-stack | ||
|
||
### User Stories | ||
|
||
* A user can deploy, operate and use a kubernetes cluster in an IPv6 only environment. | ||
|
||
## Proposal | ||
|
||
* Make kind IPv6 e2e jobs mandatory for all PRs | ||
* Have signal on IPv6 e2e jobs in one Cloud Provider | ||
|
||
|
||
## Design | ||
|
||
### Test Plan | ||
|
||
#### Needed Tests | ||
|
||
- Run a CI with conformance E2E tests on an IPv6 only kubernetes cluster. | ||
- Run a CI with conformance E2E tests on a cloud provider. | ||
|
||
### Graduation Criteria | ||
- [x] It has IPv4 feature parity | ||
- [x] It has CI | ||
- [x] It has passed all e2e conformance tests | ||
- [x] It is documented | ||
- [ ] It is being used at least by one Cloud Provider | ||
|
||
|
||
## Implementation History | ||
|
||
- [IPv6 Support was introduced as alpha in kubernetes 1.9](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md) | ||
- [IPv6 Support enhancement request](https://github.com/kubernetes/enhancements/issues/508) | ||
- [IPv6 implementation tracking issue](https://github.com/kubernetes/kubernetes/issues/1443) | ||
- [IPv6 CI](https://testgrid.k8s.io/conformance-kind#kind%20(IPv6),%20master%20(dev)) | ||
- [Kind IPv6 support](https://github.com/kubernetes-sigs/kind/pull/636) |