kube-flannel版本从v0.12.0升级到v0.15.1

1、首先删除已安装的flannel

kubectl delete -f kube-flannel.yml

或者使用安装源的url删除

kubectl delete -f url路径+kube-flannel.yml

2、查看并删除的DaemonSet

kubectl get DaemonSet -n kube-system
kubectl delete DaemonSet kube-flannel-ds -n kube-system

3、查看k8s状态,都是running

kubectl get pod -n kube-system

4、确认kube-flannel.yml使用的镜像

cat kube-flannel.yml |grep image|uniq
        image: quay.io/coreos/flannel:v0.15.1-amd64
        image: quay.io/coreos/flannel:v0.15.1-arm64
        image: quay.io/coreos/flannel:v0.15.1-arm
        image: quay.io/coreos/flannel:v0.15.1-ppc64le
        image: quay.io/coreos/flannel:v0.15.1-s390x

确认镜像都已经下载。 5、删除flannel.yml时有以下报错,查看kube-flannel.yml中创建使用的版本

unable to recognize "kube-flannel.yml": no matches for kind "ClusterRole" in version "rbac.authorization.k8s.io/v1beta1"
unable to recognize "kube-flannel.yml": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1"

将其中”rbac.authorization.k8s.io/v1beta1“修改为”rbac.authorization.k8s.io/v1“;也就是将对应报错的ClusterRole、ClusterRoleBinding修改为正式版。 6、重新创建flannel

kubectl apply -f kube-flannel.yml

查看node节点镜像状态:

[root@ ~]# kubectl get pod -n kube-system
NAME                                   READY   STATUS     RESTARTS      AGE
coredns-7f6cbbb7b8-4tq7b               1/1     Running    1 (10h ago)   3d9h
coredns-7f6cbbb7b8-clmbg               1/1     Running    1 (10h ago)   3d9h
etcd-k8s-master01                      1/1     Running    2 (10h ago)   3d9h
kube-apiserver-k8s-master01            1/1     Running    2 (10h ago)   3d9h
kube-controller-manager-k8s-master01   1/1     Running    2 (10h ago)   3d9h
kube-flannel-ds-amd64-qmzdf            1/1     Running    0             61s
kube-flannel-ds-amd64-qq7wq            0/1     Init:0/1   0             61s
kube-flannel-ds-amd64-wkqww            0/1     Init:0/1   0             61s
kube-scheduler-k8s-master01            1/1     Running    2 (10h ago)   3d9h
​
其中”kube-flannel-ds-amd64-qq7wq“ 一直在初始化状态。
7、kubectl describe pod kube-flannel-ds-amd64-qq7wq -n kube-system
[root@ ~]# kubectl describe pod kube-flannel-ds-amd64-qq7wq -n kube-system
Name:         kube-flannel-ds-amd64-qq7wq
Namespace:    kube-system
Priority:     0
Node:         k8s-node02/192.168.66.21
Start Time:   Wed, 17 Nov 2021 09:16:39 +0800
Labels:       app=flannel
              controller-revision-hash=78bfb54ddf
              pod-template-generation=1
              tier=node
Annotations:  <none>
Status:       Pending
IP:           192.168.66.21
IPs:
  IP:           192.168.66.21
Controlled By:  DaemonSet/kube-flannel-ds-amd64
Init Containers:
  install-cni:
    Container ID:
    Image:         quay.io/coreos/flannel:v0.15.1-amd64
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      cp
    Args:
      -f
      /etc/kube-flannel/cni-conf.json
      /etc/cni/net.d/10-flannel.conflist
    State:          Waiting
      Reason:       ImagePullBackOff
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /etc/cni/net.d from cni (rw)
      /etc/kube-flannel/ from flannel-cfg (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-f8jcm (ro)
Containers:
  kube-flannel:
    Container ID:
    Image:         quay.io/coreos/flannel:v0.15.1-amd64
    Image ID:
    Port:          <none>
    Host Port:     <none>
    Command:
      /opt/bin/flanneld
    Args:
      --ip-masq
      --kube-subnet-mgr
    State:          Waiting
      Reason:       PodInitializing
    Ready:          False
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  50Mi
    Requests:
      cpu:     100m
      memory:  50Mi
    Environment:
      POD_NAME:       kube-flannel-ds-amd64-qq7wq (v1:metadata.name)
      POD_NAMESPACE:  kube-system (v1:metadata.namespace)
    Mounts:
      /etc/kube-flannel/ from flannel-cfg (rw)
      /run/flannel from run (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-f8jcm (ro)
Conditions:
  Type              Status
  Initialized       False
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  run:
    Type:          HostPath (bare host directory volume)
    Path:          /run/flannel
    HostPathType:
  cni:
    Type:          HostPath (bare host directory volume)
    Path:          /etc/cni/net.d
    HostPathType:
  flannel-cfg:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      kube-flannel-cfg
    Optional:  false
  kube-api-access-f8jcm:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 :NoSchedule op=Exists
                             node.kubernetes.io/disk-pressure:NoSchedule op=Exists
                             node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                             node.kubernetes.io/network-unavailable:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists
                             node.kubernetes.io/pid-pressure:NoSchedule op=Exists
                             node.kubernetes.io/unreachable:NoExecute op=Exists
                             node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
  Type     Reason     Age                 From               Message
​
----     ------     ----                ----               -------
​
  Normal   Scheduled  2m11s               default-scheduler  Successfully assigned kube-system/kube-flannel-ds-amd64-qq7wq to k8s-node02
  Warning  Failed     54s                 kubelet            Failed to pull image "quay.io/coreos/flannel:v0.15.1-amd64": rpc error: code = Unknown desc = Error response from daemon: Get "https://quay.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Failed     54s                 kubelet            Error: ErrImagePull
  Normal   BackOff    53s                 kubelet            Back-off pulling image "quay.io/coreos/flannel:v0.15.1-amd64"
  Warning  Failed     53s                 kubelet            Error: ImagePullBackOff
  Normal   Pulling    38s (x2 over 2m9s)  kubelet            Pulling image "quay.io/coreos/flannel:v0.15.1-amd64"

192.168.66.21中未能拉取到quay.io/coreos/flannel:v0.15.1-amd64镜像。

手动下载镜像,并导入docker。

8、进入github手动拉取镜像 Releases · flannel-io/flannel · GitHub 我下载的是这些: image: quay.io/coreos/flannel:v0.15.1-amd64 image: quay.io/coreos/flannel:v0.15.1-arm64 image: quay.io/coreos/flannel:v0.15.1-arm image: quay.io/coreos/flannel:v0.15.1-ppc64le image: quay.io/coreos/flannel:v0.15.1-s390x 9、下载完成后,上传到对应报错的服务器上,通过docker load加载镜像

docker load < quay.io/coreos/flannel:v0.15.1-amd64

以此加载完成。 10、执行语句确认,初始化kube-flannel-ds-amd64-qq7wq成功。

[root@~]# kubectl get pod -n kube-system
NAME                                   READY   STATUS    RESTARTS      AGE
coredns-7f6cbbb7b8-4tq7b               1/1     Running   1 (10h ago)   3d9h
coredns-7f6cbbb7b8-clmbg               1/1     Running   1 (10h ago)   3d9h
etcd-k8s-master01                      1/1     Running   2 (10h ago)   3d9h
kube-apiserver-k8s-master01            1/1     Running   2 (10h ago)   3d9h
kube-controller-manager-k8s-master01   1/1     Running   2 (10h ago)   3d9h
kube-flannel-ds-amd64-qmzdf            1/1     Running   0             9m57s
kube-flannel-ds-amd64-qq7wq            1/1     Running   0             9m57s
kube-flannel-ds-amd64-wkqww            1/1     Running   0             9m57s
kube-scheduler-k8s-master01            1/1     Running   2 (10h ago)   3d9h
​

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值