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

Detail Calico BGP route reflector requirements #6047

Merged
merged 2 commits into from
Nov 11, 2018
Merged

Detail Calico BGP route reflector requirements #6047

merged 2 commits into from
Nov 11, 2018

Conversation

Vlaaaaaaad
Copy link
Contributor

As per Lance Robson's( aka @lwr20 ) message in Slack, above 50-100 nodes Calico recommends usage of BGP route reflectors:

Clearly I'm not impartial here, but I can tell you that we test Calico to 5K nodes.
We recommend BGP route reflectors once you go above ~50-100 nodes (we test up to 100 nodes without RRs). The reason for RRs is that by default calico sets up BGP connections in a full mesh - clearly the number of connections will scale as the number of nodes squared. With RRs, the number of BGP connections scales linearly with nodes - but then you have to manage the RRs too.
The next version of Calico (v3.3 - code is in master already, but not heavily tested yet) will bring a feature to make RRs much easier to deploy - just annotate a few nodes and they become RRs.

Adding this detail to documentation as I recently got a cluster with such issues.

As per Lance Robson's message in Slack,
https://kubernetes.slack.com/archives/C3QUFP0QM/p1537959279000100?thread_ts=1537951563.000100&cid=C3QUFP0QM
above 50-100 nodes Calico recommends usage of BGP route reflectors:
> Clearly I'm not impartial here, but I can tell you that we test Calico to 5K
>  nodes.
> We recommend BGP route reflectors once you go above ~50-100 nodes (we test up
>  to 100 nodes without RRs).  The reason for RRs is that by default calico sets up
>  BGP connections in a full mesh - clearly the number of connections will scale as
>  the number of nodes squared.  With RRs, the number of BGP connections scales
>  linearly with nodes - but then you have to manage the RRs too.
> The next version of Calico (v3.3 - code is in master already, but not heavily
>  tested yet) will bring a feature to make RRs much easier to deploy - just
>  annotate a few nodes and they become RRs.

Adding this detail to documentation as I recently got a cluster with such
issues.
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Nov 6, 2018
@k8s-ci-robot
Copy link
Contributor

Hi @Vlaaaaaaad. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

I understand the commands that are listed here.

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.

@k8s-ci-robot k8s-ci-robot added the size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. label Nov 6, 2018
docs/networking.md Outdated Show resolved Hide resolved
@justinsb
Copy link
Member

justinsb commented Nov 9, 2018

/approve
/lgtm

Thanks @Vlaaaaaaad

Seems like a fairly big limitation of calico :-(

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Nov 9, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: justinsb, Vlaaaaaaad

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 9, 2018
@Vlaaaaaaad
Copy link
Contributor Author

This is a docs change and has 0 impact. Might be a flaky test? Either way, rerunning.

/test pull-kops-e2e-kubernetes-aws

@k8s-ci-robot
Copy link
Contributor

@Vlaaaaaaad: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to this:

This is a docs change and has 0 impact. Might be a flaky test? Either way, rerunning.

/test pull-kops-e2e-kubernetes-aws

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.

@justinsb
Copy link
Member

justinsb commented Nov 9, 2018

Yes, it's a boo-boo where the CNCF test account lost quota in a few regions: kubernetes/test-infra#10043

I'll make sure we get this merged once e.g. kubernetes/test-infra#10116 lands

@justinsb
Copy link
Member

/retest

@k8s-ci-robot k8s-ci-robot merged commit 826aa96 into kubernetes:master Nov 11, 2018
@Vlaaaaaaad Vlaaaaaaad deleted the calico-route-reflector-docs branch November 11, 2018 07:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants