👾 code and notes on cloud microservices, orchestration (e.g., cloud, terraform, kubernetes, docker, data engineering)
Find a file
2019-10-23 12:58:09 -07:00
kustomize-example Update README.md 2019-09-30 10:22:16 -07:00
node-server-example add some examples 2019-09-29 21:50:23 -07:00
other_infrastructure_resources/Chef_Examples 👾 Fix typos readme 2019-10-23 12:55:05 -07:00
README.md Merge branch 'master' into docs_fix_typo_readme 2019-10-23 12:58:09 -07:00

Learning Kubernetes

  • A Kubernetes cluster consists of Nodes (simialr to servers)

  • Nodes run Pods, which are collections of Docker containers. Containers in a Pod share the same network.

  • The Kubernetes object responsible for launching and maintaining the desired number of pods is called a Deployment.

  • Kubernetes provides objects called a Service so thart Pods to communicate with other Pods. They are tied to Deployments through Selectors and Labels, and they can be exposed to external clients either by exposing a NodePort as a static port on each Kubernetes node or by creating a LoadBalancer object/

  • Kubernetes provides the Secret object for managing sensitive information such as passwords, API keys, and other credentials.


Examples in this repository

Tools

Minikube

Minikube implements a local Kubernetes cluster on macOS, Linux, and Windows. You can install it following this instructions.

Kubectl

Kubectl is a command line interface for running commands against Kubernetes clusters. You can install it here.

Pods

Get pods:

kubectl get pods -n <namespace>

Debug pods:

kubectl describe pod <podname>

Get pod's log:

kubectl logs <podname>

Services

Get services:

kubectl get services -n <namespace>

Deployments

Get deployments:

kubectl get deployment -n <namespace>

Secrets

kubectl get secret

Namespaces

kubectl get namespaces

Configmaps

kubectl get configmaps -n <namespace>

Ingress

kubectl get ingress -n <namespace>

AWS Tools

References & Learning Resources