Getting kubectl
There's better ways to install it for permanent use, but here's a quick way for temporary use:
export PATH=/tmp:$PATH cd /tmp; curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl; chmod 555 kubectlNodes
$ kubectl get nodes $ kubectl get nodes/gke-hello-world-default-pool-9dbb0d2c-5qkl --show-labels $ kubectl label nodes --all mylabel=myvalue $ kubectl label nodes --all mylabel-
Namespaces
$ kubectl get all -n mynamespaceRBAC
What permissions do I have?
kubectl auth can-i --listAll clusterrolebindings:
kubectl get clusterrolebinding -o yamlRole bindings for all namespaces:
kubectl get rolebinding --all-namespaces -o yamlPrivileges of current user:
kubectl create -f - -o yaml << EOF apiVersion: authorization.k8s.io/v1 kind: SelfSubjectRulesReview spec: namespace: system EOF
DaemonSet
Creating a daemonset:
$ echo 'apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: daemonset-example spec: template: metadata: labels: app: daemonset-example spec: containers: - name: daemonset-example image: ubuntu:trusty command: - /bin/sh args: - -c - >- while [ true ]; do echo "DaemonSet running on $(hostname)" ; sleep 10 ; done ' | kubectl create -f -
$ kubectl delete daemonset daemonset-example
Get a shell in a container
$ kubectl run --rm=true -i --tty ubuntu --image=ubuntu -- /bin/bash # Or with an existing container $ kubectl exec -it shell-demo -- /bin/bash