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

IPv6 support added #508

Open
danehans opened this Issue Nov 1, 2017 · 32 comments

Comments

Projects
None yet
@danehans

danehans commented Nov 1, 2017

Feature Description

  • One-line feature description (can be used as a release note): Adds support for IPv6, allowing full Kubernetes capabilities using IPv6 networking instead of IPv4 networking.
  • Primary contact (assignee): @danehans
  • Responsible SIGs: sig-network
  • Design proposal link (community repo): TBD
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred: @thockin @bowei @luxas
  • Approver (likely from SIG/area to which feature belongs): @thockin
  • Feature target (which target equals to which milestone):
    • Alpha release target 1.9

@cmluciano cmluciano added this to the v1.9 milestone Nov 1, 2017

@luxas

This comment has been minimized.

Member

luxas commented Nov 4, 2017

@danehans Thanks for filing this feature issue!
cc @idvoretskyi FYI

@danehans

This comment has been minimized.

danehans commented Nov 6, 2017

xref ipv6 issue: kubernetes/kubernetes#1443

@zacharysarah

This comment has been minimized.

Contributor

zacharysarah commented Nov 22, 2017

@danehans 👋 Please indicate in the 1.9 feature tracking board
whether this feature needs documentation. If yes, please open a PR and add a link to the tracking spreadsheet. Thanks in advance!

@danehans

This comment has been minimized.

danehans commented Nov 22, 2017

@zacharysarah I only have comment access to the 1.9 feature tracking board, so I added comments for the IPv6 docs requirement.

cc: @mmueen

@danehans

This comment has been minimized.

danehans commented Nov 27, 2017

@zacharysarah does the 1.9-release changelog need to be manually updated to reference any of the IPv6 PRs or kubernetes/kubernetes#1443?

@zacharysarah

This comment has been minimized.

Contributor

zacharysarah commented Nov 28, 2017

@danehans When you say changelog, do you mean the release notes?

/cc @Bradamant3 for release notes visibility

@danehans

This comment has been minimized.

danehans commented Nov 29, 2017

Yes, I am trying to understand if anything needs to be added to the 1.9 release notes, and if so, what process to follow. Thank you.

@luxas

This comment has been minimized.

Member

luxas commented Nov 29, 2017

This should have a release note

@zacharysarah

This comment has been minimized.

Contributor

zacharysarah commented Nov 29, 2017

/cc @Bradamant3 @nickchase Release note visibility! ☝️

@xiangpengzhao

This comment has been minimized.

Member

xiangpengzhao commented Dec 8, 2017

@danehans

This comment has been minimized.

danehans commented Dec 8, 2017

@xiangpengzhao I have updated the 1.9 release notes with the ipv6 support details. Please let me know if add'l ipv6 content is required for the 1.9 release notes.

@xiangpengzhao

This comment has been minimized.

Member

xiangpengzhao commented Dec 9, 2017

@danehans I think the details you added are good enough 👍 . But personally I'd like to see the associated PRs (if existing) for the bullets.

  • IPv6 alpha support has been added. Notable IPv6 support details include:
    • Support for IPv6-only Kubernetes cluster deployments. This feature does not provide dual-stack support.
    • Support for IPv6 Kubernetes control and data planes.
    • Support for Kubernetes IPv6 cluster deployments using kubeadm.
    • Support for the iptables kube-proxy backend using ip6tables.
    • Relies on CNI 0.6.0 binaries for IPv6 pod networking.
    • Although other CNI plugins support IPv6, only the CNI bridge and local-ipam plugins have been tested for the alpha release.
    • Adds IPv6 support for kube-dns using SRV records.
    • Caveats
      • HostPorts are not supported.
      • An IPv6 network mask for pod or cluster cidr network must be /66 or longer. For example: 2001:db1::/66, 2001:dead:beef::/76, 2001:cafe::/118 are supported. 2001:db1::/64 is not supported
@xiangpengzhao

This comment has been minimized.

Member

xiangpengzhao commented Dec 9, 2017

@danehans I took another look at the release note and found that you put the ipv6 details into the section Before Upgrading. I don't think we should put them there.

@danehans

This comment has been minimized.

danehans commented Dec 9, 2017

@xiangpengzhao The only concern I have is that several PRs were used for the different bullets.

@danehans

This comment has been minimized.

danehans commented Dec 9, 2017

@xiangpengzhao I have moved the IPv6 content for the 1.9 release notes. Please let me know if you have any further concerns.

@xiangpengzhao

This comment has been minimized.

Member

xiangpengzhao commented Dec 11, 2017

@danehans That LGTM :)

@valentin2105

This comment has been minimized.

valentin2105 commented Dec 11, 2017

I use Kubernetes on IPv6-only (v1.8.x) for a while now,
and the biggest problem to solve, I think, Is to detect if IPv6 is enabled to stop to use ClusterIPs (10.32.x.x) on clusters.

@xiangpengzhao

This comment has been minimized.

Member

xiangpengzhao commented Dec 12, 2017

@valentin2105 can you please open an issue in k/k to track this if you think it is an issue should be solved?
https://github.com/kubernetes/kubernetes/issues

@yastij

This comment has been minimized.

Member

yastij commented Mar 6, 2018

cc @Chewie

@justaugustus

This comment has been minimized.

Member

justaugustus commented Apr 17, 2018

@danehans
Any plans for this in 1.11?

If so, can you please ensure the feature is up-to-date with the appropriate:

  • Description
  • Milestone
  • Assignee(s)
  • Labels:
    • stage/{alpha,beta,stable}
    • sig/*
    • kind/feature

cc @idvoretskyi

@danehans

This comment has been minimized.

danehans commented Apr 17, 2018

@leblancd is leading the IPv6 charge. I will let him comment.

@leblancd

This comment has been minimized.

leblancd commented Apr 17, 2018

@justaugustus - This should probably be broken into 2 separate issues:
IPv6-Only support: Release 1.9, Alpha
Dual-Stack Support: Release 1.11, Alpha
I think this issue (#508) is sufficient for IPv6-Only support, and a new Issue will be needed for dual-stack.

@leblancd

This comment has been minimized.

leblancd commented Apr 17, 2018

/kind feature

@justaugustus

This comment has been minimized.

Member

justaugustus commented Apr 17, 2018

@leblancd

  • Is there any work being planned for IPv6-only support in the 1.11 release? If so, can you let us know if it's tracking alpha, beta or stable, so we can set the milestone?
  • Would you mind opening an issue with the appropriate details for Dual-Stack support?
@valentin2105

This comment has been minimized.

valentin2105 commented Apr 17, 2018

@justaugustus
IPv6-only work fine on v1.9 & v1.10 releases and in dual stack too.

@leblancd

This comment has been minimized.

leblancd commented Apr 18, 2018

@vincent99 vincent99 referenced this issue Apr 26, 2018

Closed

ipv6 Support #1403

@justaugustus justaugustus removed this from the v1.9 milestone Jul 1, 2018

@justaugustus

This comment has been minimized.

Member

justaugustus commented Jul 30, 2018

This feature current has no milestone, so we'd like to check in and see if there are any plans for this in Kubernetes 1.12.

If so, please ensure that this issue is up-to-date with ALL of the following information:

  • One-line feature description (can be used as a release note):
  • Primary contact (assignee):
  • Responsible SIGs:
  • Design proposal link (community repo):
  • Link to e2e and/or unit tests:
  • Reviewer(s) - (for LGTM) recommend having 2+ reviewers (at least one from code-area OWNERS file) agreed to review. Reviewers from multiple companies preferred:
  • Approver (likely from SIG/area to which feature belongs):
  • Feature target (which target equals to which milestone):
    • Alpha release target (x.y)
    • Beta release target (x.y)
    • Stable release target (x.y)

Set the following:

  • Description
  • Assignee(s)
  • Labels:
    • stage/{alpha,beta,stable}
    • sig/*
    • kind/feature

Once this feature is appropriately updated, please explicitly ping @justaugustus, @kacole2, @robertsandoval, @rajendar38 to note that it is ready to be included in the Features Tracking Spreadsheet for Kubernetes 1.12.


Please note that Features Freeze is tomorrow, July 31st, after which any incomplete Feature issues will require an Exception request to be accepted into the milestone.

In addition, please be aware of the following relevant deadlines:

  • Docs deadline (open placeholder PRs): 8/21
  • Test case freeze: 8/28

Please make sure all PRs for features have relevant release notes included as well.

Happy shipping!

P.S. This was sent via automation

@navjotsingh83

This comment has been minimized.

navjotsingh83 commented Aug 2, 2018

Hi @leblancd

Is there a plan to make IPv6 support beta in K8s 1.12? If you remember, I had asked about dual-stack support status in #563. As the dual stack still has more work to done, I am trying to figure out if we can only live with IPv6 support as of now, but its still in alpha, so in case you can share a tentative date on when IPv6 can become beta/GA, it will be really helpful.

@valentin2105

This comment has been minimized.

valentin2105 commented Aug 2, 2018

@navjotsingh83 Which point is missing for you about IPv6 in Kubernetes ?

@navjotsingh83

This comment has been minimized.

navjotsingh83 commented Aug 3, 2018

Hi @valentin2105

We have not configured and used IPv6 in K8s, yet. But before going into that, why I posted this question is because it is still an alpha feature, so even it works (which it might), we cannot have alpha features in production. We are now in PoC/planning phase on whether we should deploy our app on K8s or not in the next release, so based on when the feature will become beta (atleast) or GA (preferred), we will take a go/nogo decision.

@leblancd

This comment has been minimized.

leblancd commented Aug 7, 2018

Hi @navjotsingh83 - IPv6-only support should be Beta in K8s 1.13. What's missing for the IPv6-only feature to be considered Beta is Kubernetes IPv6-only CI, and this is in the works. Here is the initial proposal for a K8s CI (using a virtualized multinode cluster in a GCE environment): kubernetes/test-infra#7529. This CI proposal has traction, but I was requested by the test-infra group to change this from using a GCE-based cluster to deploying a multinode cluster directly in a Prow container (to eliminate dependency on GCE operations). This results in a Docker-in-Docker-in-Docker architecture, which has been a bit challenging to get working. I expect to have a new CI PR out within a week that runs inside a local Prow container, but then that will need another round of reviews before getting merged.

Is there anything specific re. dual-stack support that you need? In other words, if IPv6-only support was beta/GA, would that be sufficient? I'm interested in hearing if what we've proposed in the dual-stack spec is on track for what you need.

@kacole2

This comment has been minimized.

Contributor

kacole2 commented Oct 8, 2018

Hi @leblancd @danehans
This enhancement has been tracked before, so we'd like to check in and see if there are any plans for this to graduate stages in Kubernetes 1.13. This release is targeted to be more ‘stable’ and will have an aggressive timeline. Please only include this enhancement if there is a high level of confidence it will meet the following deadlines:
Docs (open placeholder PRs): 11/8
Code Slush: 11/9
Code Freeze Begins: 11/15
Docs Complete and Reviewed: 11/27

Please take a moment to update the milestones on your original post for future tracking and ping @kacole2 if it needs to be included in the 1.13 Enhancements Tracking Sheet

We are also now encouraging that every new enhancement aligns with a KEP. If a KEP has been created, please link to it in the original post or take the opportunity to develop a KEP.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment