Установка Neuvector в конфигурации по умолчанию
Для установки модуля Neuvector в Nova Container Platform SE используйте один из представленных далее манифестов:
Для кластера в конфигурации по умолчанию
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nova-release-neuvector-pre
namespace: nova-gitops
labels:
nova-application-group: cluster-security
kustomization.nova-platform.io/cluster: "true"
spec:
serviceAccountName: kustomize-controller
commonMetadata:
labels:
app.kubernetes.io/managed-by: Nova
interval: 10m
retryInterval: 30s
timeout: 5m
prune: true
sourceRef:
kind: GitRepository
name: nova-release-gitrepo-main
path: ./resources/neuvector/pre
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nova-release-neuvector-main
namespace: nova-gitops
labels:
nova-application-group: cluster-security
kustomization.nova-platform.io/cluster: "true"
spec:
serviceAccountName: kustomize-controller
commonMetadata:
labels:
app.kubernetes.io/managed-by: Nova
interval: 10m
retryInterval: 30s
timeout: 5m
prune: true
dependsOn:
- name: nova-release-ingress-internal-main
- name: nova-release-prometheus-main
- name: nova-release-cert-manager-post
sourceRef:
kind: GitRepository
name: nova-release-gitrepo-main
path: ./resources/neuvector/main
postBuild:
substituteFrom:
- kind: ConfigMap
name: nova-gitops-common-substitute-config
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: neuvector-manager-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: Deployment
name: neuvector-registry-adapter-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: Deployment
name: neuvector-scanner-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: DaemonSet
name: neuvector-enforcer-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: StatefulSet
name: neuvector-controller-pod
namespace: nova-neuvector
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nova-release-neuvector-post
namespace: nova-gitops
labels:
nova-application-group: cluster-security
kustomization.nova-platform.io/cluster: "true"
spec:
serviceAccountName: kustomize-controller
commonMetadata:
labels:
app.kubernetes.io/managed-by: Nova
interval: 10m
retryInterval: 30s
timeout: 5m
prune: true
dependsOn:
- name: nova-release-neuvector-main
sourceRef:
kind: GitRepository
name: nova-release-gitrepo-main
path: ./resources/neuvector/post
postBuild:
substituteFrom:
- kind: ConfigMap
name: nova-gitops-common-substitute-config
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: neuvector-prometheus-exporter-pod
namespace: nova-neuvector
Для высокодоступного кластера в рекомендуемой конфигурации
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nova-release-neuvector-pre
namespace: nova-gitops
labels:
nova-application-group: cluster-security
kustomization.nova-platform.io/cluster: "true"
spec:
serviceAccountName: kustomize-controller
commonMetadata:
labels:
app.kubernetes.io/managed-by: Nova
interval: 10m
retryInterval: 30s
timeout: 5m
prune: true
sourceRef:
kind: GitRepository
name: nova-release-gitrepo-main
path: ./resources/neuvector/pre
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nova-release-neuvector-main
namespace: nova-gitops
labels:
nova-application-group: cluster-security
kustomization.nova-platform.io/cluster: "true"
spec:
patches:
- patch: |
- op: replace
path: /spec/replicas
value: 3
target:
kind: StatefulSet
name: neuvector-controller-pod
namespace: nova-neuvector
serviceAccountName: kustomize-controller
commonMetadata:
labels:
app.kubernetes.io/managed-by: Nova
interval: 10m
retryInterval: 30s
timeout: 5m
prune: true
dependsOn:
- name: nova-release-ingress-internal-main
- name: nova-release-prometheus-main
- name: nova-release-cert-manager-post
sourceRef:
kind: GitRepository
name: nova-release-gitrepo-main
path: ./resources/neuvector/main
postBuild:
substituteFrom:
- kind: ConfigMap
name: nova-gitops-common-substitute-config
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: neuvector-manager-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: Deployment
name: neuvector-registry-adapter-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: Deployment
name: neuvector-scanner-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: DaemonSet
name: neuvector-enforcer-pod
namespace: nova-neuvector
- apiVersion: apps/v1
kind: StatefulSet
name: neuvector-controller-pod
namespace: nova-neuvector
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: nova-release-neuvector-post
namespace: nova-gitops
labels:
nova-application-group: cluster-security
kustomization.nova-platform.io/cluster: "true"
spec:
serviceAccountName: kustomize-controller
commonMetadata:
labels:
app.kubernetes.io/managed-by: Nova
interval: 10m
retryInterval: 30s
timeout: 5m
prune: true
dependsOn:
- name: nova-release-neuvector-main
sourceRef:
kind: GitRepository
name: nova-release-gitrepo-main
path: ./resources/neuvector/post
postBuild:
substituteFrom:
- kind: ConfigMap
name: nova-gitops-common-substitute-config
healthChecks:
- apiVersion: apps/v1
kind: Deployment
name: neuvector-prometheus-exporter-pod
namespace: nova-neuvector
1. Установка модуля Neuvector
1.1. Предварительные условия
-
Вы ознакомились с архитектурой и концепциями Neuvector в Nova Container Platform.
-
Вы ознакомились с документацией по планированию установки и системным требованиям Neuvector.
-
У вас есть доступ к кластеру с учетной записью, имеющей роль
cluster-adminв Kubernetes. -
Вы установили утилиту
kubectlдля работы с Kubernetes.
1.2. Установка с помощью kubectl
-
Сохраните представленный выше манифест в файл, например,
neuvector.yaml. -
Установите манифест в кластер Kubernetes, выполнив команду:
kubectl apply -f neuvector.yaml -
Проверьте состояние запущенных компонентов Neuvector, выполнив команду:
kubectl get pods -n nova-neuvector -
Проверьте состояние Cluster Kustomizations, выполнив команду:
kubectl get ks -l nova-application-group=cluster-security -n nova-gitops
1.3. Установка с помощью Nova Console
-
Скопируйте представленный выше манифест в буфер обмена.
-
Выполните вход в Nova Console.
-
Используйте опцию импорта нового объекта и вставьте в форму ранее скопированный манифест.
Рисунок 1. Установка модуля Neuvector -
Перейдите в раздел Workloads, далее Pods и выберете пространство имен
nova-neuvector. Проверьте состояние запущенных компонентов Neuvector. -
Перейдите в раздел Administration, далее Cluster Settings, во вкладке Configuration выберете Cluster Kustomizations. Проверьте состояние Cluster Kustomizations с именем
nova-neuvector.