【kubernetes】kubectl get nodes报NotReady

1. 说明
  • 1.这里k8s的版本是v1.17.4
  • 2.若kube-flannel.yml中的镜像拉取不下来,可以下载本文章的文件资源,手动docker load -i ***.tar的方式。
  • 3.v1.17.4的kube-flannel.yml参考下面代码。
  • 4.通过kubectl get pods -n kube-system命令获取各个pods状态。
  • 5.通过journalctl -f -u kubelet可以查看日志。
  • 6.百度云文件。
2. 问题描述
  • 1.通过官网的kube-flannel.yml地址下载,下载不了,网上搜了一份对应v1.17.4版本的kube-flannel.yml文件。
  • 2.然后通过命令kubectl apply -f kube-flannel.yml应用该配置,发现其中的镜像无法拉取,因为被墙的原因。
  • 3.通过翻墙下载到对应的镜像,上传到指定目录,通过docker load -i 文件名.tar的方式加载镜像。镜像tar包在该文章的关联文件里找。
  • 4.然后通过journalctl -f -u kubelet查看日志,发现缺少flannel,报[failed to find plugin “flannel” in path [/opt/cni/bin]]错误。详情见博客:缺少flannel
  • 5.从github上下载得到flannel后,拷贝到/opt/cni/bin,通过journalctl -f -u kubelet查看日志会报错没有权限,然后执行sudo chmod -R 777 /opt/cni/bin/flannel赋予权限。
  • 6.其它子节点也是拷贝flannel到/opt/cni/bin,相同的操作。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
3. kube-flannel.yml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: psp.flannel.unprivileged
  annotations:
    seccomp.security.alpha.kubernetes.io/allowedProfileNames: docker/default
    seccomp.security.alpha.kubernetes.io/defaultProfileName: docker/default
    apparmor.security.beta.kubernetes.io/allowedProfileNames: runtime/default
    apparmor.security.beta.kubernetes.io/defaultProfileName: runtime/default
spec:
  privileged: false
  volumes:
    - configMap
    - secret
    - emptyDir
    - hostPath
  allowedHostPaths:
    - pathPrefix: "/etc/cni/net.d"
    - pathPrefix: "/etc/kube-flannel"
    - pathPrefix: "/run/flannel"
  readOnlyRootFilesystem: false
  # Users and groups
  runAsUser:
    rule: RunAsAny
  supplementalGroups:
    rule: RunAsAny
  fsGroup:
    rule: RunAsAny
  # Privilege Escalation
  allowPrivilegeEscalation: false
  defaultAllowPrivilegeEscalation: false
  # Capabilities
  allowedCapabilities: ['NET_ADMIN']
  defaultAddCapabilities: []
  requiredDropCapabilities: []
  # Host namespaces
  hostPID: false
  hostIPC: false
  hostNetwork: true
  hostPorts:
  - min: 0
    max: 65535
  # SELinux
  seLinux:
    # SELinux is unused in CaaSP
    rule: 'RunAsAny'
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: flannel
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王佑辉

老板,赏点吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值