diff options
| author | Matthew Cary <mattcary@google.com> | 2019-11-20 14:12:32 -0800 |
|---|---|---|
| committer | Matthew Cary <mattcary@google.com> | 2019-11-20 14:12:32 -0800 |
| commit | c45e5ee118eb96fe3f18d6ca76a251f03cdda0cf (patch) | |
| tree | eeed5d486734efa27fa0a7b8694a7093eac072a6 | |
| parent | 5b65dfbb7bbb448682db25eccd4ee8753d6d140a (diff) | |
MultiCluster 2019 unconference notes
| -rw-r--r-- | events/2019/11-contributor-summit/unconference-notes/Deploying_and_Scaling_Across_Multiple_Clusters-Vallery_Lancey.md | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/events/2019/11-contributor-summit/unconference-notes/Deploying_and_Scaling_Across_Multiple_Clusters-Vallery_Lancey.md b/events/2019/11-contributor-summit/unconference-notes/Deploying_and_Scaling_Across_Multiple_Clusters-Vallery_Lancey.md new file mode 100644 index 00000000..759aa0e7 --- /dev/null +++ b/events/2019/11-contributor-summit/unconference-notes/Deploying_and_Scaling_Across_Multiple_Clusters-Vallery_Lancey.md @@ -0,0 +1,84 @@ +#### Presenter: + Vallery Lancey + +#### Topic: + Unconference: Deploying and Scaling across Multiple Clsuters + +#### Date & time: + 11/18/2019 9:30am + +#### Notes + +Getting started: what is multicluster? +* Federation / copy across otherwise independent clusters +* Deployment: rollout changes + - Hard w/o big CI/CD changes + - Granularity of rollouts is hard, if you have two clusters how do you launch less + than 50% at a time + - Non-native k8s apps often don’t deal with with partial rollout. +* Big variety of use cases & solutions, custom implementations everywhere + +What is definition of multicluster? (vs just having a bunch of clusters) +* Deploy same app in multiple clusters + +What are reasons to run? +* Big range, very customer-dependent +* Range from east-coast/west coast clusters to a cluster in every cell tower +* Different fault domains +* Avoid canary deployments +* Backup environment for rollbacks + +Need tools above deployment layer, service meshes require committing to fearsome +stack (eg Istio) +* Example: how to generate Flagger to multicluster (Weaveworks incremental rollout + tool based on linkerd) +* Is there load balancing across clusters? +* Is the system aware of multiple clusters--basic things like how many clusters + to adjust rollout #s + +Why multi-cluster? +* Technical reasons (5k node limit, etc) vs customer/user need +* User needs include + - CI/CD + - High availability + - Blast radius (or is this a technical detail?) + - Isolated environments + - Data locality/federal regulations + - Disaster recovery + +Service meshes are an additional step for customers to migrate existing applications +to, but federation is needed now. This leads to custom solutions. + +What are multi-cluster building blocks? +* Deployment +* Service mesh. But this is too big and meshes are too opinionated, should be +broken into layers + - Service discovery + - Connectivity + - Ingress + - Routing + - Signals: alerts/health/observability + +Fundamental problems that define multicluster: +* Resource usage / technical limitations of data centers +* Administrative groups: independently run clusters that use common organizational + security policies +* Coordination across clusters +* Deployment +* Rollout new app +* Cascading triggers (service X launches which unblocks service Y to launch etc) + + +#### Key learnings / takeaways + +Multi-cluster is being used today, but in ad-hoc and specific ways. Common usage +patterns need to be discovered and standardized in order to learn how k8s needs +to be extended to support multi-cluster well. + + +#### Action items +* Survey on customer needs + - Rather than current usage, as that can be driven by legacy accidents +* Start defining building block/concepts +* Actually we also need to survey current solutions in order to identify building blocks +* Focus on defining minimal set of building blocks to avoid the usual k8s explosion. |
