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

Ability to Configure Typha for Calico CNI #7158

Closed
gjtempleton opened this issue Jun 18, 2019 · 1 comment · Fixed by #7528
Closed

Ability to Configure Typha for Calico CNI #7158

gjtempleton opened this issue Jun 18, 2019 · 1 comment · Fixed by #7528

Comments

@gjtempleton
Copy link
Member

gjtempleton commented Jun 18, 2019

1. Describe IN DETAIL the feature/behavior/change you would like to see.
The Calico deployment in k8s 1.12 currently sets the typha_replicas to 0 and typha_service_name: "none" in https://github.com/kubernetes/kops/blob/master/upup/models/cloudup/resources/addons/networking.projectcalico.org/k8s-1.12.yaml.template

The recommendation from the Calico docs when using the k8s APIServer as the datastore as kops does is that once a cluster goes above 50 nodes then Typha is used to lessen the impact on the k8s API Servers from Felix: https://docs.projectcalico.org/v3.4/getting-started/kubernetes/installation/calico#installing-with-the-kubernetes-api-datastoremore-than-50-nodes

I've seen #7051 and this doesn't change this behaviour and the recommendation is still the same with Calico v3.7 : https://docs.projectcalico.org/v3.7/getting-started/kubernetes/installation/calico#installing-with-the-kubernetes-api-datastoremore-than-50-nodes

To allow users to conform with this recommendation I propose adding the ability for users to modify their calico config to make use of Typha via editing their cluster and adding a typhaReplicas option to their networking: calico: ... stanza.

e.g.

...
networking:
  calico:
    crossSubnet: true
    typhaReplicas: 3
...

Setting typhaReplicas to a non zero positive integer would then have a number of effects:

  • Create a service for calico-typha
  • Set the typha_service_name to calico-typha in the Calico configmap to configure the calico-node pods to connect to Typha rather than directly to the API Server.
  • Set the number of replicas for the calico-typha deployment to the same value as typhaReplicas

The intention of this would be to act as an intermediate step between the complexity allowed for by: #6872 where people can scale their clusters to a massive degree using BGP Route Reflectors and the current 0 Typha, API server datastore default setup.
2. Feel free to provide a design supporting your feature request.

@gjtempleton gjtempleton changed the title Ability to Configure Typha for Calico Ability to Configure Typha for Calico CNI Jun 18, 2019
@gjtempleton
Copy link
Member Author

As discussed at office hours today I'll start work on a first cut of this over the next few days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant