首页 > 其他分享 >关机一段时间后k8s无法启动

关机一段时间后k8s无法启动

时间:2022-08-19 10:15:07浏览次数:103  
标签:重装 关机 k8s created 一段时间 daemonset kube ds flannel

目录

重启之后k8s集群居然起不起来了
解决方法:重装

重装前清除环境方法:

kubeadm reset
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/ /var/lib/kubelet/* /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1
systemctl start docker
# kubeadm join xxx

重装后pod-coredns一直处于ContainerCreating状态:

看是否重装了Pod Network

$ curl -O https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

如果node有多个网卡,需编辑kube-flannel.yml,用--iface指定网卡

containers:
      - name: kube-flannel
        image: quay.io/coreos/flannel:v0.11.0-amd64
        command:
        - /opt/bin/flanneld
        args:
        - --ip-masq
        - --kube-subnet-mgr
        - --iface=eth1

apply kube-flannel

$ kubectl apply -f  kube-flannel.yml
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.extensions/kube-flannel-ds-amd64 created
daemonset.extensions/kube-flannel-ds-arm64 created
daemonset.extensions/kube-flannel-ds-arm created
daemonset.extensions/kube-flannel-ds-ppc64le created
daemonset.extensions/kube-flannel-ds-s390x created

但是仍然pod-coredns一直处于ContainerCreating状态
kubectl describe pod一下,发现是/var/lib/cni找不到

mkdir -p /etc/cni/net.d

cat > /etc/cni/net.d/10-flannel.conflist << EOF
{
  "name": "cbr0",
  "plugins": [
    {
      "type": "flannel",
      "delegate": {
        "hairpinMode": true,
        "isDefaultGateway": true
      }
    },
    {
      "type": "portmap",
      "capabilities": {
        "portMappings": true
      }
    }
  ]
}
EOF

然后重启kubectl,发现还是不行。
再修改/run/flannel/subnet.env

$ vim /run/flannel/subnet.env
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

保存再重启kubectl,终于可以了。
也许本来就只需要改/run/flannel/subnet.env文件。不过现在已经无法验证了。
只能等下次出问题再验证。

参考网址:
https://blog.csdn.net/ANXIN997483092/article/details/86711006
https://blog.csdn.net/qq_26545503/article/details/123183184
https://www.cnblogs.com/aresxin/p/K8S-issue1.html

标签:重装,关机,k8s,created,一段时间,daemonset,kube,ds,flannel
From: https://www.cnblogs.com/bugutian/p/16601046.html

相关文章

  • k8s 使用 kubeadm init 初始化失败日志一直提示"Error getting node" err="node \"ma
    系统版本CentOSLinuxrelease7.9.2009(Core)内核版本Linux3.10.0-1160.76.1.el7.x86_64x86_64docker版本Dockerversion20.10.17,build100c701k8......
  • k8s中ingress,service,depoyment,pod如何关联
    k8s中ingress,service,depoyment,pod通过label标签名称来识别关联,它们的label name一定是一样的。1、查询发布的deploymet控制器[root@k8s-master1~]#kubectlgetdeplo......
  • k8s命令补全方法
    正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全命令补全方法:yum-yinstallbash-completionsource/usr/share/bash-completion/bash_completionsource<(k......
  • K8S之污点和容忍度
    K8S之污点和容忍度......
  • k8s 集群节点 SLUB: Unable to allocate memory on node -1 cgroup 内存泄露问题
    1.原因cgroup的kmemaccount特性在3.x内核上有内存泄露问题,如果开启了kmemaccount特性会导致可分配内存越来越少,直到无法创建新pod或节点异常几点解释:kmema......
  • K8S使用Calico Quickstart安装问题
    ​昨天在最新的k8s1.24安装calico时,使用了calico的官方Quickstart文档,使用operator进行安装。结果发现poderr的问题。查看pod日志,发现为apiregistration.k8s.io使用的......
  • k8s--deployment 控制器、版本回退、金丝雀发布
    版本回退接着上面的文章继续:https://www.cnblogs.com/zouzou-busy/p/16153612.html前面我们已经对版本进行了升级,通过查看rs,发现有两个rs,一个是 pc-deployment-5db6b......
  • K8S 的API
    一、K8S的api概览:在Kubernetes集群中,一个API对象在Etcd里完整资源路径,是由:Group(API组)、Version(API版本)和Resource(API资源类型)三个部分组成的。通过这样的结构,整个Kuber......
  • K8S 四种client简单介绍
    K8S四种client简单介绍client-go支持RESTClient、ClientSet、DynamicClient、DiscoveryClient四种客户端与KubernetesApiServer进行交互RESTClient客户端restclient客......
  • Jenkins pipeline 发布k8s应用
    1.容器镜像仓库harbor2.应用的基础镜像3.Jenkinspipeline 首先制作好应用的基础镜像,上传到容器仓库中然后设置Jenkins,用Jenkins发布k8s需要安装一个插件,在插件......