【问题标题】:How do I configure NodeRestriction plug-in on kubelet?如何在 kubelet 上配置 NodeRestriction 插件?
【发布时间】:2021-07-14 05:49:21
【问题描述】:

让我们从一些上下文开始:

我正在学习 CKS 并阅读 CIS_Kubernetes_Benchmark_v1.6.0.pdf 并且有一个令人困惑的部分:

1.2.17 Ensure that the admission control plugin NodeRestriction is set (Automated) 

...
Verify that the --enable-admission-plugins argument is set to a value that includes 
NodeRestriction. 
  
Remediation: 
Follow the Kubernetes documentation and configure NodeRestriction plug-in on kubelets. 
Then, edit the API server pod specification file /etc/kubernetes/manifests/kube-
apiserver.yaml on the master node and set the --enable-admission-plugins parameter 
to a value that includes NodeRestriction.

关于检查/etc/kubernetes/manifests/kube-apiserver.yaml 是否有一个条目 - --enable-admission-plugins=NodeRestriction,... 的部分是有道理的,烦人的部分是
"Follow the Kubernetes documentation and configure NodeRestriction plug-in on kubelets."
谷歌搜索非常困难,Kubernetes 官方文档并不清楚如何做到这一点。

既然上下文已经存在,那么问题是:

在kube-apiserver上设置---enable-admission-plugins=NodeRestriction后,如何验证kubelet上的NodeRestriction插件是否配置正确?

【问题讨论】:

    标签: security kubernetes kubelet kube-apiserver hardening


    【解决方案1】:

    要正确启用 NodeRestrictions 准入控制器插件,您实际上需要在 3 个不同的地方更新 kubernetes 配置:

    1. kube-apiserver: - --enable-admission-plugins=NodeRestriction,...
    2. kube-apiserver: - --authorization-mode=Node,RBAC(必须指定节点)
    3. kubelet(每个节点):/var/lib/kubelet/config.yaml 应该有 authorization.mode: Webhook(其他 kubernetes 发行版可能会用另一种配置方法替换 /var/lib/kubelet/config.yaml,但我确信会有一个匹配的值)

    当 kubelet 的 authorization.mode 设置为 Webhook,而不是默认的 AlwaysAllow,它会将授权决策卸载到 kubernetes api-server。 Node Authorization 模式是一种专用的授权模式,专门对 kubelet 发出的 API 请求进行授权。

    (下面的 Giantswarm 文章读起来很不错,很好地解释了为什么应该实施此设置,我将尝试通过通用强化来总结它,这有助于防止因工作负载受损或不良行为者导致特权升级.)

    来源:
    1.) Kubernetes Security Essentials (LFS260)
    2.) Securing the Configuration of Kubernetes Cluster Components
    3.) Using Node Authorization

    【讨论】:

      猜你喜欢
      • 2019-02-24
      • 2019-10-02
      • 2020-01-10
      • 2019-01-30
      • 2017-09-22
      • 2019-04-16
      • 2019-08-06
      • 2020-09-25
      • 2018-03-14
      相关资源
      最近更新 更多