## 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](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 * [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)