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.

Usuario de Aerospike no encontrado al ejecutar como no root.

Estoy usando la imagen Docker de Aerospike Community Edition.
Nuestro clúster k8s no permite la ejecución de contenedores como root. Por lo tanto, empecé a seguir esta documentación para ejecutarlo como no root.

Pero cuando ejecuto la imagen, obtengo el siguiente error:

link eth0 state up
link eth0 state up in 0
Dec 02 2021 10:15:12 GMT: CRITICAL (config): (cfg.c:2168) linea 6 :: usuario no encontrado: 8888
Dec 02 2021 10:15:12 GMT: WARNING (as): (signal.c:166) SIGINT recibido, apagando Aerospike Community Edition build 5.6.0.7 os debian10
Dec 02 2021 10:15:12 GMT: WARNING (as): (signal.c:169) el inicio no estaba completo, saliendo inmediatamente

Tengo la siguiente configuración en mi archivo de configuración de Aerospike:

service {
  user 8888
  group 8888
  paxos-single-replica-limit 1 # Número de nodos en los que automáticamente se reduce la cantidad de réplicas a 1.
  pidfile /var/run/aerospike/asd.pid
  # service-threads 6 # cpu x 5 en 4.7
  # transaction-queues 6 # obsoleto en 4.7
  # transaction-threads-per-queue 4 # obsoleto en 4.7
  proto-fd-max 15000
}

y este es mi archivo de configuración de k8s:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: aerospike
  labels:
    app: aerospike
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 0%
      maxUnavailable: 100%
  selector:
    matchLabels:
      app: aerospike
  template:
    metadata:
      labels:
        app: aerospike
    spec:
      terminationGracePeriodSeconds: 30
      volumes:
        - name: config-volume
          configMap:
            name: aerospikeconfig
      containers:
        - name: aerospike-container
          image: aerospikeimage
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - mountPath: /etc/aerospike/
              name: config-volume
          env:
            - name: NAMESPACE
              value: "bar"
          securityContext:
            runAsUser: 8888
            runAsGroup: 8888
            runAsNonRoot: true
          resources:
            requests:
              memory: 1Gi
              cpu: 1
            limits:
              memory: 1Gi
              cpu: 1
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “usuario no encontrado: 8888” indica que el usuario con ID 8888 no existe dentro del contenedor de aerospike. Esto se debe probablemente a que el usuario no se agrega en el Dockerfile al construir la imagen de aerospike.

    Para solucionar este problema, puede modificar el Dockerfile para crear el usuario de aerospike en la imagen con el UID y GID apropiados, o puede agregar un script para crear el usuario en tiempo de ejecución en el contenedor.

    También puede verificar que los IDs de usuario y grupo especificados en el archivo de configuración de aerospike coincidan con los IDs de usuario y grupo especificados en el archivo de implementación de Kubernetes.

    Además, asegúrese de que el archivo de configuración de aerospike se haya montado en la ruta correcta dentro del contenedor y que la imagen de Docker tenga los permisos necesarios para leer el archivo.

Comments are closed.