Leader Election, with Mike Danese

Kubernetes Podcast from Google

Episode | Podcast

Date: Tue, 29 Sep 2020 19:37:47 +0000

<p>Kubernetes makes it easy to run distributed workloads, but how do you make sure that replicas don’t conflict with one another? You elect one as the leader. <a href="https://twitter.com/mikedanese">Mike Danese</a>, chair and TL of Kubernetes SIG Auth, joins a vegan and a carnivore to explain how Kubernetes implements leader election.</p> <p>Do you have something cool to share? Some questions? Let us know:</p> <ul> <li>web: <a href="https://kubernetespodcast.com">kubernetespodcast.com</a></li> <li>mail: <a href="mailto:kubernetespodcast@google.com">kubernetespodcast@google.com</a></li> <li>twitter: <a href="https://twitter.com/kubernetespod">@kubernetespod</a></li> </ul> <h3 id="chatter-of-the-week">Chatter of the week</h3> <ul> <li>What is a <a href="https://en.wikipedia.org/wiki/Staycation">staycation</a>?</li> <li>What is <a href="https://en.wikipedia.org/wiki/Steak">steak</a>? <ul> <li><a href="https://foursquare.com/v/beefsteak/5b562c43646e380039243321">Beefsteak</a>, vegetarian/vegan restaurant</li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Nachos">Nachos</a></li> </ul> <h3 id="news-of-the-week">News of the week</h3> <ul> <li><a href="https://chaos-mesh.org/blog/chaos-mesh-1.0-chaos-engineering-on-kubernetes-made-easier"> Chaos Mesh 1.0</a></li> <li>Azure news: <ul> <li><a href="https://azure.microsoft.com/en-us/blog/bring-innovation-anywhere-with-azures-multicloud-multiedge-hybrid-capabilities/"> AKS comes to Azure Stack HCI</a> (Preview)</li> <li><a href="https://github.com/Azure/AKS/releases/tag/2020-09-21">AKS adds stopping/restarting clusters, Kubernetes 1.19, confidential compute nodes</a> (Preview)</li> <li><a href="https://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/"> Bridge to Kubernetes is GA</a></li> </ul> </li> <li><a href="https://istio.io/latest/blog/2020/steering-election-results/">Istio Steering Committee election results</a></li> <li><a href="https://openservicemesh.io/blog/open-service-mesh-osm-accepted-into-cncf-as-a-sandbox-project/"> OpenServiceMesh joins the CNCF Sandbox</a></li> <li><a href="https://odo.dev/blog/odo-200-ga-release/">Odo 2.0.0 GA</a> <ul> <li><a href="https://memory-alpha.fandom.com/wiki/Odo">Odo from Deep Space 9</a></li> </ul> </li> <li><a href="https://determined.ai/blog/determined-on-kubernetes/">Determined AI on Kubernetes</a></li> <li><a href="https://cloud.google.com/blog/products/serverless/cloud-run-for-anthos-adds-events"> Cloud Run for Anthos adds events</a></li> <li><a href="https://tanzu.vmware.com/content/blog/introducing-kubeacademy-pro-in-depth-kubernetes-training-totally-free"> KubeAcademy Pro from VMware</a></li> <li><a href="https://www.cncf.io/blog/2020/09/23/kubecon-cloudnativecon-europe-2020-virtual-conference-transparency-report-a-very-successful-first-virtual-event/"> KubeCon EU 2020 transparency report</a></li> <li><a href="https://www.cncf.io/blog/2020/09/24/scholarships-at-kubecon-cloudnativecon-north-america-2020-virtual-apply-now/"> Scholarships for KubeCon NA 2020</a> are open for application</li> </ul> <h3 id="links-from-the-interview">Links from the interview</h3> <ul> <li><a href="https://www.universitylabpartners.org/blog/wet-lab-vs-dry-lab-for-your-life-science-startup"> Wet labs and dry labs</a></li> <li><a href="https://en.wikipedia.org/wiki/Thread_(computing)">Threads</a> <ul> <li><a href="https://stackoverflow.com/questions/200469/what-is-the-difference-between-a-process-and-a-thread"> What is the difference between processes and threads?</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Lock_(computer_science)">Mutex or lock</a> <ul> <li><a href="https://stackoverflow.com/questions/34524/what-is-a-mutex">What is a mutex?</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Critical_section">Critical section</a></li> <li><a href="https://en.wikipedia.org/wiki/Compare-and-swap">Compare-and-swap</a></li> <li><a href="https://www.247allentownemergencylocksmith.com/blog/24-hour-locksmith-allentown/hilarious-gas-station-bathroom-keys/"> Gas station bathroom keys</a></li> <li><a href="https://en.wikipedia.org/wiki/Futex">Futex</a></li> <li>Lock server: <ul> <li><a href="https://research.google/pubs/pub27897/">Chubby</a></li> <li><a href="https://etcd.io/">etcd</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Optimistic_concurrency_control">Optimistic concurrency</a></li> <li><a href="https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions"> Resource versions</a></li> <li><a href="https://cloud.google.com/kubernetes-engine/docs/concepts/types-of-clusters#regional_clusters"> Regional clusters in GKE</a></li> <li><a href="https://en.wikipedia.org/wiki/Leader_election">Leader election</a></li> <li><a href="https://pkg.go.dev/k8s.io/client-go/tools/leaderelection">Leader election client in Kubernetes’ client-go</a> <ul> <li><a href="https://carlosbecker.com/posts/k8s-leader-election">An example of using it</a> by Carlos Becker</li> <li><a href="https://github.com/kubernetes/kubernetes/pull/64246">The new Lease API</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Paxos_(computer_science)">Paxos</a> and <a href="https://en.wikipedia.org/wiki/Raft_(computer_science)">Raft</a></li> <li><a href="https://en.wikipedia.org/wiki/Deadlock">Deadlock</a></li> <li><a href="https://en.wikipedia.org/wiki/Split-brain">Split brain</a></li> <li><a href="https://twitter.com/mikedanese">Mike Danese on Twitter</a> and <a href="https://github.com/mikedanese">GitHub</a></li> </ul>