1
1
mirror of https://github.com/namibia/awesome-cheatsheets.git synced 2024-06-06 14:30:48 +00:00

Kubernetes: improve cheatsheet formatting

This commit is contained in:
Julien Le Coupanec 2018-03-01 16:05:49 -08:00
parent 712903ad4e
commit 3c963586cf

View File

@ -2,39 +2,79 @@
# KUBERNETES # KUBERNETES
############################################################################## ##############################################################################
############################################################################## ##############################################################################
# CLIENT CONFIGURATION # CLIENT CONFIGURATION
############################################################################## ##############################################################################
source <(kubectl completion bash) # Setup autocomplete in bash; bash-completion package should be installed first
kubectl config view # View Kubernetes config # Setup autocomplete in bash; bash-completion package should be installed first
kubectl config view -o jsonpath='{.users[?(@.name == "k8s")].user.password}' # View specific config items by json path source <(kubectl completion bash)
kubectl config set-credentials kubeuser/foo.kubernetes.com \ # Set credentials for foo.kuberntes.com
--username=kubeuser --password=kubepassword # View Kubernetes config
kubectl config view
# View specific config items by json path
kubectl config view -o jsonpath='{.users[?(@.name == "k8s")].user.password}'
# Set credentials for foo.kuberntes.com
kubectl config set-credentials kubeuser/foo.kubernetes.com --username=kubeuser --password=kubepassword
############################################################################## ##############################################################################
# VIEWING, FINDING RESOURCES # VIEWING, FINDING RESOURCES
############################################################################## ##############################################################################
kubectl get services # List all services in the namespace
kubectl get pods -o wide --all-namespaces # List all pods in all namespaces in wide format # List all services in the namespace
kubectl get pods -o json # List all pods in json (or yaml) format kubectl get services
kubectl describe nodes my-node # Describe resource details (node, pod, svc)
kubectl get services --sort-by=.metadata.name # List services sorted by name # List all pods in all namespaces in wide format
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount' # List pods sorted by restart count kubectl get pods -o wide --all-namespaces
kubectl rolling-update frontend-v1 -f frontend-v2.json # Rolling update pods for frontend-v1
kubectl scale --replicas=3 rs/foo # Scale a replicaset named 'foo' to 3 # List all pods in json (or yaml) format
kubectl scale --replicas=3 -f foo.yaml # Scale a resource specified in "foo.yaml" to 3 kubectl get pods -o json
for i in 0 1; do kubectl exec foo-$i -- sh -c 'echo $(hostname) > /usr/share/nginx/html/index.html'; done # Execute a command in every pod / replica
# Describe resource details (node, pod, svc)
kubectl describe nodes my-node
# List services sorted by name
kubectl get services --sort-by=.metadata.name
# List pods sorted by restart count
kubectl get pods --sort-by='.status.containerStatuses[0].restartCount'
# Rolling update pods for frontend-v1
kubectl rolling-update frontend-v1 -f frontend-v2.json
# Scale a replicaset named 'foo' to 3
kubectl scale --replicas=3 rs/foo
# Scale a resource specified in "foo.yaml" to 3
kubectl scale --replicas=3 -f foo.yaml
# Execute a command in every pod / replica
for i in 0 1; do kubectl exec foo-$i -- sh -c 'echo $(hostname) > /usr/share/nginx/html/index.html'; done
############################################################################## ##############################################################################
# MANAGE RESOURCES # MANAGE RESOURCES
############################################################################## ##############################################################################
kubectl explain pods,svc # Get documentation for pod or service
kubectl create -f ./my-manifest.yaml # Create resource(s) like pods, services or daemonsets # Get documentation for pod or service
kubectl apply -f ./my-manifest.yaml # Apply a configuration to a resource kubectl explain pods,svc
kubectl run nginx --image=nginx # Start a single instance of Nginx
# Create resource(s) like pods, services or daemonsets
kubectl create -f ./my-manifest.yaml
# Apply a configuration to a resource
kubectl apply -f ./my-manifest.yaml
# Start a single instance of Nginx
kubectl run nginx --image=nginx
# Create a secret with several keys
cat <<EOF | kubectl create -f - cat <<EOF | kubectl create -f -
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
@ -44,16 +84,31 @@ type: Opaque
data: data:
password: $(echo "s33msi4" | base64) password: $(echo "s33msi4" | base64)
username: $(echo "jane"| base64) username: $(echo "jane"| base64)
EOF # Create a secret with several keys EOF
kubectl delete -f ./my-manifest.yaml # Delete a resource
# Delete a resource
kubectl delete -f ./my-manifest.yaml
############################################################################## ##############################################################################
# MONITORING & LOGGING # MONITORING & LOGGING
############################################################################## ##############################################################################
kubectl create -f deploy/kube-config/standalone/ # Deploy Heapster from Github repository
kubectl top node # Show metrics for nodes # Deploy Heapster from Github repository
kubectl top pod # Show metrics for pods kubectl create -f deploy/kube-config/standalone/
kubectl top pod pod_name --containers # Show metrics for a given pod and its containers
kubectl logs pod_name # Dump pod logs (stdout) # Show metrics for nodes
kubectl logs -f pod_name -c my-container # Stream pod container logs (stdout, multi-container case) kubectl top node
# Show metrics for pods
kubectl top pod
# Show metrics for a given pod and its containers
kubectl top pod pod_name --containers
# Dump pod logs (stdout)
kubectl logs pod_name
# Stream pod container logs (stdout, multi-container case)
kubectl logs -f pod_name -c my-container