Getting kubectl
There's better ways to install it for permanent use, but here's a quick way for temporary use:
export PATH=/tmp:$PATHNodes
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 kubectl
$ 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