    1  ip a
    2  sudo apt install git vim -y
    3  git clone https://github.com/sandervanvugt/cka
    4  cd cka
    5  ls *sh
    6  ./setup-container.sh 
    7  ls
    8  ls *sh
    9  ./setup-kubetools-previousversion.sh 
   10  sudo apt install jq -y
   11  history
   12  sudo kubeadm init
   13  history
   14  mkdir ~/.kube
   15  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
   16  sudo chown $(id -u):$(id -g) $HOME/.kube/config
   17  kubectl get all
   18  #kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
   19  kubectl get pods -n kube-system
   20  kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
   21  kubectl get pods -n kube-system
   22  kubectl get ds -n kube-system
   23  kubectl get nodes
   24  history
   25  kubectl create testapp --image=nginx --replicas=3
   26  kubectl create deploy testapp --image=nginx --replicas=3
   27  kubectl get all -o wide
   28  history
   29  cd ..
   30  ls
   31  tar xvf helm-v3.14.4-linux-amd64.tar.gz 
   32  sudo mv linux-amd64/helm /usr/local/bin
   33  helm upgrade --install ingress-nginx ingress-nginx --repo https://kubernetes.github.io/ingress-nginx --namespace ingress-nginx --create-namespace
   34  source <(kubectl completion bash)
   35  kubectl get pods -n ingress-nginx 
   36  kubectl create deploy nginxsvc --image=nginx --replicas=3
   37  kubectl get all --selector app=nginxsvc
   38  kubectl expose deploy nginxsvc 
   39  kubectl expose deploy nginxsvc --port=80
   40  kubectl get all --selector app=nginxsvc
   41  kubectl describe svc nginxsvc 
   42  kubectl create ingress nginxsvc --class=nginx --rule=nginxsvc.info/*=nginxsvc:80
   43  kubectl describe ing nginxsvc 
   44  sudo vim /etc/hosts
   45  kubectl port-forward -n ingress-nginx svc/ingress-nginx-controller 8080:80
   46  bg
   47  curl nginxsvc.info
   48  curl nginxsvc.info:8080
   49  history
   50  curl nginxsvc.info:8080
   51  kubectl edit svc nginxsvc 
   52  curl nginxsvc.info:8080
   53  kubectl describe ing nginxsvc 
   54  kubectl describe svc nginxsvc 
   55  kubectl edit svc nginxsvc 
   56  curl nginxsvc.info:8080
   57  history
   58  kubectl create ns limited
   59  kubectl create quota -h | less
   60  kubectl create quota qtest --hard pods=3,cpu=100m,memory=500Mi --namespace=limited
   61  kubectl describe quota -n limited 
   62  kubectl describe ns limited
   63  kubectl create deploy nginx --image=nginx --replicas=3 -n limited
   64  kubectl get all -n limited
   65  kubectl describe -n limited rs nginx-7854ff8877 
   66  kubectl describe ns limited
   67  kubectl set resources -h | less
   68  kubectl set -n limited resources deploy nginx --requests cpu=100m,memory=5Mi --limits cpu=200m,memory=20Mi
   69  kubectl get all -n limited
   70  kubectl describe ns limited
   71  kubectl edit quota -n limited  qtest 
   72  kubectl describe ns limited
   73  kubectl scale -n limited deployment nginx --replicas=2
   74  kubectl scale -n limited deployment nginx --replicas=3
   75  kubectl describe ns limited
   76  history
   77  kubectl edit node control 
   78  kubectl cordon worker1
   79  kubectl edit node worker1
   80  kubectl get nodes
   81  kubectl uncordon worker1
   82  kubectl get pods -n kube-system
   83  kubectl drain node worker1
   84  kubectl drain worker1 
   85  kubectl get nodes
   86  kubectl edit node worker1
   87  kubectl get nodes
   88  kubectl get pods -o wide
   89  kubectl drain worker1
   90  kubectl get nodes
   91  kubectl drain worker1 --ignore-daemonsets
   92  kubectl edit node worker1
   93  kubectl get pods -o wide
   94  kubectl get nodes
   95  kubectl create deploy ready --image=nginx --replicas=3
   96  kubectl get pods -o wide --selector app=ready
   97  kubectl get nodes
   98  kubectl scale deploy ready --replicas=0
   99  kubectl scale deploy ready --replicas=3
  100  kubectl get pods -o wide --selector app=ready
  101  cd cka/
  102  vim networkpolicy-example.yaml 
  103  git pull
  104  vim nwpolicy-complete-example.yaml 
  105  kubectl apply -f nwpolicy-complete-example.yaml 
  106  kubectl expose pod nginx --port=80
  107  kubectl exec -it busybox -- wget --spider --timeout=1 nginx
  108  kubectl label pod busybox access=true
  109  kubectl exec -it busybox -- wget --spider --timeout=1 nginx
  110  kubectl create ns nwp-namespace
  111  vim nwp-lab9-1.yaml 
  112  kubectl apply -f nwp-lab9-1.yaml 
  113  kubectl expose pod nwp-nginx --port=80
  114  kubectl exec -n nwp-namespace nwp-busybox -- wget --spider --timeout=1 nwp-nginx
  115  kubectl exec -n nwp-namespace nwp-busybox -- nslookup nwp-nginx
  116  kubectl exec -n nwp-namespace nwp-busybox -- wget --spider --timeout=1 nwp-nginx.default.svc.cluster.local
  117  vim nwp-lab9-2.yaml 
  118  kubectl apply -f nwp-lab9-2.yaml 
  119  kubectl exec -n nwp-namespace nwp-busybox -- wget --spider --timeout=1 nwp-nginx.default.svc.cluster.local
  120  kubectl create deploy busybox --image=busybox -- sleep 3600
  121  kubectl exec -it busybox-6fc6c44c5b-x5vrx -- wget --spider --timeput=1 nwp-nginx
  122  kubectl exec -it busybox-6fc6c44c5b-x5vrx -- wget --spider --timeout=1 nwp-nginx
  123  kubectl delete -f nwp-lab9-2.yaml 
  124  history
  125  kubectl top
  126  kubectl top pod
  127  cd
  128  git clone https://github.com/kubernetes-sigs/metrics-server.git
  129  cd metrics-server/
  130  ls
  131  kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
  132  kubectl -n kube-system get pods
  133  kubectl logs -n kube-system metrics-server-6d94bc8694-76vzc 
  134  kubectl -n kube-system get deploy
  135  kubectl -n kube-system edit deployments.apps metrics-server 
  136  kubectl get pods -n kube-system 
  137  kubectl top pods
  138  cd /etc/kubernetes/manifests/
  139  ls
  140  cd
  141  cd -
  142  less kube-scheduler.yaml 
  143  sudo less kube-scheduler.yaml 
  144  cd
  145  kubectl run auto-web --image=nginx --dry-run=client -o yaml > auto-web.yaml
  146  cat auto-web.yaml 
  147  kubectl get pods
  148  cd /etc/kubernetes/manifests/
  149  ls -l
  150  sudo apt install etcd-client
  151  sudo etcdctl --help
  152  sudo ETCDCTL_API=3 etcdctl --help
  153  ps aux | grep etcd
  154  cd ../pki/
  155  ls
  156  cd etcd/
  157  ls
  158  cd
  159  sudo ETCDCTL_API=3 etcdctl --endpoints localhost:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key get / --prefix --keys-only
  160  sudo ETCDCTL_API=3 etcdctl --endpoints localhost:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key snapshot save /tmp/etcdbackup.db
  161  ls -l /tmp/etcdbackup.db 
  162  sudo ETCDCTL_API=3 etcdctl --endpoints localhost:2379 --cacert /etc/kubernetes/pki/etcd/ca.crt --cert /etc/kubernetes/pki/etcd/server.crt --key /etc/kubernetes/pki/etcd/server.key snapshot save /tmp/etcdbackup-$(date +%d-%m-%y).db
  163  cd /etc/kubernetes/manifests/
  164  ls
  165  sudo vim etcd.yaml
  166  cd
  167  history
  168  sudo ETCDCTL_API=3 etcdctl --write-out=table snapshot status /tmp/etcdbackup.db 
  169  cp /tmp/etcdbackup.db /tmp/etcdbackup.db.2
  170  kubectl get deploy
  171  kubectl delete deploy --all
  172  cd /etc/kubernetes/manifests/
  173  ls
  174  ls ..
  175  sudo mv * ..
  176  ls
  177  sudo crictl ps
  178  sudo mkdir /var/lib/etcd-backup
  179  sudo ETCDCTL_API=3 etcdctl snapshot restore /tmp/etcdbackup.db --data-dir /var/lib/etcd-backup
  180  sudo rmdir /var/lib/etcd-backup/
  181  sudo ETCDCTL_API=3 etcdctl snapshot restore /tmp/etcdbackup.db --data-dir /var/lib/etcd-backup
  182  sudo ls -l /var/lib/etcd-backup/
  183  sudo ls -l /var/lib/etcd-backup/member
  184  sudo ls -l /var/lib/etcd/member
  185  sudo vim /etc/kubernetes/etcd.yaml 
  186  sudo mv ../*.yaml .
  187  ls
  188  sudo crictl ps
  189  kubectl get deploy -A
  190  sudo mv ../*.yaml .
  191  sudo mv *.yaml ..
  192  ls
  193  vim ../etcd.yaml 
  194  sudo vim ../etcd.yaml 
  195  sudo mv /var/lib/etcd /var/lib/etcd.old
  196  sudo mv /var/lib/etcd-backup /var/lib/etcd
  197  sudo vim ../etcd.yaml 
  198  mv ../*.yaml .
  199  sudo mv ../*.yaml .
  200  sudo crictl ps
  201  kubectl get deploty
  202  kubectl get deploy
  203  cd
  204  history
  205  sudo apt update
  206  sudo apt-cache madison kubeadm
  207  kubeadm version
  208  sudo apt update
  209  sudo apt-cache madison kubeadm
  210  sudo apt-mark unhold kubeadm
  211  udo apt-get update && sudo apt-get install -y kubeadm='1.29.3-*'
  212  sudo apt-get update && sudo apt-get install -y kubeadm='1.29.3-*'
  213  pager /etc/apt/sources.list.d/kubernetes.list
  214  vim /etc/apt/sources.list.d/kubernetes.list
  215  sudo vim /etc/apt/sources.list.d/kubernetes.list
  216  history
  217  sudo apt update
  218  sudo apt-cache madison kubeadm
  219  sudo apt-get update && sudo apt-get install -y kubeadm='1.29.3-1'
  220  sudo apt-get update && sudo apt-get install -y kubeadm='1.29.3-1.1'
  221  sudo apt-mark hold kubeadm
  222  kubeadm version
  223  sudo kubeadm upgrade plan
  224  sudo kubeadm upgrade apply v1.29.3
  225  sudo apt-mark unhold kubelet kubectl
  226  sudo apt-get update && sudo apt-get install -y kubelet='1.29.3-1.1' kubectl='1.29.3-1.1'
  227  sudo apt-mark hold kubelet kubectl
  228  sudo systemctl daemon-reload
  229  sudo systemctl restart kubelet
  230  kubectl get nodes
  231  kubectl get pods
  232  history
  233  kubectl edit node control 
  234  kubectl get pods -A -o wide
  235  kubectl explain pod.spec.nodeSelector
  236  cd cka/
  237  vim selector-pod.yaml 
  238  kubectl apply -f selector-pod.yaml 
  239  kubectl delete pods --all
  240  kubectl apply -f selector-pod.yaml 
  241  kubectl get pods
  242  kubectl describe pods nginx
  243  kubectl label nodes worker2 disktype=ssd
  244  kubectl get pods
  245  kubectl taint nodes worker1 example-key=value1:NoSchedule
  246  kubectl describe nodes worker1
  247  kubectl cordon worker2
  248  kubectl create deploy nginx-taint --image=nginx
  249  kubectl scale deploy nginx-taint --replicas=3
  250  kubectl get pods -o wide
  251  vim taint-toleration.yaml 
  252  kubectl apply -f taint-toleration.yaml 
  253  kubectl get pods
  254  kubectl get pods -o wide
  255  kubectl edit node worker1
  256  kubectl edit node worker2
  257  kubectl get nodes
  258  kubectl get pods -o wide
  259  vim pod-with-node-affinity.yaml 
  260  vim pod-with-node-anti-affinity.yaml 
  261  vim pod-with-node-antiaffinity.yaml 
  262  vim pod-with-pod-affinity.yaml 
  263  history
  264  kubectl create role -h | less
  265  #kubectl create role pod-reader --verb=get --verb=list --verb=watch --resource=pods
  266  kubectl create ns roles
  267  kubectl create role viewers --verb=get --verb=list --verb=watch --resource=pods -n roles
  268  kubectl run viewpod --image=nginx --dry-run=client -o yaml > viewpod.yaml
  269  kubectl create sa viewers
  270  kubectl explain pod.spec.serviceaccount
  271  kubectl explain pod.spec.serviceAccount
  272  vim viewpod.yaml 
  273  kubectl get sa -n roles
  274  kubectl create sa viewers -n roles
  275  kubectl get sa -n roles
  276  vim viewpod.yaml 
  277  kubectl explain pod.metadata
  278  vim viewpod.yaml 
  279  kubectl get roles -n roles
  280  kubectl create rolebinding -h | less
  281  #kubectl create rolebinding admin-binding --role=admin --serviceaccount=monitoring:sa-dev
  282  kubectl -n roles create rolebinding viewers --role=viewers --serviceaccount=roles:viewers
  283  kubectl get roles,rolebindings,sa -n roles
  284  history
  285  kubectl api-resources | less
  286  kubectl get roles,rolebindings,sa -n roles
  287  kubectl get pods -n kube-system
  288  kubectl get -n kube-system pod metrics-server-67fc4df55-9ddb8 -o yaml | grep -i serviceacc
  289  kubectl config view
  290  history

