Wednesday, 25 January 2023

Useful notes for CKA exam

 

## Shortcuts to save time 

export do="--dry-run=client -o yaml"

export now="--force --grace-period 0"

k delete pod x $now

alias kn='kubectl config set-context --current --namespace '

kn my-namespace 


## JOIN KUBE CLUSTER ##

kubeadm token create --print-join-command


## Check Service CIDR ##

ssh cluster1-controlplane1

cat etc/kubernetes/manifests/kube-apiserver.yaml | grep range


## CNI Plugin is configured and where is its config file ##

find /etc/cni/net.d/

cat /etc/cni/net.d/10-weave.conflist


## Show Latest events ##

kubectl get events -A --sort-by=.metadata.creationTimestamp


### find pod running on cluster2-node1

k -n kube-system get pod -o wide | grep proxy 


## killing pod on a node 

  crictl ps | grep kube-proxy

        crictl stop e6fe93fbaec50

        crictl rm e6fe93fbaec50

        crictl ps | grep kube-proxy


## Write the names of all namespaced resources into file 

 k api-resources --namespaced -o name > /opt/course/16/resources.txt


## Check which namspace has more role (count )

  k -n <namespacename> get role --no-headers | wc -l


cat <<EOF | kubectl apply -f -

---

apiVersion: rbac.authorization.k8s.io/v1

kind: Role

metadata:

  name: app-role

  namespace: project-hamster

rules:

  - apiGroups:

        - ""

        - apps

        - autoscaling

        - batch

        - extensions

        - policy

        - rbac.authorization.k8s.io

    resources:

      - configmaps

      - secrets


    verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

EOF



cat <<EOF | kubectl apply -f -

---

apiVersion: rbac.authorization.k8s.io/v1

kind: RoleBinding

metadata:

  name: app-rolebinding

  namespace: project-hamster 

roleRef:

  apiGroup: rbac.authorization.k8s.io

  kind: Role

  name: app-role 

subjects:

- namespace: webapps 

  kind: ServiceAccount

  name: processor

EOF

Tuesday, 26 July 2022

Creating EKS cluster

 https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html

Checking EKS status using aws cli

 


aws eks describe-cluster \

    --region us-east-1 \

    --name my-cluster \

    --query "cluster.status"

Creating EKS using aws CLI

 aws eks create-cluster --region us-east-1 --name my-cluster --kubernetes-version 1.22 \

   --role-arn arn:aws:iam::73095:role/AmazonEKSClusterRole \

   --resources-vpc-config subnetIds=subnet-0814938360f2fdf5b,subnet-040ad1e2b5ffe4775



KUBE master setup

 root@kubernetes-master:/home/ubuntu# history

    1  swapoff -a

    2  exit

    3  swapoff -

    4  swapoff -a

    5  rm -rf /swap.img

    6  exit

    7  sudo apt update

    8  sudo apt install docker.io

    9  sudo systemctl enable docker

   10  sudo systemctl start docker

   11  sudo systemctl enable docker

   12  sudo apt install apt-transport-https curl

   13  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

   14  sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

   15  sudo apt install kubeadm kubelet kubectl kubernetes-cni

   16  sudo swapoff -a

   17  vi /etc/fstab

   18  sudo hostnamectl set-hostname kubernetes-master

   19  sudo kubeadm init

   20  mkdir -p $HOME/.kube

   21  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

   22  sudo chown $(id -u):$(id -g) $HOME/.kube/config

   23  kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

   24  kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/k8s-manifests/kube-flannel-rbac.yml

   25  kubectl

   26  kubectl get pods --all-namespaces

   27  kubectl get nodes

   28  kubectl get pods --all-namespaces

   29  kubectl

   30  sudo swapoff -a

   31  kubectl get nodes

   32  sudo -i

   33  kubectl get nodes

   34  ufw allow 6443/udp && ufw allow 6443/tcp

   35  kubectl get nodes

   36  sudo -i

   37  strace -eopenat kubectl version

   38  kubectl get nodes

   39  kubectl

   40  sudo dockerf ps

   41  sudo docker ps

   42  kubectl get src

   43  reboot

   44  kubectl get nodes

   45  history

KUBE worker SETUP

 root@kubernetes-worker:/home/ubuntu# history

    1  sudo apt update

    2  sudo apt install docker.io

    3  sudo systemctl start docker

    4  sudo systemctl enable docker

    5  sudo apt install apt-transport-https curl

    6  curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

    7  sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

    8  sudo apt install kubeadm kubelet kubectl kubernetes-cni

    9  sudo swapoff -a

   10  sudo hostnamectl set-hostname kubernetes-worker

   11  hostname


   21  kubeadm join 172.3.230:6443 --token b683jdx2fpzby --discovery-token-ca-cert-hash sha256:57151584e5bfdc0a7168cadc19b298f5a5aab3f3ad90f5d0a2921d54

   22  history

root@kubernetes-worker:/home/ubuntu#

Git

1 git add ↳ It lets you add changes from the working directory into the staging area 2 git commit ↳ It lets you save a snapshot of currently...