Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
Introduction: https://docs.google.com/presentation/d/1zrfVlE5r61ZNQrmXKx5gJmBcXnoa_WerHEnTxu5SMco
envFrom:
- configMapRef:
name: eat-at-joe
Tip article: How to rollout or rollback a deployment on a Kubernetes cluster?
kubectl patch deployment $DEPLOYMENT \
-p'{"spec":{"template":{"spec":{"containers":[{"name":"$CONTAINER","image":"$IMAGE"}]}}}}'
kubectl rollout undo deployment/$DEPLOYMENT [--to-revision 42]
kubectl rollout status deployment/$DEPLOYMENT
kubectl rollout restart deployment $DEPLOYMENT
Available since kubectl 1.15 (client side feature), will respect the deployment strategy.
Poor-man's swiss-knife
for rt in deploy daemonset; do
echo $rt
kubectl get $rt --all-namespaces -o json | \
jq -r '.items[] | [.metadata.namespace, .metadata.name, .spec.replicas] + (.spec.template.spec.containers[] | [.name, .resources.requests.cpu, .resources.requests.memory ]) + [(.spec.template.spec.affinity.podAntiAffinity | @text) ] | @tsv'
echo
done
GKE is a managed Kubernetes cluster.
Checklist when things goes wrong: