Files
awesome-kubernetes/docs/kubernetes.md
Inaki Fernandez 15225b3bfe code block fixed 2
2020-05-04 20:52:37 +02:00

48 KiB
Raw Blame History

Kubernetes

Kubernetes open-source container-orchestation

kubectl get --raw /openapi/v2  | jq '.paths | keys[]'
kubectl get configmap --namespace=<source> <configmap> --export -oyaml | sed "s/<source>/<dest>/" | kubectl apply --namespace=<dest>-f -

Kubernetes architecture

Certified Kubernetes Offerings

Operators

Tools for multi-cloud Kubernetes management

GKE vs EKS vs AKS

Kubernetes Tutorials

Kubernetes Cheat Sheets

Kubernetes Patterns

Kubernetes Networking

Kubernetes Sidecars

Kubernetes Storage

Local Installers

Production Cluster Installers

Deploying Kubernetes Cluster with Kops

  • Kubernetes Cluster with Kops
  • Minikube and docker client are great for local setups, but notfor real clusters. Kops and kubeadm are tools to spin up aproduction cluster. You don't need both tools, just one of them.
  • On AWS, the best tool is kops
  • At some point AWS EKS (hosted kubernetes) will be available, atthat point this will probably be the preferred option. (You won'tneed to maintain the masters).
  • For other installs, or if you can't get kops to work, you canuse kubeadm
  • kubeadm is an alternative approach, kops is stillrecommended (on AWS) - you also have AWS integrations with kopsautomatically
  • Setup kops in your windows with virtualbox.org andvagrantup.com . Once downloaded, to type a new linux VM, justspin up ubuntu via vagrant in cmd/powershel and run kopsinstaller:
    C:\ubuntu> vagrant init ubuntu/xenial64
    C:\ubuntu> vagrant up
    C:\ubuntu> vagrant ssh-config
    C:\ubuntu> vagrant ssh
    
    $ curl -LO https://github.com/kubernetes/kops/releases  download/$(curl -s https://api.github.com/reposkubernetes     kops/releases/latest | grep tag_name | cut -d'"' -f 4)  kops-linux-amd64
    $ chmod +x kops-linux-amd64
    $ sudo mv kops-linux-amd64 /usr/local/bin/kops
    

Deploying Kubernetes Cluster with Kubeadm

Deploying Kubernetes Cluster with Ansible

Kubespray

Conjure up

Comparative Analysis of Kubernetes Deployment Tools

WKSctl

Terraform

Caravan

linecorp.com: Building Large Kubernetes Clusters with Caravan

ClusterAPI

Microk8s

k8s-tew

  • k8s-tew Kubernetes is a fairly complex project. For a newbie it is hard to understand and also to use. While Kelsey Hightowers Kubernetes The Hard Way, on which this project is based, helps a lot to understand Kubernetes, it is optimized for the use with Google Cloud Platform.

VMware Kubernetes

Rancher: Enterprise management for Kubernetes

  • rancher.com Rancher is enterprise management for Kubernetes, an amazing GUI for managing and installing Kubernetes clusters. They have released a number of pieces of software that are part of this ecosystem, for example Longhorn which is a lightweight and reliable distributed block storage system for Kubernetes.
  • Rancher 2
  • Rancher 2 RKE Rancher 2 that runs in docker containers. RKE is a CNCF-certified Kubernetes distribution that runs entirely within Docker containers. It solves the common frustration of installation complexity with Kubernetes by removing most host dependencies and presenting a stable path for deployment, upgrades, and rollbacks.
  • k3s Basic kubernetes with automated installer.
    • K8s vs k3s "K3s is designed to be a single binary of less than 40MB that completely implements the Kubernetes API. In order to achieve this, they removed a lot of extra drivers that didn't need to be part of the core and are easily replaced with add-ons. K3s is a fully CNCF (Cloud Native Computing Foundation) certified Kubernetes offering. This means that you can write your YAML to operate against a regular "full-fat" Kubernetes and they'll also apply against a k3s cluster. Due to its low resource requirements, it's possible to run a cluster on anything from 512MB of RAM machines upwards. This means that we can allow pods to run on the master, as well as nodes. And of course, because it's a tiny binary, it means we can install it in a fraction of the time it takes to launch a regular Kubernetes cluster! We generally achieve sub-two minutes to launch a k3s cluster with a handful of nodes, meaning you can be deploying apps to learn/test at the drop of a hat."
  • k3d k3s that runs in docker containers.
  • k3OS k3OS is a Linux distribution designed to remove as much OS maintenance as possible in a Kubernetes cluster. It is specifically designed to only have what is needed to run k3s. Additionally the OS is designed to be managed by kubectl once a cluster is bootstrapped. Nodes only need to join a cluster and then all aspects of the OS can be managed from Kubernetes. Both k3OS and k3s upgrades are handled by the k3OS operator.
  • k3sup (said 'ketchup') is a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM. All you need is ssh access and the k3sup binary to get kubectl access immediately.
  • rancher.com: Custom alerts using Prometheus queries
  • Fleet Management for kubernetes a new open source project from the team at Rancher focused on managing fleets of Kubernetes clusters.
  • Announcing Hosted Rancher with Rancher 2.4 🌟🌟🌟
  • zdnet.com: Rancher Labs closes $40M funding round to "run Kubernetes everywhere" The six year-old startup is going after new markets that want to run Kubernetes clusters at the edge.
  • rancher.com/blog: Deploy Kubernetes Clusters on Microsoft Azure with Rancher
  • rancher.com/blog: Getting Started with Longhorn Distributed Block Storage and Cloud-Native Distributed SQL
k3s use cases kOS value add
rancher architecture

Helm and Kubernetes

Other tools

Demos

Spring PetClinic Sample Application

SpringBoot with Docker

Troubleshooting

Security

AWS EKS

Docker in Docker

Serverless with OpenFaas and Knative

Serverless

Container Ecosystem

Kubernetes components

Container Flowchart

Container flowchart

Videos