es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo implementar bitnami/kafka en un clúster de OpenShift

Estoy intentando implementar el Helm Chart de bitnami/kafka en el clúster de Codeready Containers OpenShift.

He creado un nuevo proyecto “kafka”, agregué la siguiente scc a la cuenta de servicio y luego implementé el release de helm de bitnami:

$ oc new-project kafka

$ oc adm policy add-scc-to-user anyuid system:serviceaccount:kafka:default

$ helm install kafka -f values.yaml bitnami/kafka

El pod de kafka-zookeeper se inicia normalmente, sin embargo, el pod de kafka no se está iniciando y reporta el siguiente evento:

'create Pod kafka-0 in StatefulSet kafka failed error: pods "kafka-0" is forbidden: unable to validate against any security context constraint: [provider "anyuid": Forbidden: not usable by user or serviceaccount, provider restricted: .spec.securityContext.fsGroup: Invalid value: []int64{1001}: 1001 is not an allowed group, spec.containers[0].securityContext.runAsUser: Invalid value: 1001: must be in the ranges: [1000680000, 1000689999], provider "nonroot": Forbidden: not usable by user or serviceaccount, provider "hostmount-anyuid": Forbidden: not usable by user or serviceaccount, provider "machine-api-termination-handler": Forbidden: not usable by user or serviceaccount, provider "hostnetwork": Forbidden: not usable by user or serviceaccount, provider "hostaccess": Forbidden: not usable by user or serviceaccount, provider "node-exporter": Forbidden: not usable by user or serviceaccount, provider "privileged": Forbidden: not usable by user or serviceaccount]'

¿Alguien sabe cómo implementar el Helm Chart de Kafka en el clúster de OpenShift?
¿Hay alguna otra configuración de seguridad necesaria en la cuenta de servicio?

Gracias.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para implementar el Helm Chart bitnami/kafka en un clúster de Codeready Containers OpenShift, es necesario agregar más configuraciones de seguridad a la cuenta de servicio.

    Una posible solución es actualizar el contexto de seguridad de la cuenta de servicio default, permitiéndole ejecutarse con un ID de grupo específico y un rango de ID de usuario. Esto se puede hacer utilizando el siguiente comando:

    $ oc patch serviceaccount default -p '{"imagePullSecrets": [{"name": "registrypull"}], "metadata": {"annotations":{"openshift.io/requested-resource-locks":"{\"resourceVersion\":\"\",\"resource\": \"limits.cpu\",\"namespace\":\"kafka\"}"}} ,"secrets": [{"name": "deployer-dockercfg-4bs59"}], "imagePullSecrets": [{"name": "deployer-dockercfg-4bs59"}], "automountServiceAccountToken": true, "kind": "ServiceAccount", "apiVersion": "v1", "imagePullSecrets": [{"name": "deployer-dockercfg-4bs59"}], "defaultToken": {"name": "default-token-p4tg4"}, "secrets": [{"name": "default-token-p4tg4"}], "spec": {"fsGroup": 1001, "runAsUser": 1000680000, "runAsNonRoot": true}}'
    

    Además, puede ser necesario actualizar las restricciones de contexto de seguridad (SCCs) predeterminadas del proyecto kafka para permitir que la cuenta de servicio default utilice la restricción de contexto de seguridad anyuid. Esto se puede hacer con el siguiente comando:

    $ oc adm policy add-scc-to-user anyuid system:serviceaccount:kafka:default
    

    Después de aplicar estos cambios, se debe volver a ejecutar el comando helm install:

    $ helm install kafka -f values.yaml bitnami/kafka
    

    Esto debería permitir que el Helm Chart de Kafka se implemente correctamente en el clúster de OpenShift.

Comments are closed.