Adds the ability to configure the number of Typha replicas when using Calico CNI in 1.12+
to limit the impact of Calico on the APIServer and increase the scalability of the cluster.
Also adds the ability to configure Typha's Prometheus config.
Add Passing TyphaReplicas Validation Test
Current docs still state that Calico uses etcd as the backend, makes clear that this only holds true for versions below 1.12 and adds a stanza around using APIServer without Typha for 1.12 onwards.
I'm hoping this will cut down on the confusion when reading the master branch's docs and seeing features not included in the latest stable Kops release..
A stopgap until we can properly version our documentation.
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.
fixes#2606
Most part of the changes are similar to current supported CNI networking
provider. Kube-router also support IPVS bassed service proxy which can
be used as replacement for kube-proxy. So the manifest for kube-router
included with this patch enables kube-router to provide pod-to-pod
networking, IPVS based service proxy and ingress pod firewall.
This gives the ability to a user to enable cross-subnet mode in Calico.
Also introduces a new addon that, full disclosure, I wrote.
[ottoyiu/k8s-ec2-srcdst](https://github.com/ottoyiu/k8s-ec2-srcdst)