Skip to content

Instantly share code, notes, and snippets.

@valter-jnr
Created March 16, 2018 14:02
Show Gist options
  • Save valter-jnr/d1852e1204b5da6689f5da6101d2830a to your computer and use it in GitHub Desktop.
Save valter-jnr/d1852e1204b5da6689f5da6101d2830a to your computer and use it in GitHub Desktop.
0 - Spin-up AWS cluster
- https://kubernetes.io/docs/getting-started-guides/aws/
- https://github.com/hjacobs/kubernetes-on-aws-users
- https://github.com/kubernetes/kops/blob/master/docs/aws.md
- https://medium.com/cloud-academy-inc/setup-kubernetes-on-aws-using-kops-877f02d12fc1
- https://github.com/kubernetes/kops
- https://github.com/aws-samples/aws-workshop-for-kubernetes
- https://github.com/kubernetes/kops/blob/master/docs/networking.md
- https://github.com/zalando-incubator/kubernetes-on-aws
- https://github.com/kubernetes-incubator/kube-aws
1 - Controllers
- Whatches the state of nodes via kube-api and when notified acts to change node
state to the desired state
2 - Services
- Are used to expose pods. we have 3 diferent types:
- ClusterIP (Which is accesseble only inside the cluster)
- NodePort Which binds a specific port and same port for all pods even in diferent nodes to a specif port Externally acessible)
- LoadBalancer which is Externally accessible loadbalance all requests
3 - Services Account
4 - Ingress
- Allows incoming requests, Repleces the Loadbanlancer
- https://github.com/zalando-incubator/kube-ingress-aws-controller
- https://github.com/kubernetes-incubator/external-dns/
4.1 - Namespace
- Separates logically the node into diferent namespaces or partitions
4.2 - Quotas
- Allows to allocate a pecific amount of resources from a cluster to a Namespace , Group, User.
5 - Deamon Sets
- Deploys a specific Pod to a node. Keeps the same number of pod from one kind as the number of Nodes. Use cases (Logging, Monitoring ...)
6 - Jobs
6.1 - Drawing a Node
- Remove all data and pods gracifully from a node which you wanna kill
6.2 - Pet Sets
Provide a static host to a Pod. Use Case (Clusterize a application inside the cluster Ex.: cassandra, ElasticSearch)
6.3 scheduller
7 - Depoyment Manifest
- It is a yaml definition of how our deploy gonna be. It is the best way to manage applications in the cluster
8 - Pods Manifests
- It is a yaml definition of how our Pod gonna be.
9 - Services Manifests
- It is a yaml definition of how our Services gonna be. See Services
9.1 - Secret
- Used to inject passwords as private keys into a pod
9.1 - Config Maps
- Used to inject configurations to a pod
10 - Stateful Applications
- Applications wich keeps state. Ex.: Database
11 - Stateless Applications
- Applications that do not need to keep state
12 - Storage and Persistence
- A Storage like ebs from AWS
12.1 - Networking
Allows comunication pods to pods. There are 3 types
- Flat Network (Route Tables) AWS with a limitation of 50 nodes into cluster.
- CNI Calio and Waeve
- Overlay
13 - Helm and Charts
- Helm is a tool for managing Kubernetes charts. Charts are packages of
pre-configured Kubernetes resources.
14 - sppinaker
- perform CI/CD
15 - CD/CI
16 - kubeadm
17 - HA Applications
- High Avability application. For kubernates in recommended have 3 masters and 3 - 5 htcd nodes
18 - Auto Scalling
- https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md
- i have k8s cluster by kops on aws. i have to install a few add-ons(external-dns, ingress controller and kube-lego) by helm
19 - Dicorverability
20 - Logging
- https://www.fluentd.org
21 - Health Check
- Probe readiness
- Probe liveness
22 - Monitoring
- APM Elastic
- Heapester
- cAdvisor
- Graphana
23 - Dashboards
- https://github.com/kubernetes/dashboard/wiki/Accessing-Dashboard---1.7.X-and-above
24 - Save Money (Sass K8 solutions or pay options)
- https://aws.amazon.com/blogs/compute/kubernetes-clusters-aws-coreos-tectonic/
25 - Traine the a devops if needed
26 - How use minikube as local development
27 - Ansible
- Automation ops functions
28 - AWS IAM Rules
- https://github.com/uswitch/kiam
- https://github.com/kubernetes/kops/blob/master/docs/aws.md#setup-iam-user
Docs
- https://docs.google.com/document/d/1x4DI30Q3YI8Sr3x4XNZ3dcjISL1rj2KbVnM1ld5S4KA/edit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment