Skip to content

Instantly share code, notes, and snippets.

@jaredmcqueen
Last active August 20, 2021 15:31
Show Gist options
  • Save jaredmcqueen/7c29c3e4a345a0a76e3be9587d6826fb to your computer and use it in GitHub Desktop.
Save jaredmcqueen/7c29c3e4a345a0a76e3be9587d6826fb to your computer and use it in GitHub Desktop.
brownbag

brownbag notes

get a k8s cluster up and running

  • KinD
  • k3sup
  • raspberry pis (rancher / k3s)
  • EKS/GKE/digital ocean
  • bare metal - install ingress controller (traefik) and load balancer (metallb)

use better tools

kubectl can be a pain to work with. Make your life better by using:

  • zsh auto-complete plugins
  • k9s github

deploy some "hello world" apps

Start by deploying apps at the command line. Easiest way to get up and running, but confusing to know what actually happens under the hood. Access your apps by using port-forwarding (easy), LoadBalancer (intermediate), or ingress controllers (advanced). These are some docker images that I have found to be the most helpful:

Now deploy those apps again using yaml files instead of kubectl commands

containerize deploy your own services

learn how to use dockerfiles, publish your containers to a container registry

start thinking about CI/CD

  • we want our service committed as code - duh!
  • we want our infrastructure (yaml) committed as code in a separate repo
  • we want any new containers (latest?) to be automatically built but not necessarily deployed
  • check out Argo

using ArgoCD

  • add an app
  • sync it
  • ArgoCD constantly wants to match state with what's found in git. IaC == current state
  • rips and replaces every time. That's not great.

using ArgoCD with Argo rollouts

  • canary / blue-green deployments

most useful resources on the web

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment