本文介绍: 1.2.18 Ensure that the –insecure-bind-address argument is not set FAIL (v1.28 考题中这项没给出,但最好也检查一下)针对 kubeadm 创建的 cluster 运行 CIS 基准测试工具时,发现了多个必须立即解决的问题。修改完成后,等待 5 分钟,再检查一下所有 pod,确保模拟环境里的所有 pod 都正常。通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。2、修改api-server。3、修改kubelet。

Context

针对 kubeadm 创建的 cluster 运行 CIS 基准测试工具时,发现了多个必须立即解决的问题。

Task

通过配置修复所有问题并重新启动受影响的组件以确保新的设置生效。

修复针对 API 服务器发现的所有以下违规行为:

1.2.7 Ensure that the –authorization-mode argument is not set to AlwaysAllow FAIL

1.2.8 Ensure that the –authorization-mode argument includes Node FAIL

1.2.9 Ensure that the –authorization-mode argument includes RBAC FAIL

1.2.18 Ensure that the –insecure-bind-address argument is not set FAIL (v1.28 考题中这项没给出,但最好也检查一下)

修复针对 kubelet 发现的所有以下违规行为:

Fix all of the following violations that were found against the kubelet:

4.2.1 Ensure that the anonymous-auth argument is set to false FAIL

4.2.2 Ensure that the –authorization-mode argument is not set to AlwaysAllow FAIL

注意:尽可能使用 Webhook 身份验证/授权。

修复针对 etcd 发现的所有以下违规行为:

Fix all of the following violations that were found against etcd:

2.2 Ensure that the –client-cert-auth argument is set to true FAIL

 参考资料:

https://kubernetes.io/zh/docs/reference/config-api/kubelet-config.v1beta1/

答题:

1、切换到 Master 的 root 下

ssh master01
sudo -i

2、修改api-server

#备份配置文件
cp /etc/kubernetes/manifests/kube-apiserver.yaml /tmp
vim /etc/kubernetes/manifests/kube-apiserver.yaml
#修改、添加、删除相关内容
#修改 authorization-mode,注意 Node 和 RBAC 之间的符号是英文状态的逗号,而不是点。
 - --authorization-mode=Node,RBAC
#删除 insecure-bind-address。实际考试中,有可能本来就没写这行。
 - --insecure-bind-address=0.0.0.0

3、修改kubelet

cp /var/lib/kubelet/config.yaml /tmp
vim /var/lib/kubelet/config.yaml
#修改
apiVersion: kubelet.config.k8s.io/v1beta1
authentication:
  anonymous: #修改 anonymous 下的,将 true 改为 false
    enabled: false #将 true 改为 false
  webhook:
    cacheTTL: 0s
    enabled: true #修改为 true。注意,这两个 enabled 千万不要搞混,anonymous 应该为 false,webhook 应该为 true。考试时,可能只有一个是错误的。
  x509:
    clientCAFile: /etc/kubernetes/pki/ca.crt
authorization: #修改 authorization 下的
  mode: Webhook #改为 Webhook
  webhook:
......

4、修改etcd

cp /etc/kubernetes/manifests/etcd.yaml /tmp
vim /etc/kubernetes/manifests/etcd.yaml
修改
 - --client-cert-auth=true #修改为 true
#编辑完后重新加载配置文件,并重启 kubelet
systemctl daemon-reload
systemctl restart kubelet

修改完成后,等待 5 分钟,再检查一下所有 pod,确保模拟环境里的所有 pod 都正常。

kubectl get pod -A

原文地址:https://blog.csdn.net/weixin_46775222/article/details/135983850

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_67389.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注