rke2-enable-event_rate_limit-always_pull_images
本文永久链接: https://www.xtplayer.cn/rke2/rke2-enable-event-rate-limit-always-pull-images/
rke2 中如果要启用 event_rate_limit 和 always_pull_images 功能,需要单独手动配置。这两个参数对应 k8s 的
https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/admission-controllers/#eventratelimit
启用插件
如果要启用这两个功能,先在主机上执行 ps -ef| grep kube-apiserver ,找到 enable-admission-plugins 后面已启用的插件。然后在 kube-apiserver-arg 下添加 enable-admission-plugins=xxxx,xxxx,xxx(需要将原来启用的插件一起加上)。因为配置中添加 enable-admission-plugins 参数,是覆盖而不是追加,如果不添加默认启用的参数,默认的参数将会丢失。
配置插件
根据这里的示例 https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/admission-controllers/#eventratelimit 创建一个 eventratelimit 和 AdmissionConfiguration 配置文件,将其放在 server 节点的某个路径。AdmissionConfiguration 配置文件中定义的 eventratelimit 配置路径为 apiserver pod 中的某个路径。然后根据 https://docs.rke2.io/zh/advanced#ro-%E4%B8%BB%E6%9C%BA%E8%B7%AF%E5%BE%84%E5%8D%B7%E6%8C%82%E8%BD%BD 将上一步中创建的配置文件挂载到 apiserver pod 中。注意,这里挂载到 pod 中的 eventratelimit 配置文件路径需要与 AdmissionConfiguration 中定义的路径匹配。
配置步骤
1,在 rke2 master 节点上执行 ps -ef| grep enable-admission-plugins,找到 enable-admission-plugins 后启用的插件。
2,执行命令 mkdir -p /etc/rancher/rke2/config 创建配置目录
3,在 /etc/rancher/rke2/config 目录下,创建 eventconfig.yaml 配置文件。示例配置如下,具体配置内容可以查看 k8s 官方文档 https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/admission-controllers/#eventratelimit
apiVersion: eventratelimit.admission.k8s.io/v1alpha1 |
4,在 /etc/rancher/rke2 目录下有个 rke2-pss.yaml 文件,拷贝这个文件到 /etc/rancher/rke2/config 目录,然后重命名为 rke2-pss-custom.yaml。在 rke2-pss-custom.yaml 文件中定义 EventRateLimit 插件配置路径,此配置文件为 3 步骤中创建的配置文件。
apiVersion: apiserver.config.k8s.io/v1 |
5,修改 kube-apiserver-arg 和 kube-apiserver-extra-mount,将 /etc/rancher/rke2/config 配置目录挂载到 apiserver pod 中,并通过 admission-control-config-file 指定自定义配置文件路径。
spec: |