0


解决k8s flannel网络插件国内镜像docker拉取不到问题

一、准备下载资源

https://download.csdn.net/download/weixin_43205308/89608560
以下,每个k8s节点都要执行

二、载入镜像

解压上面的下载资源的文件夹后,会有图中的两个资源
在这里插入图片描述
载入资源

 docker load --input  flannel-flannel-v0.25.1-amd64.tar.gz
 docker load --input flannel-flannel-cni-plugin-v1.4.1-flannel1-amd64.tar.gz

执行成功会有这两个镜像
在这里插入图片描述
并且出现下面两个包
在这里插入图片描述
将tar镜像压缩包,导入到containerd的k8s.io命名空间中

sudo ctr -n k8s.io images import flannel-flannel-cni-plugin-v1.4.1-flannel1-amd64.tar

在这里插入图片描述

 sudo ctr -n k8s.io images import flannel-flannel-v0.25.1-amd64.tar

在这里插入图片描述
校验是否成功

sudo ctr -n k8s.io i check | grep flannel

在这里插入图片描述

修改flannmel.yaml文件

这是修改后的,直接复制就好了

---kind: Namespace
apiVersion: v1
metadata:name: kube-flannel
  labels:k8s-app: flannel
    pod-security.kubernetes.io/enforce: privileged
---kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:labels:k8s-app: flannel
  name: flannel
rules:-apiGroups:-""resources:- pods
  verbs:- get
-apiGroups:-""resources:- nodes
  verbs:- get
  - list
  - watch
-apiGroups:-""resources:- nodes/status
  verbs:- patch
---kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:labels:k8s-app: flannel
  name: flannel
roleRef:apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: flannel
subjects:-kind: ServiceAccount
  name: flannel
  namespace: kube-flannel
---apiVersion: v1
kind: ServiceAccount
metadata:labels:k8s-app: flannel
  name: flannel
  namespace: kube-flannel
---kind: ConfigMap
apiVersion: v1
metadata:name: kube-flannel-cfg
  namespace: kube-flannel
  labels:tier: node
    k8s-app: flannel
    app: flannel
data:cni-conf.json:|
    {
      "name": "cbr0",
      "cniVersion": "0.3.1",
      "plugins": [
        {
          "type": "flannel",
          "delegate": {
            "hairpinMode": true,
            "isDefaultGateway": true
          }
        },
        {
          "type": "portmap",
          "capabilities": {
            "portMappings": true
          }
        }
      ]
    }net-conf.json:|
    {
      "Network": "10.244.0.0/16",
      "EnableNFTables": false,
      "Backend": {
        "Type": "vxlan"
      }
    }---apiVersion: apps/v1
kind: DaemonSet
metadata:name: kube-flannel-ds
  namespace: kube-flannel
  labels:tier: node
    app: flannel
    k8s-app: flannel
spec:selector:matchLabels:app: flannel
  template:metadata:labels:tier: node
        app: flannel
    spec:affinity:nodeAffinity:requiredDuringSchedulingIgnoredDuringExecution:nodeSelectorTerms:-matchExpressions:-key: kubernetes.io/os
                operator: In
                values:- linux
      hostNetwork:truepriorityClassName: system-node-critical
      tolerations:-operator: Exists
        effect: NoSchedule
      serviceAccountName: flannel
      initContainers:-name: install-cni-plugin
        image: docker.io/flannel/flannel-cni-plugin:v1.4.1-flannel1
        imagePullPolicy: Never
        command:- cp
        args:--f
        - /flannel
        - /opt/cni/bin/flannel
        volumeMounts:-name: cni-plugin
          mountPath: /opt/cni/bin
      -name: install-cni
        image: docker.io/flannel/flannel:v0.25.1
        imagePullPolicy: Never
        command:- cp
        args:--f
        - /etc/kube-flannel/cni-conf.json
        - /etc/cni/net.d/10-flannel.conflist
        volumeMounts:-name: cni
          mountPath: /etc/cni/net.d
        -name: flannel-cfg
          mountPath: /etc/kube-flannel/
      containers:-name: kube-flannel
        image: docker.io/flannel/flannel:v0.25.1
        imagePullPolicy: Never
        command:- /opt/bin/flanneld
        args:---ip-masq
        ---kube-subnet-mgr
        resources:requests:cpu:"100m"memory:"50Mi"securityContext:privileged:falsecapabilities:add:["NET_ADMIN","NET_RAW"]env:-name: POD_NAME
          valueFrom:fieldRef:fieldPath: metadata.name
        -name: POD_NAMESPACE
          valueFrom:fieldRef:fieldPath: metadata.namespace
        -name: EVENT_QUEUE_DEPTH
          value:"5000"volumeMounts:-name: run
          mountPath: /run/flannel
        -name: flannel-cfg
          mountPath: /etc/kube-flannel/
        -name: xtables-lock
          mountPath: /run/xtables.lock
      volumes:-name: run
        hostPath:path: /run/flannel
      -name: cni-plugin
        hostPath:path: /opt/cni/bin
      -name: cni
        hostPath:path: /etc/cni/net.d
      -name: flannel-cfg
        configMap:name: kube-flannel-cfg
      -name: xtables-lock
        hostPath:path: /run/xtables.lock
          type: FileOrCreate

截图展示修改后的地方
在这里插入图片描述

kubectl apply -f 你的yaml文件

成功

在这里插入图片描述

在这里插入图片描述


本文转载自: https://blog.csdn.net/weixin_43205308/article/details/140874236
版权归原作者 Long long ago. 所有, 如有侵权,请联系我们删除。

“解决k8s flannel网络插件国内镜像docker拉取不到问题”的评论:

还没有评论