Déploiement de NeuVector Standalone (sans fédération)
2. Déploiement de NeuVector
Pré-requis
Avant de déployer NeuVector, il est nécessaire de disposer :
- Connaitre kubernetes
-
D’un cluster Kubernetes opérationnel, avec au minimum 3 vCPU et 6 Go de RAM par nœud afin de garantir les ressources nécessaires aux composants NeuVector (Controller, Enforcer, Scanner, Manager).
-
De l’outil Helm (version 3.x), qui permetra le deploiement des application sur le cluster.
Modes de déploiement
NeuVector peut être installé selon deux approches principales :
-
Mode Standalone (sans fédération)
-
La console NeuVector (Manager) est accessible localement sur ce cluster pour l’administration.
- Le management est limité à la seule instance nevector. Si vous avez plus clusters avec neuvector installé sur chacun, l'adminsitration ne pourra pas être centralisée. Chaque config devra être reptée autant de fois que de cluster.
-
Ce mode est adapté aux environnements mono-cluster ou aux envs de test et de validation.
-
-
Mode Fédéré (multi-clusters)
-
Un cluster est désigné comme cluster maître (Primary) et centralise la gestion et les politiques de sécurité.
-
Les autres clusters sont configurés en clusters membres (Managed) et synchronisent leurs événements et règles avec le maître.
-
Ce mode est particulièrement recommandé pour les environnements de production multi-clusters, car il permet :
-
Une administration unifiée des politiques de sécurité.
-
Une visibilité consolidée sur l’ensemble des clusters.
-
Une gestion centralisée des mises à jour et de la conformité.
-
-
(Les détails complets du mode fédéré et son déploiement sont présentés au chapitre 7.)
Mode Standalone (sans fédération)
- Déployer un cluster Kubernetes simple avec un node
- Créer une vm avec 3 vcpu et 5 Go RAM.

-
- Lancer les commandes suivantes
sudo su
curl -sfL https://get.rke2.io | INSTALL_RKE2_TYPE="server" INSTALL_RKE2_VERSION="v1.33.3+rke2r1" sh -
systemctl enable rke2-server.service
systemctl start rke2-server.service
-
- Verifier le service rke2
systemctl status rke2-server.service

-
- Copier le kubeconfig en local
mkdir -p $HOME/.kube # en local
cat /etc/rancher/rke2/rke2.yaml # sur le server
vim $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl config user context local
kubectl get nodes
-
- Editer avec vscode et chager l'ip 127. avec l'ip de la vm

-
- Switch sur le context et tester
kubectl config user context < le nom de vote context>
kubectl get nodes

-
- Deploye rancher local provisionner pour avoir une classe de stockage
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.32/deploy/local-path-storage.yaml
- Installation standalone de neuvector
- Ajouter le repo helm
helm repo add neuvector https://neuvector.github.io/neuvector-helm/
helm repo update
helm search repo neuvector/core
-
- Fichier values.yaml
- Les replicas sont mis à 1 parcequ'on a un seul node dans le cluster
- Fichier values.yaml
# helm repo add neuvector https://neuvector.github.io/neuvector-helm/
# helm search repo neuvector/core
# helm upgrade --install neuvector -n neuvector-system neuvector/core -f ../neuvector/values.yaml --create-namespace
# admin pwd: %UK7M@JZoaUWS5FG
autoGenerateCert: true
defaultValidityPeriod: 365
enforcer:
enabled: true
resources:
limits:
cpu: 400m
memory: 2000Mi
requests:
cpu: 100m
memory: 500Mi
controller:
enabled: true
replicas: 1
resources:
limits:
cpu: 400m
memory: 2000Mi
requests:
cpu: 100m
memory: 500Mi
pvc:
enabled: false
existingClaim: false
accessModes:
- ReadWriteMany
storageClass: "local-path"
capacity: 1Gi
manager: # webui
enabled: true
env:
ssl: true
svc:
type: NodePort # should be set to - ClusterIP NodePort LoadBalancer
nodePort: 32080 # only if svc.type is NodePort
ingress:
enabled: false
host: # MUST be set, if ingress is enabled
ingressClassName: ""
path: "/"
annotations:
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
# kubernetes.io/ingress.class: my-nginx
# nginx.ingress.kubernetes.io/whitelist-source-range: "1.1.1.1"
# nginx.ingress.kubernetes.io/rewrite-target: /
tls: false
secretName: # my-tls-secret
cve:
scanner:
enabled: true
replicas: 1
resources:
limits:
cpu: 400m
memory: 3000Mi
requests:
cpu: 100m
memory: 500Mi
resources:
limits:
cpu: 400m
memory: 2000Mi
requests:
cpu: 100m
memory: 512Mi
-
- Installation
helm upgrade --install neuvector -n neuvector-system neuvector/core -f single-replica-values.yaml --create-namespace

-
- Acceder à l'ui de neuvector
-
-
-
Recuperer le bootstrap password avec cette commande et l'url d'accès toujours en https : https://node_ip:32080/
-
Login : admin et password: à afficher avec la commande ci-dessous.
-
-
kubectl -n neuvector-system get secret neuvector-bootstrap-secret -o jsonpath='{.data.bootstrapPassword}' | base64 -d; echo


Commentaires
Aucun commentaire pour le moment.