Skip to content
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

cidr_set bitmap should be compressed #44918

Closed
rpothier opened this issue Apr 25, 2017 · 24 comments
Closed

cidr_set bitmap should be compressed #44918

rpothier opened this issue Apr 25, 2017 · 24 comments
Assignees
Labels
area/ipv6 lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. sig/network Categorizes an issue or PR as relevant to SIG Network.

Comments

@rpothier
Copy link

Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see http://kubernetes.io/docs/troubleshooting/.):

What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.):


Is this a BUG REPORT or FEATURE REQUEST? (choose one):
BUG REPORT

Kubernetes version (use kubectl version):
latest

Environment:

  • Cloud provider or hardware configuration:
  • OS (e.g. from /etc/os-release):
  • Kernel (e.g. uname -a):
  • Install tools:
  • Others:

What happened:
cidr_set.go in pkg/controller/node currently uses a bitmap to track the subnets allocated.
The current allocation logic assumes a small allocation range. This bitmap could grow very large with the introduction of IPv6.
The v6 code in cidr_set.go currently limits the difference between the cluster mask size and subnet mask size to 16. This restriction could be removed if the bitmap was compressed.

What you expected to happen:

How to reproduce it (as minimally and precisely as possible):

Anything else we need to know:

@smarterclayton
Copy link
Contributor

We should also support the same compression on other bit masks at the same time. We use random allocation for many of the spaces which leads to sparse masks.

@smarterclayton smarterclayton added the sig/network Categorizes an issue or PR as relevant to SIG Network. label Apr 25, 2017
@smarterclayton
Copy link
Contributor

We should replace the current form with http://roaringbitmap.org/about/, but we'll need to record the version change somehow.

@0xmichalis
Copy link
Contributor

@kubernetes/sig-network-misc

@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 24, 2017
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle rotten
/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jan 23, 2018
@fejta-bot
Copy link

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@aojea
Copy link
Member

aojea commented Oct 29, 2019

/reopen

This imposes limitations on IPv6 for the node mask that can be used
#79993

@k8s-ci-robot
Copy link
Contributor

@aojea: Reopened this issue.

In response to this:

/reopen

This imposes limitations on IPv6 for the node mask that can be used
#79993

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@fejta-bot
Copy link

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@k8s-ci-robot
Copy link
Contributor

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@aojea
Copy link
Member

aojea commented Dec 26, 2019

/reopen

@k8s-ci-robot k8s-ci-robot reopened this Dec 26, 2019
@k8s-ci-robot
Copy link
Contributor

@aojea: Reopened this issue.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@aojea
Copy link
Member

aojea commented Dec 26, 2019

/assign

@bowei
Copy link
Member

bowei commented Dec 26, 2019

/lifecycle frozen
/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. labels Dec 26, 2019
@bowei
Copy link
Member

bowei commented Dec 26, 2019

It would be good to clarify where the scalability issue lies -- it may be in memory and w/ the serialized format that is stored on disk; would need different strategy for each.

@aojea
Copy link
Member

aojea commented Dec 27, 2019

It would be good to clarify where the scalability issue lies -- it may be in memory and w/ the serialized format that is stored on disk; would need different strategy for each.

Right, I'm trying to understand the problem first.
This change (if needed) most sure will need a KEP, as Lubomir just suggested in the PR I'm using to test the related changes.

@aojea
Copy link
Member

aojea commented Apr 2, 2020

After being discussed in the KEP kubernetes/enhancements#1534 current size seems enough, we can always revisit if we start to see limitations on the address size.

@aojea
Copy link
Member

aojea commented Apr 2, 2020

/close

@k8s-ci-robot
Copy link
Contributor

@aojea: Closing this issue.

In response to this:

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@BenTheElder
Copy link
Member

/reopen
#94029 ?

@k8s-ci-robot k8s-ci-robot reopened this Aug 18, 2020
@k8s-ci-robot
Copy link
Contributor

@BenTheElder: Reopened this issue.

In response to this:

/reopen
#94029 ?

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@aojea
Copy link
Member

aojea commented Aug 18, 2020

/reopen
#94029 ?

I had a working implementation with compressed bitmaps here #86620, but I think that there are better ideas in kubernetes/enhancements#1881 (comment)

@aojea
Copy link
Member

aojea commented Sep 9, 2020

/reopen
#94029 ?

I had a working implementation with compressed bitmaps here #86620, but I think that there are better ideas in kubernetes/enhancements#1881 (comment)

/close
this is not the right fix, will be better if we can move away from the allocators

@k8s-ci-robot
Copy link
Contributor

@aojea: Closing this issue.

In response to this:

/reopen
#94029 ?

I had a working implementation with compressed bitmaps here #86620, but I think that there are better ideas in kubernetes/enhancements#1881 (comment)

/close
this is not the right fix, will be better if we can move away from the allocators

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ipv6 lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. sig/network Categorizes an issue or PR as relevant to SIG Network.
Projects
None yet
9 participants