## resources on kubernetes
### tl; dr
1. a **kubernetes cluster** consists of nodes (similar to servers) 2. **nodes** run **pods**, which are collections of **docker containers** 3. **containers** in a pod share the same network 4. **deployment** is a kubernetes object responsible for launching and maintaining pods 6. **services** objects allow pods to communicate with other pods
--- ### examples in this repository
* [spin up a node server example](node-server-example) * [using kustomize for deployment](kustomize) * [using python cdk for deployment](python-cdk)
--- ### external resources
##### learning K8s * [Kubelabs](https://github.com/collabnix/kubelabs). * [Scalable Microservices with Kubernetes MOOC](https://www.udacity.com/course/scalable-microservices-with-kubernetes--ud615).
##### tools - [Minikube](https://github.com/kubernetes/minikube) implements a local Kubernetes cluster on macOS, Linux, and Windows. You can install it following [this instructions](https://minikube.sigs.k8s.io/docs/start/). - [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) is a command line interface for running commands against Kubernetes clusters. - [kubectx](https://github.com/ahmetb/kubectx) is a tool to switch between k8s contexts. - [k14s](https://k14s.io/): Kubernetes Tools that follow Unix philosophy to be simple, and composable.
##### tutorials * [Google's K8s 101](https://techdevguide.withgoogle.com/paths/cloud/sequence-2/kubernetes-101-pods-nodes-containers-and-clusters/#!). * [K8s Bootcamp](https://kubernetesbootcamp.github.io/kubernetes-bootcamp/). * [K8s the Hard Way](https://github.com/kelseyhightower/kubernetes-the-hard-way#labs). * [Kubernetes Community Overview and Contributions Guide](https://docs.google.com/presentation/d/1JqcALpsg07eH665ZXQrIvOcin6SzzsIUjMRRVivrZMg/edit?usp=sharing). * [An Intro to Google’s Kubernetes and How to Use It](http://www.ctl.io/developers/blog/post/what-is-kubernetes-and-how-to-use-it/). * [Getting Started on Kubernetes](http://containertutorials.com/get_started_kubernetes/index.html). * [Kubernetes: The Future of Cloud Hosting](https://github.com/meteorhacks/meteorhacks.github.io/blob/master/_posts/2015-04-22-learn-kubernetes-the-future-of-the-cloud.md). * [Kubernetes by Google](http://thevirtualizationguy.wordpress.com/tag/kubernetes/). * [Application Containers: Kubernetes and Docker from Scratch](http://keithtenzer.com/2015/06/01/application-containers-kubernetes-and-docker-from-scratch/). * [Learn the Kubernetes Key Concepts in 10 Minutes](http://omerio.com/2015/12/18/learn-the-kubernetes-key-concepts-in-10-minutes/). * [The Children's Illustrated Guide to Kubernetes](https://kubernetes.io/blog/2016/06/illustrated-childrens-guide-to-kubernetes/). * [The ‘kubectl run’ command](http://medium.com/@mhausenblas/the-kubectl-run-command-27c68de5cb76#.mlwi5an7o) . * [Docker Kubernetes Lab Handbook](https://github.com/xiaopeng163/docker-k8s-lab). * [Curated Resources for Kubernetes](https://hackr.io/tutorials/learn-kubernetes). * [Kubernetes Comic](https://cloud.google.com/kubernetes-engine/kubernetes-comic/). * [Kubernetes 101: Pods, Nodes, Containers, and Clusters](https://medium.com/google-cloud/kubernetes-101-pods-nodes-containers-and-clusters-c1509e409e16). * [An Introduction to Kubernetes](http://www.digitalocean.com/community/tutorials/an-introduction-to-kubernetes). * [Kubernetes and everything else - Introduction to Kubernetes and it's context](https://rinormaloku.com/introduction-application-architecture/). * [Installation on Centos 7](http://severalnines.com/blog/installing-kubernetes-cluster-minions-centos7-manage-pods-services) * [Setting Up a Kubernetes Cluster on Ubuntu 18.04](https://mherman.org/blog/2018/08/20/setting-up-a-kubernetes-cluster-on-ubuntu/) * [Cloud Native Landscape](https://landscape.cncf.io/) * [Kubernetes Tutorials by Kubernetes Team](http://kubernetes.io/docs/tutorials/) * [Kubernetes By Example by OpenShift Team](http://kubernetesbyexample.com) * [Kubernetes Tutorial by Tutorialspoint](http://www.tutorialspoint.com/kubernetes/) * [Imperative vs. Declarative — a Kubernetes Tutorial](https://medium.com/payscale-tech/imperative-vs-declarative-a-kubernetes-tutorial-4be66c5d8914).
##### MOOCs & Learning Vidoes * [Learn Kubernetes Youtube series](https://www.youtube.com/playlist?list=PL34sAs7_26wNBRWM6BDhnonoA5FMERax0). * [Scalable Microservices with Kubernetes at Udacity](http://in.udacity.com/course/scalable-microservices-with-kubernetes--ud615). * [Introduction to Kubernetes at edX](http://www.edx.org/course/introduction-kubernetes-linuxfoundationx-lfs158x).
##### Articles * [Digital Ocean: How we launched our marketplace using k8s](https://blog.digitalocean.com/how-we-launched-our-marketplace-using-digitalocean-kubernetes-part-1/). * [Are you Ready to Manage your Infrastructure like Google?](http://blog.jetstack.io/blog/k8s-getting-started-part1/). * [Google is years ahead when it comes to the cloud, but it's happy the world is catching up](http://www.businessinsider.in/Google-is-years-ahead-when-it-comes-to-the-cloud-but-its-happy-the-world-is-catching-up/articleshow/47793327.cms). * [Top Reasons Businesses Should Move to Kubernetes Now](http://supergiant.io/blog/top-reasons-businesses-should-move-to-kubernetes-now) .
##### Prometheus Operator * [Monitor external services with the prometheus operator](https://jpweber.io/blog/monitor-external-services-with-the-prometheus-operator/). * [Prometheus Operator — How to monitor an external service](https://devops.college/prometheus-operator-how-to-monitor-an-external-service-3cb6ac8d5acb).