首页 > 其他分享 >Rancher建立的K8S集群重置

Rancher建立的K8S集群重置

时间:2022-11-16 10:37:05浏览次数:39  
标签:kube grep lib -- 重置 var Rancher docker K8S

筆者的整套架K8S集群是通過racher建立的,rancher版本為2.5.14,目前还是测试阶段,因为种种异常,整套架构都面临重建,但是之前我的master节点已经安装过集群,要彻底清理环境,否则会报错,无法安装,原因是master节点已经存在etcd的信息,必须删除,以下脚本为如何清理master的环境。

#!/bin/bash

KUBE_SVC='
kubelet
kube-scheduler
kube-proxy
kube-controller-manager
kube-apiserver
'

for kube_svc in ${KUBE_SVC};
do
# 停止服务
if [[ `systemctl is-active ${kube_svc}` == 'active' ]]; then
systemctl stop ${kube_svc}
fi
# 禁止服务开机启动
if [[ `systemctl is-enabled ${kube_svc}` == 'enabled' ]]; then
systemctl disable ${kube_svc}
fi
done

# 停止所有容器
docker stop $(docker ps -aq)

# 删除所有容器
docker rm -f $(docker ps -qa)

# 删除所有容器卷
docker volume rm $(docker volume ls -q)

# 卸载mount目录
for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher;
do
umount $mount;
done

# 备份目录
mv /etc/kubernetes /etc/kubernetes-bak-$(date +"%Y%m%d%H%M")
mv /var/lib/etcd /var/lib/etcd-bak-$(date +"%Y%m%d%H%M")
mv /var/lib/rancher /var/lib/rancher-bak-$(date +"%Y%m%d%H%M")
mv /opt/rke /opt/rke-bak-$(date +"%Y%m%d%H%M")

# 删除残留路径
rm -rf /etc/ceph \
/etc/cni \
/opt/cni \
/run/secrets/kubernetes.io \
/run/calico \
/run/flannel \
/var/lib/calico \
/var/lib/cni \
/var/lib/kubelet \
/var/log/containers \
/var/log/kube-audit \
/var/log/pods \
/var/run/calico

# 清理网络接口
no_del_net_inter='
lo
docker0
eth
ens
bond
'

network_interface=`ls /sys/class/net`

for net_inter in $network_interface;
do
if ! echo "${no_del_net_inter}" | grep -qE ${net_inter:0:3}; then
ip link delete $net_inter
fi
done

# 清理残留进程
port_list='
80
443
6443
2376
2379
2380
8472
9099
10250
10254
'

for port in $port_list;
do
pid=`netstat -atlnup | grep $port | awk '{print $7}' | awk -F '/' '{print $1}' | grep -v - | sort -rnk2 | uniq`
if [[ -n $pid ]]; then
kill -9 $pid
fi
done

kube_pid=`ps -ef | grep -v grep | grep kube | awk '{print $2}'`

if [[ -n $kube_pid ]]; then
kill -9 $kube_pid
fi

# 清理Iptables表
## 注意:如果节点Iptables有特殊配置,以下命令请谨慎操作
sudo iptables --flush
sudo iptables --flush --table nat
sudo iptables --flush --table filter
sudo iptables --table nat --delete-chain
sudo iptables --table filter --delete-chain
systemctl restart docker

三个master节点和work节点均执行,执行完之后就可以重新安装集群了

标签:kube,grep,lib,--,重置,var,Rancher,docker,K8S
From: https://blog.51cto.com/u_13963804/5854960

相关文章

  • k8s集群通过nginx-ingress做tcp\udp 4层网络转发
    k8s集群可以通过nginx-ingress做tcp\udp4层网络转发1.先确认K8S集群是否开启tcp/udp[root@k8s-master-pro01tmp]#kubectlgetcm-ningress-nginxNAME......
  • K8s部署owncloud
    目录owncloudhelminitowncloudhelpdebugconfigowncloudhttps://hub.kubeapps.com/charts/bitnami/owncloudhelminitownclouddockerpulldocker.io/bitnami/ow......
  • k8s“弃用docker”是怎么回事儿?(chrono《kubernetes入门实战课》笔记整理)
      来自俺自己的一句话:这是一个扩展了解,个人觉得对于理解docker,k8s关系,还有各厂之间的竞争、技术演化的理解是有帮助的。所以还是做了一篇笔记。 2014年,docker在容器......
  • 使用Filebeat收集K8S应用日志
    简介: Logstash收集Kubernetes的应用日志,发现logstash十分消耗内存(大约500M),而改用filebeat(大约消耗10多M内存)。在进行日志收集的过程中,我们首先想到的是使用Logstash,因......
  • 第一章第4节: k8s服务service发现与负载均衡_New
                   ......
  • K8S固定Pod IP和Mac地址
    简介   客户有个需求,服务的授权是通过主机的Mac地址进行绑定,原部署方式是通过dockerrun--networkhost指定主机网络的方式运行,如今需要迁移到Kubernetes环境,在De......
  • DCOS之k8s的容器监测探针
    大部分的应用程序我们在部署的时候都会适当的添加监控,对于运行载体容器则更应该如此。kubernetes提供了livenessprobes来检查我们的应用程序。它是由节点上的kubelet定期......
  • rancher2.6.1 x509 证书过期
    使用的 rancher出现 Internalerroroccurred:failedcallingwebhook"rancherauth.cattle.io":Post"https://rancher-webhook.cattle-system.svc:443/v1/webhook/va......
  • k8s中查看各个组件的启动命令
    方式1:可以直接到kube-system中,查看各个组件的PODYAML定义文件方式2:到目录下/etc/kubernetes/manifests查看组件的定义文件方式3:通过pgrep命令,如查看kubelet$tr\\0......
  • 10-1 k8s认证及serviceacount
    k8s有2类认证时的账号:1useraccount:也称为用户账号2serviceaccount:也称为服务账号,访问k8s集群apiserver时用到的认证信息,包括用户名,账号,密码....serviceaccount:......