Configurare Astra Control Center dopo l'installazione
A seconda dell'ambiente in uso, potrebbe essere necessaria una configurazione aggiuntiva dopo l'installazione di Astra Control Center.
Rimuovere le limitazioni delle risorse
Alcuni ambienti utilizzano gli oggetti ResourceQuotas e LimitRanges per impedire alle risorse di uno spazio dei nomi di consumare tutta la CPU e la memoria disponibili nel cluster. Astra Control Center non imposta limiti massimi, pertanto non sarà conforme a tali risorse. Se l'ambiente è configurato in questo modo, è necessario rimuovere tali risorse dagli spazi dei nomi in cui si intende installare Astra Control Center.
Per recuperare e rimuovere le quote e i limiti, procedere come segue. In questi esempi, l'output del comando viene visualizzato immediatamente dopo il comando.
-
Ottenere le quote delle risorse in
netapp-acc
namespace (o personalizzato):kubectl get quota -n [netapp-acc or custom namespace]
Risposta:
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
-
Eliminare tutte le quote delle risorse in base al nome:
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]
-
Ottenere gli intervalli di limite in
netapp-acc
namespace (o personalizzato):kubectl get limits -n [netapp-acc or custom namespace]
Risposta:
NAME CREATED AT cpu-limit-range 2022-06-27T19:01:23Z
-
Eliminare gli intervalli di limiti in base al nome:
kubectl delete limitrange cpu-limit-range -n [netapp-acc or custom namespace]
Aggiungere un certificato TLS personalizzato
Astra Control Center utilizza per impostazione predefinita un certificato TLS autofirmato per il traffico dei controller di ingresso (solo in alcune configurazioni) e l'autenticazione dell'interfaccia utente Web con i browser Web. È possibile rimuovere il certificato TLS autofirmato esistente e sostituirlo con un certificato TLS firmato da un'autorità di certificazione (CA).
Il certificato autofirmato predefinito viene utilizzato per due tipi di connessione:
La sostituzione del certificato TLS predefinito sostituisce il certificato utilizzato per l'autenticazione di queste connessioni. |
-
Kubernetes cluster con Astra Control Center installato
-
Accesso amministrativo a una shell dei comandi sul cluster da eseguire
kubectl
comandi -
Chiave privata e file di certificato dalla CA
Rimuovere il certificato autofirmato
Rimuovere il certificato TLS autofirmato esistente.
-
Utilizzando SSH, accedere al cluster Kubernetes che ospita Astra Control Center come utente amministrativo.
-
Individuare il segreto TLS associato al certificato corrente utilizzando il seguente comando, sostituendo
<ACC-deployment-namespace>
Con lo spazio dei nomi di implementazione di Astra Control Center:kubectl get certificate -n <ACC-deployment-namespace>
-
Eliminare il certificato e il segreto attualmente installati utilizzando i seguenti comandi:
kubectl delete cert cert-manager-certificates -n <ACC-deployment-namespace>
kubectl delete secret secure-testing-cert -n <ACC-deployment-namespace>
Aggiungere un nuovo certificato utilizzando la riga di comando
Aggiungere un nuovo certificato TLS firmato da una CA.
-
Utilizzare il seguente comando per creare il nuovo segreto TLS con la chiave privata e i file di certificato della CA, sostituendo gli argomenti tra parentesi <> con le informazioni appropriate:
kubectl create secret tls <secret-name> --key <private-key-filename> --cert <certificate-filename> -n <ACC-deployment-namespace>
-
Utilizzare il seguente comando e l'esempio per modificare il file CRD (Custom Resource Definition) del cluster e modificare
spec.selfSigned
valore a.spec.ca.secretName
Per fare riferimento al segreto TLS creato in precedenza:kubectl edit clusterissuers.cert-manager.io/cert-manager-certificates -n <ACC-deployment-namespace>
CRD:
#spec: # selfSigned: {} spec: ca: secretName: <secret-name>
-
Utilizzare il seguente comando e l'output di esempio per confermare che le modifiche sono corrette e che il cluster è pronto per validare i certificati, sostituendo
<ACC-deployment-namespace>
Con lo spazio dei nomi di implementazione di Astra Control Center:kubectl describe clusterissuers.cert-manager.io/cert-manager-certificates -n <ACC-deployment-namespace>
Risposta:
Status: Conditions: Last Transition Time: 2021-07-01T23:50:27Z Message: Signing CA verified Reason: KeyPairVerified Status: True Type: Ready Events: <none>
-
Creare il
certificate.yaml
file utilizzando il seguente esempio, sostituendo i valori segnaposto tra parentesi <> con le informazioni appropriate: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
-
Creare il certificato utilizzando il seguente comando:
kubectl apply -f certificate.yaml
-
Utilizzando il seguente comando e l'output di esempio, verificare che il certificato sia stato creato correttamente e con gli argomenti specificati durante la creazione (ad esempio nome, durata, scadenza di rinnovo e nomi DNS).
kubectl describe certificate -n <ACC-deployment-namespace>
Risposta:
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>
-
Modificare il CRD degli archivi TLS in modo che punti al nuovo nome segreto del certificato utilizzando il seguente comando ed esempio, sostituendo i valori segnaposto tra parentesi <> con le informazioni appropriate
kubectl edit tlsstores.traefik.io -n <ACC-deployment-namespace>
CRD:
... spec: defaultCertificate: secretName: <certificate-secret-name>
-
Modificare l'opzione TLS CRD di ingresso per indicare il nuovo segreto del certificato utilizzando il seguente comando ed esempio, sostituendo i valori segnaposto tra parentesi <> con le informazioni appropriate:
kubectl edit ingressroutes.traefik.io -n <ACC-deployment-namespace>
CRD:
... tls: secretName: <certificate-secret-name>
-
Utilizzando un browser Web, accedere all'indirizzo IP di implementazione di Astra Control Center.
-
Verificare che i dettagli del certificato corrispondano ai dettagli del certificato installato.
-
Esportare il certificato e importare il risultato nel gestore dei certificati nel browser Web.