k8s报错处理 fangfu的技术博客

Error from server (Forbidden): error when creating “pod_nginx.yml”: pods “nginx-pod” is forbidden: pod does not have “kubernetes.io/config.mirror” annotation, node “c1” can only create mirror pods

这个相对复杂些,主要是kubernetes的NodeRestriction机制。 大概意思是出于安全的考虑,禁用了外部直接对pod有写权限的操作。 参考链接: https://www.kubernetes.org.cn/2521.html

在Kubernetes 1.11+中,不允许kubelet从其Node API对象中更新或删除taint

/etc/kubernetes/manifests/kube-apiserver.yaml 这个文件中有一行 - –enable-admission-plugins=NodeRestriction

这个就是准入控制器,默认为NodeRestriction 准入控制器列表可以参考: https://www.cnblogs.com/peteremperor/p/12202516.html

测试环境中,我们可以把/etc/kubernetes/manifests/kube-apiserver.yaml中的

  • –enable-admission-plugins=NodeRestriction 改成
  • –enable-admission-plugins=ServiceAccount

改完保存后会自动生效。

生产环境不建议这么改。

FFwechat FFalipay