Configurer le centre de contrôle Astra après l'installation
En fonction de votre environnement, une configuration supplémentaire peut être nécessaire après l'installation d'Astra Control Center.
Supprimer les limitations de ressources
Certains environnements utilisent les objets ResourceQuotas et LimitRanges pour empêcher les ressources d'un namespace de consommer l'ensemble des CPU et de la mémoire disponibles sur le cluster. Le centre de contrôle Astra ne fixe pas de limites maximales, il ne sera donc pas conforme à ces ressources. Si votre environnement est configuré de cette façon, vous devez supprimer ces ressources des espaces de noms où vous prévoyez d'installer Astra Control Center.
Vous pouvez suivre les étapes suivantes pour récupérer et supprimer ces quotas et ces limites. Dans ces exemples, la sortie de la commande est affichée immédiatement après la commande.
-
Obtenez les quotas de ressources dans
netapp-acc
(ou nom-personnalisé) espace de noms :kubectl get quota -n [netapp-acc or custom namespace]
Réponse :
NAME AGE REQUEST LIMIT pods-high 16s requests.cpu: 0/20, requests.memory: 0/100Gi limits.cpu: 0/200, limits.memory: 0/1000Gi pods-low 15s requests.cpu: 0/1, requests.memory: 0/1Gi limits.cpu: 0/2, limits.memory: 0/2Gi pods-medium 16s requests.cpu: 0/10, requests.memory: 0/20Gi limits.cpu: 0/20, limits.memory: 0/200Gi
-
Supprimez tous les quotas de ressources par nom :
kubectl delete resourcequota pods-high -n [netapp-acc or custom namespace]
kubectl delete resourcequota pods-low -n [netapp-acc or custom namespace]
kubectl delete resourcequota pods-medium -n [netapp-acc or custom namespace]
-
Obtenez les limites de la
netapp-acc
(ou nom-personnalisé) espace de noms :kubectl get limits -n [netapp-acc or custom namespace]
Réponse :
NAME CREATED AT cpu-limit-range 2022-06-27T19:01:23Z
-
Supprimez les plages de limite par nom :
kubectl delete limitrange cpu-limit-range -n [netapp-acc or custom namespace]
Activer la communication réseau entre les espaces de noms
Certains environnements utilisent les constructions NetworkPolicy pour limiter le trafic entre les espaces de noms. L'opérateur du centre de contrôle Astra et le centre de contrôle Astra sont dans des espaces de noms différents. Les services de ces différents espaces de noms doivent être capables de communiquer les uns avec les autres. Pour activer cette communication, procédez comme suit.
-
Supprimez toutes les ressources NetworkPolicy qui existent dans l'espace de noms Astra Control Center :
kubectl get networkpolicy -n [netapp-acc or custom namespace]
-
Pour chaque objet NetworkPolicy renvoyé par la commande précédente, utilisez la commande suivante pour le supprimer. Remplacez [NOM_OBJET] par le nom de l'objet renvoyé :
kubectl delete networkpolicy [OBJECT_NAME] -n [netapp-acc or custom namespace]
-
Appliquez le fichier de ressources suivant pour configurer le
acc-avp-network-policy
Objet pour permettre aux services de plug-in Astra de faire des demandes aux services Astra Control Center. Remplacez entre parenthèses <> par les informations relatives à votre environnement :apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: acc-avp-network-policy namespace: <ACC_NAMESPACE_NAME> # REPLACE THIS WITH THE ASTRA CONTROL CENTER NAMESPACE NAME spec: podSelector: {} policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: <PLUGIN_NAMESPACE_NAME> # REPLACE THIS WITH THE ASTRA PLUGIN NAMESPACE NAME
-
Appliquez le fichier de ressources suivant pour configurer le
acc-operator-network-policy
Objet permettant à l'opérateur du centre de contrôle Astra de communiquer avec les services du centre de contrôle Astra. Remplacez entre parenthèses <> par les informations relatives à votre environnement :apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: acc-operator-network-policy namespace: <ACC_NAMESPACE_NAME> # REPLACE THIS WITH THE ASTRA CONTROL CENTER NAMESPACE NAME spec: podSelector: {} policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: <NETAPP-ACC-OPERATOR> # REPLACE THIS WITH THE OPERATOR NAMESPACE NAME
Ajouter un certificat TLS personnalisé
Par défaut, Astra Control Center utilise un certificat TLS auto-signé pour le trafic du contrôleur d'entrée (uniquement dans certaines configurations) et l'authentification de l'interface utilisateur Web avec des navigateurs Web. Vous pouvez supprimer le certificat TLS auto-signé existant et le remplacer par un certificat TLS signé par une autorité de certification (AC).
Le certificat auto-signé par défaut est utilisé pour deux types de connexions :
Le remplacement du certificat TLS par défaut remplace le certificat utilisé pour l'authentification pour ces connexions. |
-
Cluster Kubernetes avec Astra Control Center installé
-
Accès administratif à un shell de commande sur le cluster à exécuter
kubectl
commandes -
Clé privée et fichiers de certificat de l'autorité de certification
Supprimez le certificat auto-signé
Supprimez le certificat TLS auto-signé existant.
-
Avec SSH, connectez-vous au cluster Kubernetes qui héberge Astra Control Center en tant qu'utilisateur administratif.
-
Recherchez le code secret TLS associé au certificat en cours à l'aide de la commande suivante, remplacement
<ACC-deployment-namespace>
Avec l'espace de noms de déploiement d'Astra Control Center :kubectl get certificate -n <ACC-deployment-namespace>
-
Supprimez le certificat et le secret actuellement installés à l'aide des commandes suivantes :
kubectl delete cert cert-manager-certificates -n <ACC-deployment-namespace> kubectl delete secret secure-testing-cert -n <ACC-deployment-namespace>
Ajoutez un nouveau certificat à l'aide de la ligne de commande
Ajoutez un nouveau certificat TLS signé par une autorité de certification.
-
Utilisez la commande suivante pour créer le nouveau secret TLS avec la clé privée et les fichiers de certificat de l'autorité de certification, en remplaçant les arguments entre parenthèses <> par les informations appropriées :
kubectl create secret tls <secret-name> --key <private-key-filename> --cert <certificate-filename> -n <ACC-deployment-namespace>
-
Utilisez la commande et l'exemple suivants pour modifier le fichier CRD (Custom Resource Definition) du cluster et modifier
spec.selfSigned
valeur àspec.ca.secretName
Pour consulter le secret TLS créé précédemment :kubectl edit clusterissuers.cert-manager.io/cert-manager-certificates -n <ACC-deployment-namespace> .... #spec: # selfSigned: {} spec: ca: secretName: <secret-name>
-
Utilisez la commande suivante et exemple de résultat pour vérifier que les modifications sont correctes et le cluster est prêt à valider les certificats, en remplaçant
<ACC-deployment-namespace>
Avec l'espace de noms de déploiement d'Astra Control Center :kubectl describe clusterissuers.cert-manager.io/cert-manager-certificates -n <ACC-deployment-namespace> .... Status: Conditions: Last Transition Time: 2021-07-01T23:50:27Z Message: Signing CA verified Reason: KeyPairVerified Status: True Type: Ready Events: <none>
-
Créer le
certificate.yaml
fichier avec l'exemple suivant, en remplaçant les valeurs de paramètre fictif entre parenthèses <> par les informations appropriées :apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: <certificate-name> namespace: <ACC-deployment-namespace> spec: secretName: <certificate-secret-name> duration: 2160h # 90d renewBefore: 360h # 15d dnsNames: - <astra.dnsname.example.com> #Replace with the correct Astra Control Center DNS address issuerRef: kind: ClusterIssuer name: cert-manager-certificates
-
Créez le certificat à l'aide de la commande suivante :
kubectl apply -f certificate.yaml
-
À l'aide de la commande et de l'exemple de sortie suivants, vérifiez que le certificat a été créé correctement et avec les arguments que vous avez spécifiés lors de la création (tels que le nom, la durée, la date limite de renouvellement et les noms DNS).
kubectl describe certificate -n <ACC-deployment-namespace> .... Spec: Dns Names: astra.example.com Duration: 125h0m0s Issuer Ref: Kind: ClusterIssuer Name: cert-manager-certificates Renew Before: 61h0m0s Secret Name: <certificate-secret-name> Status: Conditions: Last Transition Time: 2021-07-02T00:45:41Z Message: Certificate is up to date and has not expired Reason: Ready Status: True Type: Ready Not After: 2021-07-07T05:45:41Z Not Before: 2021-07-02T00:45:41Z Renewal Time: 2021-07-04T16:45:41Z Revision: 1 Events: <none>
-
Modifiez l'option Ingress CRD TLS pour pointer vers votre nouveau secret de certificat à l'aide de la commande suivante et de l'exemple, en remplaçant les valeurs de paramètre fictif entre parenthèses <> par les informations appropriées :
kubectl edit ingressroutes.traefik.containo.us -n <ACC-deployment-namespace> .... # tls: # options: # name: default # secretName: secure-testing-cert # store: # name: default tls: options: name: default secretName: <certificate-secret-name> store: name: default
-
À l'aide d'un navigateur Web, accédez à l'adresse IP de déploiement d'Astra Control Center.
-
Vérifiez que les détails du certificat correspondent aux détails du certificat que vous avez installé.
-
Exportez le certificat et importez le résultat dans le gestionnaire de certificats de votre navigateur Web.