kubernetes报错处理:pod does not have "kubernetes.io/config.mirror" annotation
这个报错在国内的文章搜不到,所以我这里就写一下。详细的报错内容类似如下:Error from server (Forbidden): error when creating "nginx.yml": pods "nginx" is forbidden: pod does not have "kubernetes.io/config.mirror" annotation, node "worker1
这个报错在国内的文章搜不到,所以我这里就写一下。
详细的报错内容类似如下:
Error from server (Forbidden): error when creating "nginx.yml": pods "nginx" is forbidden: pod does not have "kubernetes.io/config.mirror" annotation, node "worker1" can only create mirror pods
这个报错,主要由于是Kubernetes的准入控制器的NodeRestriction机制。
默认情况下Kubernetes禁用了外部直接对pod有写权限的操作。
打开这个文件:
/etc/kubernetes/manifests/kube-apiserver.yaml
这个文件中有一行 - --enable-admission-plugins=NodeRestriction
这个就是准入控制器,默认为NodeRestriction。
如果你就是要强制在外部创建pod,可以把/etc/kubernetes/manifests/kube-apiserver.yaml中的
- --enable-admission-plugins=NodeRestriction
改成
- --enable-admission-plugins=ServiceAccount
改完保存后会自动生效。再创建就不会报错。
生产环境就不建议这么改,建议保留NodeRestriction。
更多推荐
所有评论(0)