Error排错:container runtime network not ready

概述(问题)

在对K8S集群进行格式化,重新部署后,所有节点都处于NotReady状态。针对K8S状态进行查询,发现问题是:container runtime network not ready。现将相关的报错和解决记录如下。

因为重装集群的时候,将/etc/cni目录彻底删除,所以需要重装组件kubernetes-cni。

报错

KubeletNotReady    container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

报错情况

kubectl get node -n kube-system

Error排错:container runtime network not ready_第1张图片

 报错在Conditions事件里显示

kubectl describe  node master04 -n kube-system | grep -A 20 "Conditions"

Error排错:container runtime network not ready_第2张图片

 报错并没有在Events事件里显示

kubectl describe  node master04 -n kube-system | grep -A 20 "vents"

Error排错:container runtime network not ready_第3张图片

解决

查看报错步骤

systemctl restart --now kubelet ; systemctl status kubelet.service --now
# 重启服务,查看状态

Error排错:container runtime network not ready_第4张图片

journalctl -f -u kubelet    # 查看kubelet日志

Error排错:container runtime network not ready_第5张图片

原因与解决

因为重装集群的时候,将/etc/cni目录彻底删除,所以需要重装组件kubernetes-cni。但在重装组件的时候发生了新的警告,用--nogpgcheck参数即可解决,随后对所有集群的节点进行重装kubernetes-cni,实现问题修复。

yum reinstall -y kubernetes-cni
yum reinstall -y kubernetes-cni --nogpgcheck

 warning: /var/cache/yum/x86_64/7/kubernetes-QINGHUA/packages/db7cb5cb0b3f6875f54d10f02e625573988e3e91fd4fc5eef0b1876bb18604ad-kubernetes-cni-0.8.7-0.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 3e1ba8d5: NOKEY


Public key for db7cb5cb0b3f6875f54d10f02e625573988e3e91fd4fc5eef0b1876bb18604ad-kubernetes-cni-0.8.7-0.x86_64.rpm is not installed

 检测

kubectl get node -n kube-system
kubectl describe  node master04 -n kube-system | grep -A 20 "Conditions"

Error排错:container runtime network not ready_第6张图片

 Error排错:container runtime network not ready_第7张图片

备注

Public key for xxx.rpm is not installed

在使用yum安装软件失败后提示了类似于信息,没有安装校验这个软件的公钥,因为使用yum下载软件的时候会对下载下来的文件做校验,校验时使用的就是对应的公钥。目前,不适用公钥做检查进行安装。假如有公钥,则需要在/etc/pki/rpm-gpg/目录下存放并指定公钥。

Public key for db7cb5cb0b3f6875f54d10f02e625573988e3e91fd4fc5eef0b1876bb18604ad-kubernetes-cni-0.8.7-0.x86_64.rpm is not installed

rpm --import /etc/pki/rpm-gpg/<相应软件的公钥>

pod的节点亲和 == nodeAffinity

---

apiVersion: v1
kind: Pod
metadata:
  name: pod-tomcat-1
  namespace: test-2022
  labels:
    tomcat: pod-tomcat-1
spec:
  containers:
    - name: pod-tomcat-1
      ports:
        - containerPort: 8081
      image: harbor:80/library/tomcat:9.0.64-jdk11
      imagePullPolicy: IfNotPresent
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: kubernetes.io/hostname
            operator: In
            values:
            - node6

你可能感兴趣的:(Linux,+,Shell,kubernetes,容器,运维,kubernetes)