Mirantis Kubernetes Engine
Desplegar en el clúster Swarm
Para desplegar SUSE® Security utilizando un clúster Swarm, primero descarga las imágenes SUSE® Security usando Docker UCP en el menú de Imágenes. Puede que necesites añadir un número de versión para obtener la última versión en Docker Hub.
Actualmente, Swarm/UCP no soporta las capacidades seccomp (opciones cap_add) ni el despliegue en ‘privileged mode’, por lo que los contenedores SUSE® Security deberán ser desplegados desde la línea de comandos usando docker-compose o run. Consulta los archivos de composición de muestra para el All-in-One y el Enforcer a continuación.
El servicio HRM de Docker UCP utiliza el puerto predeterminado 8443, que entra en conflicto con el puerto de consola SUSE® Security. Si utilizas el puerto HRM predeterminado, entonces cambia el mapeo de puertos SUSE® Security, por ejemplo 9443:8443 para el contenedor All-in-One en los ejemplos a continuación. Después de que la aplicación SUSE® Security se haya desplegado con éxito, inicia sesión en la consola en el puerto 9443 del host All-in-One.
Desplegar en Docker Swarm usando Modo Privilegiado
El siguiente es un ejemplo del archivo docker-compose para desplegar el contenedor All-in-One en el primer nodo. Debido a que el contenedor All-in-One tiene un módulo aplicador dentro, los contenedores de aplicación en el mismo nodo pueden ser asegurados. Se soportan tanto el despliegue greenfield como brownfield.
Desplegar All-in-One usando docker-compose (modo privilegiado):
allinone:
pid: host
image: neuvector/allinone:<version>
container_name: allinone
privileged: true
environment:
- CLUSTER_JOIN_ADDR=node_ip
ports:
- 18300:18300
- 18301:18301
- 18400:18400
- 18401:18401
- 18301:18301/udp
- 9443:8443
volumes:
- /lib/modules:/lib/modules
- /var/neuvector:/var/neuvector
- /var/run/docker.sock:/var/run/docker.sock
- /proc:/host/proc:ro
- /sys/fs/cgroup:/host/cgroup:ro
La variable de entorno más importante es CLUSTER_JOIN_ADDR. Es la dirección IP a la que se conectan otros aplicadores. Normalmente, debería establecerse en la dirección IP del nodo donde se está ejecutando el contenedor All-in-One.
Los puertos 18300 y 18301 son puertos predeterminados para la comunicación del clúster. Deben ser idénticos para todos los controladores y aplicadores en el clúster. Por favor, consulta la sección "Detalles de Docker-compose" para saber cómo cambiar los puertos predeterminados.
Añade un contenedor aplicador utilizando docker-compose (modo privilegiado)
Este es un ejemplo de archivo docker-compose para unir un aplicador al clúster. Se soportan tanto el despliegue greenfield como brownfield.
enforcer:
pid: host
image: neuvector/enforcer:<version>
container_name: enforcer
privileged: true
environment:
- CLUSTER_JOIN_ADDR=controller_node_ip
ports:
- 18301:18301
- 18401:18401
- 18301:18301/udp
volumes:
- /lib/modules:/lib/modules
- /var/run/docker.sock:/var/run/docker.sock
- /proc:/host/proc:ro
- /sys/fs/cgroup/:/host/cgroup/:ro
La variable de entorno más importante es CLUSTER_JOIN_ADDR. Para los aplicadores, reemplaza <controller_node_ip> con la dirección IP del nodo del controlador. Típicamente, CLUSTER_JOIN_ADDR en el archivo docker-compose del controlador/All-in-One y en el archivo docker-compose del aplicador tienen el mismo valor.
Desde SUSE® Security 4.0+, debe desplegarse un contenedor escáner separado para realizar el escaneo de vulnerabilidades.
Ejemplo de docker-compose para el Escáner:
Scanner:
image: neuvector/scanner
container_name: scanner
environment:
- SCANNER_DOCKER_URL=tcp://192.168.1.10:2376
- CLUSTER_JOIN_ADDR=controller_node_ip
ports:
- 18402:18402
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
Despliegue sin utilizar el modo privilegiado
Para algunas configuraciones de plataforma, es posible desplegar los contenedores SUSE® Security sin requerir que se ejecuten en modo privilegiado. La configuración debe admitir la capacidad de añadir capacidades y establecer el perfil de AppArmor. Ten en cuenta que Docker DataCenter/UCP y Swarm actualmente no soportan esto, pero aún es posible desplegar SUSE® Security manualmente utilizando Compose o Run.
Despliega All-in-One (SIN modo privilegiado) con docker-compose
allinone:
pid: host
image: neuvector/allinone
container_name: neuvector.allinone
cap_add:
- SYS_ADMIN
- NET_ADMIN
- SYS_PTRACE
- IPC_LOCK
security_opt:
- apparmor=unconfined
- seccomp=unconfined
- label=disable
environment:
- CLUSTER_JOIN_ADDR=[AllInOne Node IP Address]
ports:
- 18300:18300
- 18301:18301
- 18400:18400
- 18401:18401
- 18301:18301/udp
- 9443:8443
volumes:
- /lib/modules:/lib/modules
- /var/run/docker.sock:/var/run/docker.sock
- /proc:/host/proc:ro
- /sys/fs/cgroup:/host/cgroup:ro
- /var/neuvector:/var/neuvector
Despliega aplicador (SIN modo privilegiado) con docker-compose
enforcer:
pid: host
image: neuvector/enforcer
container_name: neuvector.enforcer
cap_add:
- SYS_ADMIN
- NET_ADMIN
- SYS_PTRACE
- IPC_LOCK
security_opt:
- apparmor=unconfined
- seccomp=unconfined
- label=disable
environment:
- CLUSTER_JOIN_ADDR=[AllInOne Node IP Address]
ports:
- 18301:18301
- 18401:18401
- 18301:18301/udp
volumes:
- /lib/modules:/lib/modules
- /var/run/docker.sock:/var/run/docker.sock
- /proc:/host/proc:ro
- /sys/fs/cgroup/:/host/cgroup/:ro