Mirantis Kubernetes Engine
Implantar no Cluster Swarm
Para implantar SUSE® Security usando um cluster Swarm, primeiro puxe as imagens SUSE® Security usando o Docker UCP no menu Imagens. Você pode precisar adicionar um número de versão para obter a versão mais recente no Docker Hub.
Atualmente, o Swarm/UCP não suporta as capacidades seccomp (opções cap_add) ou implantações em ‘privileged mode’, então os contêineres SUSE® Security precisarão ser implantados a partir da linha de comando usando docker-compose ou run. Veja os arquivos de compose de exemplo para o All-in-One e enforcer abaixo.
O serviço HRM do Docker UCP usa a porta padrão 8443, que conflita com a porta do console SUSE® Security. Se estiver usando a porta padrão do HRM, então altere o mapeamento da porta SUSE® Security, por exemplo 9443:8443 para o contêiner All-in-One nos exemplos abaixo. Após o aplicativo SUSE® Security ser implantado com sucesso, faça login no console na porta 9443 do host All-in-One.
Implantar no Docker Swarm Usando Modo Privilegiado
O seguinte é um exemplo do arquivo docker-compose para implantar o contêiner All-in-One no primeiro nó. Como o contêiner All-in-One possui um módulo enforcer dentro, os contêineres de aplicação no mesmo nó podem ser protegidos. Tanto a implantação greenfield quanto a brownfield são suportadas.
Implantar 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
A variável de ambiente mais importante é CLUSTER_JOIN_ADDR. É o endereço IP ao qual outros enforcers se conectam. Normalmente, deve ser definido como o endereço IP do nó onde o contêiner All-in-One está em execução.
As portas 18300 e 18301 são portas padrão para comunicação entre clusters. Eles devem ser idênticos para todos os controladores e enforcers no cluster. Por favor, consulte a seção "Detalhes do Docker-compose" para saber como alterar as portas padrão.
Adicione um contêiner enforcer usando docker-compose (modo privilegiado)
Este é um exemplo de arquivo docker-compose para juntar um enforcer ao cluster. Tanto a implantação greenfield quanto a brownfield são suportadas.
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
A variável de ambiente mais importante é CLUSTER_JOIN_ADDR. Para enforcers, substitua <controller_node_ip> pelo endereço IP do nó do controlador. Normalmente, CLUSTER_JOIN_ADDR no arquivo docker-compose do controlador/All-in-One e no arquivo docker-compose do enforcer têm o mesmo valor.
A partir de SUSE® Security 4.0+, um contêiner scanner separado deve ser implantado para realizar a varredura de vulnerabilidades.
Exemplo de docker-compose para o Scanner:
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
Implantação sem usar o modo privilegiado
Para algumas configurações de plataforma, é possível implantar os contêineres SUSE® Security sem que eles precisem ser executados em modo privilegiado. A configuração deve suportar a capacidade de adicionar capacidades e definir o arquivo de controle do AppArmor. Observe que o Docker DataCenter/UCP e o Swarm atualmente não suportam isso, mas ainda é possível implantar SUSE® Security manualmente usando Compose ou Run.
Implantar All-in-One (SEM modo privilegiado) com 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
Implantar enforcer (SEM modo privilegiado) com 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