K8s常用設定筆記
===
master產生新token
`kubeadm token create --print-join-command`
刪除網路設定
```
# 先把 Kubernetes 重設
kubeadm reset -f
# 停止 kubelet、docker
systemctl stop kubelet
# 完全刪除 cni、flannel 的資料
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /run/flannel
rm -rf /etc/cni/
# 移除 cni、flannel 的網路介面卡
ifconfig cni0 down
ifconfig flannel.1 down
ip link delete cni0
ip link delete flannel.1
```
刪除k8s (有些要加 sudo 才能刪)
```
sudo kubeadm reset
sudo apt-get purge kubeadm
sudo apt-get purge kubectl
sudo apt-get purge kubelet
sudo apt-get purge kubernetes-cni
sudo apt-get purge kube*
sudo apt-get autoremove
sudo rm -rf ~/.kube
```
自動找Service
```
<service-name>.<namespace>.svc.cluster.local:<service-port>
```
強制刪除pod
kubectl delete pods <pod> --grace-period=0 --force
重開機後有可能需要
```
sudo -i
swapoff -a
exit
strace -eopenat kubectl version
```
reset k8s
```
kubeadm reset
# reset iptables
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
# reset the IPVS tables
ipvsadm -C
# 參考kubeadm提供之訊息刪除指定檔案
# 搭配上面刪除網路設定等
```
查網路介面卡
ip a | grep -E '(flannel|cni|cbr|eth|docker)'
### server 需要重開機時
如果 server 重開機時,使用以下指令
```
kuberctl get pod
```
遇到下圖的狀況

也就是
```
The connection to the server 192.168.10.209:6443 was refused - did you specify the right host or port
```
這時候可以嘗試使用以下指令修復
```
sudo -i
swapoff -a
exit
strace -eopenat kubectl version
```


之後再試
```
kubectl get pod
```
就會有資訊,可是有些 pod 會出現 Unknown

這時候先確認一下 node 是否為 ready
```
kubectl get node
```
如果 node 是 ready 這時候要先重開 es 的 pod
```
kubectl delete quickstart-es-default-0
```
接下來看 pod,都有 running,再去確認一下網頁,都沒問題大概就正常了
