Skip to content

Instantly share code, notes, and snippets.

@diegograssato
Last active July 22, 2022 19:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save diegograssato/6021826d1acbd2889ea163f6e68acfbb to your computer and use it in GitHub Desktop.
Save diegograssato/6021826d1acbd2889ea163f6e68acfbb to your computer and use it in GitHub Desktop.
k8s-kubeadm
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
ip_vs
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
sudo sysctl --system
# apt-get update -y && apt-get upgrade -y
# sudo apt-get install -y apt-transport-https ca-certificates curl
# Docker
# curl -fsSL https://get.docker.com | bash
#####################
# Container
# apt-get install -y containerd.io
# mkdir -p /etc/containerd
# containerd config default > /etc/containerd/config.toml
# systemctl restart containerd
# curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
# sudo echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# apt-get update
# apt-get install -y kubelet kubeadm kubectl
# apt-mark hold kubelet kubeadm kubectl
# swapoff -a
# vim /etc/fstab
# sed -Ei 's/(.*swap.*)/#\1/g' /etc/fstab
# kubeadm config images pull
# kubeadm init
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
# kubectl get pods -n kube-system
kubectl taint nodes --all node-role.kubernetes.io/master-
# kubeadm join --token 39c341.a3bc3c4dd49758d5 IP_DO_MASTER:6443 --discovery-token-ca-cert-hash sha256:37092
# kubectl get nodes
# kubectl describe node elliot-03
# kubeadm token create --print-join-command
kubeadm token create --print-join-command
# echo "source <(kubectl completion bash)" >> ~/.bashrc
# kubectl get namespace
# kubectl get pods -n kube-system
# kubectl get pods --all-namespaces
# kubectl run nginx --image nginx
# kubectl get deployments
# kubectl describe deployment nginx
# kubectl get events
# kubectl get deployment nginx -o yaml
# kubectl get deployment nginx -o yaml > meu_primeiro.yaml
# kubectl delete deployment nginx
# kubectl create -f meu_primeiro.yaml
# kubectl delete -f meu_primeiro.yaml
# kubectl get deploy,pod
# kubectl expose deployment/nginx
# kubectl get svc nginx
# kubectl describe pod nginx-6f858d4d45-qxjlh
# kubectl get pods -o wide
# kubectl delete pods nginx-6f858d4d45-qxjlh
### Reset de cluster
kubectl delete -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
sleep 10
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
kubeadm init --pod-network-cidr=10.244.0.0/16
kubectl drain xxxx --delete-local-data --force --ignore-daemonsets
kubectl delete nodexxxx
kubeadm reset -f
rm -rf /etc/cni /etc/kubernetes /var/lib/dockershim /var/lib/etcd /var/lib/kubelet /var/run/kubernetes ~/.kube/*
systemctl stop kubelet
systemctl start docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down
ip link delete cni0
ip link delete flannel.1
kubeadm join xxx:6443 --token kiisv4.nv33sjbgv9wyzn17 \
--discovery-token-ca-cert-hash sha256:699b5f7216d4c6f08ac751576ffce44a1033dd813fa85b832c7d917927edab02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment