Добавляем параметры аудита в
k8s_cluster/kube_control_plane.yml# Audit
kubernetes_audit: true
audit_log_path: "/var/log/kubernetes/audit/kube-apiserver-audit.log"
audit_log_maxage: 30
audit_log_maxbackups: 5
audit_log_maxsize: 1000
audit_policy_file: "/etc/kubernetes/audit/policy.yaml"
audit_policy_custom_rules: |
В
audit_policy_custom_rules ваша политика.С прогоном немножко сложно. Дело в том, что если версия k8s не меняется, то kubeadm не перегенерирует статик манифесты подов. Но добавит нужную конфигурацию в
kubeadm-config.yml.Для начал выполним:
ansible-playbook -i inventory --become --become-user=root cluster.yml --limit=kube_control_plane -e "upgrade_cluster_setup=true" --tags master
Это добавит нужное в
kubeadm-config.yml.Далее можно запустить руками на каждом мастер узле генерацию нового статик манифеста для apiserver.
kubeadm init phase control-plane apiserver --config /etc/kubernetes/kubeadm-config.yaml
Или через ansible
ansible -i inventory kube_control_plane -m shell -a "kubeadm init phase control-plane apiserver --config /etc/kubernetes/kubeadm-config.yaml"
После чего на одном из мастеров следует обновить configMap в кластере.
kubeadm init phase upload-config kubeadm --config /etc/kubernetes/kubeadm-config.yaml
Проверяем, что параметры добавились
cat /etc/kubernetes/manifests/kube-apiserver.yaml |grep audit
В выводе будут добавленные параметры.
Проверить логи:
cat /var/log/kubernetes/audit/kube-apiserver-audit.log
#kubernetes