Working with Kubernetes and KRM with Megan O'Keefe

Google Cloud Platform Podcast

Episode | Podcast

Date: Wed, 25 Aug 2021 00:00:00 +0000

<p>This week on the podcast, we welcome guest <a href="https://twitter.com/askmeegs">Megan O’Keefe</a> to talk about KRM and Kubernetes with your hosts <a href="https://twitter.com/markmirch">Mark Mirchandani</a> and <a href="https://twitter.com/agmsbwho">Anthony Bushong</a>. To start the show, Megan gives us a quick rundown of Kubernetes, an open-source tool to orchestrate containers and manage other GCP resources. She explains the difference between declarative and imperative to help us better understand the basics of Kubernetes.</p> <p>We tackle the challenges people face when beginning their Kubernetes journey and how it works with other open-source projects, like Anthos. This year, Megan and her team have been working to help developers understand the Kubernetes Resource Model, a concept that helps define how companies can organize and run clusters, enforce policies, and more for improved standardization across multiple teams.</p> <p>Megan explains GitOps, a deployment model for Kubernetes focusing on Git, and takes us through examples of implementation. We learn about Config Sync and how it helps with optimizing and automating GitOps. Megan goes over some other valuable tools, including Open Policy Agent and Gatekeeper, which help developers specify not just which resources are allowed, but also what kinds of things are allowed within each resource.</p> <p>We wrap up the show with a discussion on streamlining the development process with strategic use of Kubernetes and the help of open-source tools like Skaffold. Megan also talks about controllers like Config Connector that help with deploying to a GCP project and the things she finds most exciting about this space.</p> <h5 id="megan-o-keefe">Megan O’Keefe</h5> <p><a href="https://twitter.com/askmeegs">Megan O’Keefe</a> is a Developer Relations Engineer at Google Cloud, helping developers build platforms with Kubernetes and Anthos.</p> <h5 id="cool-things-of-the-week">Cool things of the week</h5> <ul> <li>Listen up! Google Cloud Reader reaches 50 episodes <a href="https://cloud.google.com/blog/topics/developers-practitioners/listen-google-cloud-reader-reaches-50-episodes"> blog</a></li> <li>Private Pools Overview <a href="https://cloud.google.com/build/docs/private-pools/private-pools-overview"> docs</a></li> </ul> <h5 id="interview">Interview</h5> <ul> <li>Kubernetes <a href="https://kubernetes.io">site</a></li> <li>GKE <a href="https://cloud.google.com/kubernetes-engine">site</a></li> <li>KRM <a href="https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/resource-management.md"> site</a></li> <li>KRM Tutorial Demos <a href="https://github.com/askmeegs/build-a-platform-with-krm">site</a></li> <li>Build a platform with KRM: Part 1 - What’s in a platform? <a href="https://cloud.google.com/blog/topics/developers-practitioners/build-platform-krm-part-1-whats-platform"> blog</a></li> <li>Build a platform with KRM: Part 2 - How the Kubernetes resource model works <a href="https://cloud.google.com/blog/topics/developers-practitioners/build-platform-krm-part-2-how-kubernetes-resource-model-works"> blog</a></li> <li>Build a platform with KRM: Part 3 - Simplifying Kubernetes app development <a href="https://cloud.google.com/blog/topics/developers-practitioners/build-platform-krm-part-3-simplifying-kubernetes-app-development"> blog</a></li> <li>Build a platform with KRM: Part 4 - Administering a multi-cluster environment <a href="https://cloud.google.com/blog/topics/developers-practitioners/build-platform-krm-part-4-administering-multi-cluster-environment"> blog</a></li> <li>Build a platform with KRM: Part 5 - Manage hosted resources from Kubernetes <a href="https://cloud.google.com/blog/topics/developers-practitioners/build-platform-krm-part-5-manage-hosted-resources-kubernetes"> blog</a></li> <li>I do declare! Infrastructure automation with Configuration as Data <a href="https://cloud.google.com/blog/products/containers-kubernetes/understanding-configuration-as-data-in-kubernetes"> blog</a></li> <li>Multi-cluster Use Cases <a href="https://cloud.google.com/anthos/multicluster-management/use-cases"> docs</a></li> <li>CNCF Kubernetes Overview <a href="https://landscape.cncf.io">site</a></li> <li>Anthos <a href="https://cloud.google.com/anthos">site</a></li> <li>Anthos Technical Overview <a href="https://cloud.google.com/anthos/docs/concepts/overview">docs</a></li> <li>Anthos Config Management <a href="https://cloud.google.com/anthos/config-management">site</a></li> <li>Config Sync Overview <a href="https://cloud.google.com/anthos-config-management/docs/config-sync-overview"> docs</a></li> <li>Guide To GitOps <a href="https://www.weave.works/technologies/gitops/">site</a></li> <li>Policy Controller Overview <a href="https://cloud.google.com/anthos-config-management/docs/concepts/policy-controller"> docs</a></li> <li>Kustomize <a href="https://kustomize.io">site</a></li> <li>Cloud Code <a href="https://cloud.google.com/code">site</a></li> <li>Config Connector Overview <a href="https://cloud.google.com/config-connector/docs/overview">docs</a></li> <li>Crossplane <a href="https://crossplane.io">site</a></li> <li>Skaffold <a href="https://skaffold.dev">site</a></li> <li>Open Policy Agent <a href="https://www.openpolicyagent.org">site</a></li> <li>Backstage <a href="https://backstage.io">site</a></li> </ul> <h5 id="what-s-something-cool-you-re-working-on">What’s something cool you’re working on?</h5> <p>Anthony shared info about GKE on <a href="https://gcppodcast.com/post/episode-272-gke-turns-six-with-anthony-bushong-gari-singh-and-kaslin-fields/"> the podcast last week</a> and he’s been working on his <a href="https://www.youtube.com/watch?v=vf3KF3DO0Oo">video series</a> on GKE cost optimization. The <a href="https://cloud.google.com/architecture/monitoring-gke-clusters-for-cost-optimization-using-cloud-monitoring"> solutions guide</a> and <a href="https://cloud.google.com/resources/principles-of-cost-optimization-whitepaper"> white paper</a> are great resources for this topic.</p>