Depuis la version 3.2 d’NSX-T, un cluster Kubernetes est nécessaire afin d’installer NSX Application Platform qui permet ensuite d’installer NSX inteligence et d’autres composants de sécurités.
Dans cet article nous allons voir comment installer NSX Application Platform dans un environnement Kubernetes déployé par Container service Extension.
Pré requis
- Environnement NSX fonctionnel
- Environnement CSE fonctionnel
- Quelques connaissances Kubernetes
Déploiement Cluster Kubernetes
Nous allons déployer NSX Application Platform en mode évaluation, en accord avec la documentation VMware vous devez déployer :
-
Un seul Master node
-
Un seul Work Node
Dans un premier temps, au sein de votre Cloud Director vous devez créer une nouvelle VM sizing policy
Vous pouvez ensuite déployer votre cluster Kubernetes avec Container Service Extension
Vous devez augmenter l’espace disque des worker node afin d’avoir suffisamment d’espace libre pour télécharger les images nécessaires à NSX Application platform
Configuration Cluster Kubernetes
Persistent Volumes
Le driver de stockage par défaut est limité à 15 PVC par worker node. Cependant, NSX Application platorm nécessite environ 17 ou 18 PVC par Worker node. Vous devez donc configurer un autre driver de stockage. Vous pouvez utiliser le driver CSI NFS, un de mes précédents articles décrit la procédure d’installation :
Setup NFS driver on Kubernetes TKGm cluster provide by Container Service Extension.
Clenning
Certains composants installés par défaut par Container Service Extension sont incompatibles avec un nouveau déploiement d’NSX Application plateforme, vous devez supprimer les composants suivant :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
k delete CustomResourceDefinition
k delete CustomResourceDefinition certificaterequests.cert-manager.io
k delete CustomResourceDefinition certificates.cert-manager.io
k delete CustomResourceDefinition challenges.acme.cert-manager.io
k delete CustomResourceDefinition clusterissuers.cert-manager.io
k delete CustomResourceDefinition issuers.cert-manager.io
k delete CustomResourceDefinition orders.acme.cert-manager.io
k delete clusterRole cert-manager-cainjector
k delete clusterRole cert-manager-controller-issuers
k delete clusterRole cert-manager-controller-clusterissuers
k delete clusterRole cert-manager-controller-certificates
k delete clusterRole cert-manager-controller-orders
k delete clusterRole cert-manager-controller-challenges
k delete clusterRole cert-manager-controller-ingress-shim
k delete clusterRole cert-manager-view
k delete clusterRole cert-manager-edit
k delete clusterRole cert-manager-controller-approve:cert-manager-io
k delete clusterRole cert-manager-controller-certificatesigningrequests
k delete clusterRole cert-manager-webhook:subjectaccessreviews
k delete clusterRole cert-manager-cainjector
k delete clusterRole cert-manager-cainjector
k delete clusterRole cert-manager-cainjector
k delete ClusterRoleBinding cert-manager-cainjector
k delete ClusterRoleBinding cert-manager-controller-issuers
k delete ClusterRoleBinding cert-manager-controller-clusterissuers
k delete ClusterRoleBinding cert-manager-controller-certificates
k delete ClusterRoleBinding cert-manager-controller-orders
k delete ClusterRoleBinding cert-manager-controller-challenges
k delete ClusterRoleBinding cert-manager-controller-ingress-shim
k delete ClusterRoleBinding cert-manager-controller-approve:cert-manager-io
k delete ClusterRoleBinding cert-manager-controller-certificatesigningrequests
k delete ClusterRoleBinding cert-manager-webhook:subjectaccessreview
k delete ClusterRoleBinding cert-manager-webhook:subjectaccessreviews
k delete ClusterRoleBinding cert-manager-cainjector:leaderelection
k delete ClusterRoleBinding cert-manager-cainjector
k delete roles cert-manager:leaderelection -n kube-system
k delete roles cert-manager-cainjector:leaderelection -n kube-system
k delete ClusterRoleBinding cert-manager-cainjector:leaderelection -n kube-system
k delete RoleBinding cert-manager-cainjector:leaderelection -n kube-system
k delete RoleBinding cert-manager:leaderelection -n kube-system
k delete MutatingWebhookConfiguration cert-manager-webhook -n kube-system
k delete ValidatingWebhookConfiguration cert-manager-webhook -n kube-system
k delete namespaces cert-manager
|
Installation
Vous pouvez maintenant lancer le Wizzard d’installation. N’oubliez pas de sélectionner la storage classe adéquate :
Le FQDN Interface Service Name correspond à l’IP du service contour déployé par NSX Application platform. Durant le déploiement vous pouvez déterminer l’IP assigné au service Contour et modifier vos enregistrements DNS en fonction.
Si vous avez correctement supprimé l’ensemble des ressources dépendantes de cert-manager, déployé le nombre correct de Master et Worker node, et respecté les ressources hardware indiquées dans la documentation VMware, l’ensemble des check devrait être réussi
Après quelques minutes vous serez en mesure d’activer NSX Intelligence et l’utiliser sur votre environnement