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
改完保存后会自动生效。
生产环境不建议这么改。
![]() |
![]() |