如何在部署 elasticsearch 期间根据任何 pod 安全策略进行验证

时间:2021-02-08 15:53:03

标签: elasticsearch kubernetes kubernetes-helm elastic-stack

我已经在 Kubernetes 环境中部署了 Elasticsearch 的 Bitnami helm chart。

https://github.com/bitnami/charts/tree/master/bitnami/elasticsearch

不幸的是,我收到了仅用于协调的 pod 的以下错误。但是,集群受到限制。

Pod“elasticsearch-elasticsearch-coordinating-only-5b57786cf6-”被禁止:无法针对任何 Pod 安全策略进行验证: [spec.initContainers[0].securityContext.privileged: 无效值: true: 不允许特权容器];部署没有最低可用性。

我需要调整/添加默认的 values.yaml 吗?

有什么建议可以摆脱这个错误吗? 谢谢。

2 个答案:

答案 0 :(得分:1)

您无法验证您的集群是否受到某些安全政策的限制。在您的情况下,有人(假设是管理员)阻止了为您运行特权容器的选项。

以下是 pod 安全策略如何阻止特权容器的示例:

apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: example
spec:
  privileged: false  # Don't allow privileged pods!
  seLinux:
    rule: RunAsAny

----

您需要的是拥有适当的 RolePodSecurityPolicy 资源以及允许您运行特权容器的 RoleBinding

这在 Enabling pod security policy

的 kubernetes 文档中有很好的解释

答案 1 :(得分:0)

所以解决方案是在 values.yaml 文件中设置以下参数,然后简单地部署。 无需创建任何角色或 Pod 安全策略。

sysctlImage:
  enabled: false

curator:
  enabled: true
  rbac:
    # Specifies whether RBAC should be enabled
    enabled: true
  psp:
    # Specifies whether a podsecuritypolicy should be created
    create: true

也在每个节点上运行这个命令:

sysctl -w vm.max_map_count=262144 && sysctl -w fs.file-max=65536