Problemi noti relativi al motore del servizio Azure Kubernetes nell'hub di Azure Stack

Questo articolo descrive i problemi noti per il motore del servizio Azure Kubernetes nell'hub di Azure Stack.

Il segreto scaduto per l'entità servizio (SPN) causa un errore del cluster

  • Applicabile a: questo problema si applica a tutte le versioni.

  • Descrizione: quando il segreto scade per il nome SPN, il cluster avrà esito negativo. Ciò influisce su tutti i cluster kubernetes distribuiti usando il motore del servizio Azure Kubernetes. Al termine del segreto, il cluster non sarà funzionale.

  • Correzione: per attenuare il problema, accedere a ogni nodo kubernetes per aggiornare /etc/kubernetes/azure.json il file di configurazione con un nuovo ID applicazione SPN e un segreto non scaduto. Potrebbe essere necessario contattare l'operatore cloud dell'hub di Azure Stack per ottenere un SPN e un segreto corrente. Per istruzioni, vedere Usare un'identità dell'app per accedere alle risorse

    1. È possibile usare i comandi seguenti nei nodi Linux:

      sudo sed -i s/f072c125-c99c-4781-9e85-246b981cd52b/094b1318-baea-4584-bf9c-4a40501ce21b/1 /etc/kubernetes/azure.json
      
    2. Riavviare il servizio con il kubelet comando seguente:

      sudo systemctl reboot node
      

    È anche possibile usare il nome SPN e il segreto con il modello API e forzare un aggiornamento. Per istruzioni, vedere Forzare un aggiornamento.

  • Occorrenza: Comune

Certificati scaduti per il proxy front-proxy

  • Applicabile a: questo problema si applica a tutte le versioni.
  • Descrizione: quando il certificato scade, , kubectl topil server delle metriche può interrompere il funzionamento.
  • Correzione: è necessario rinnovare il certificato. È possibile trovare i passaggi in Ruotare i certificati Kubernetes nell'hub di Azure Stack
  • Occorrenza: Comune

Limite di 50 nodi per sottoscrizione

  • Applicabile a: Hub di Azure Stack, motore del servizio Azure Kubernetes (tutti)
  • Descrizione: durante la creazione di cluster, è necessario assicurarsi che non siano presenti più di 50 nodi Kubernetes (nodi del piano di controllo e agente) distribuiti per sottoscrizioni. I nodi Kubernetes totali distribuiti in tutti i cluster all'interno di una singola sottoscrizione non devono superare 50 nodi.
  • Correzione: usare meno di 51 nodi nella sottoscrizione.
  • Occorrenza: quando si tenta di aggiungere più di 50 nodi per sottoscrizione.

Impossibile ridimensionare le macchine virtuali del cluster con il servizio di calcolo

  • Applicabile a: Hub di Azure Stack, motore del servizio Azure Kubernetes (tutti)
  • Descrizione: il ridimensionamento delle macchine virtuali del cluster tramite il servizio di calcolo non funziona con il motore del servizio Azure Kubernetes. Il motore del servizio Azure Kubernetes mantiene lo stato del cluster nel file JSON del modello API. Per assicurarsi che le dimensioni della macchina virtuale desiderate vengano riflesse in qualsiasi operazione di creazione, aggiornamento o scalabilità eseguita con il motore del servizio Azure Kubernetes, aggiornare il modello API prima di eseguire una di queste operazioni. Ad esempio, se si modificano le dimensioni di una macchina virtuale in un cluster già distribuito in dimensioni diverse usando il servizio di calcolo, lo stato viene perso quando aks-engine upgrade viene eseguito.
  • Correzione: per eseguire questo lavoro, individuare il modello API per il cluster, modificare le dimensioni e quindi eseguire aks-engine upgrade.
  • Occorrenza: quando si tenta di ridimensionare usando il servizio di calcolo.

Operazione di scollegamento del disco non riuscita nel motore del servizio Azure Kubernetes 0.55.0

  • Applicabile a: Hub di Azure Stack (aggiornamento 2005), motore del servizio Azure Kubernetes 0.55.0
  • Descrizione: quando si tenta di eliminare una distribuzione contenente volumi persistenti, l'operazione di eliminazione attiva una serie di errori di collegamento/scollegamento. Questo problema è dovuto a un bug nel motore del servizio Azure Kubernetes v0.55.0 cloud provider. Il provider di servizi cloud chiama l'Resource Manager di Azure usando una versione dell'API più recente rispetto alla versione di Azure Resource Manager nell'hub di Azure Stack (aggiornamento 2005) attualmente supportata.
  • Correzione: per informazioni dettagliate e passaggi di mitigazione, vedere il repository GitHub del motore del servizio Azure Kubernetes (problema 3817). Aggiornare non appena è disponibile una nuova build del motore del servizio Azure Kubernetes e l'immagine corrispondente.
  • Occorrenza: quando si elimina una distribuzione contenente volumi persistenti.

Problemi di aggiornamento nel motore del servizio Azure Kubernetes 0.51.0

  • Durante l'aggiornamento del motore del servizio Azure Kubernetes di un cluster Kubernetes dalla versione 1.15.x alla versione 1.16.x, l'aggiornamento dei componenti Kubernetes richiede passaggi manuali aggiuntivi: kube-proxy, azure-cni-networkmonitor, csi-secrets-store, kubernetes-dashboard. Le informazioni seguenti descrivono ciò che potrebbe essere visualizzato e come risolvere i problemi.

    • Negli ambienti connessi, questo problema non è ovvio, poiché non sono presenti segnali nel cluster che i componenti interessati non sono stati aggiornati. Tutto sembra funzionare come previsto.

      kubectl get pods -n kube-system
      
    • Come soluzione alternativa per risolvere questo problema per ognuno di questi componenti, eseguire il comando nella colonna Soluzione alternativa nella tabella seguente.

      Nome componente Soluzione alternativa Scenari interessati
      kube-proxy kubectl delete ds kube-proxy -n kube-system Connesso, disconnesso
      azure-cni-networkmonitor kubectl delete ds azure-cni-networkmonitor -n kube-system Connesso, disconnesso
      csi-secrets-store sudo sed -i s/Always/IfNotPresent/g /etc/kubernetes/addons/secrets-store-csi-driver.yaml
      kubectl delete ds csi-secrets-store -n kube-system
      Disconnesso
      kubernetes-dashboard Eseguire il comando seguente in ogni nodo del piano di controllo:
      sudo sed -i s/Always/IfNotPresent/g /etc/kubernetes/addons/kubernetes-dashboard.yaml
      Disconnesso
  • Kubernetes 1.17 non è supportato in questa versione. Anche se sono presenti richieste pull di GitHub (PR) che fanno riferimento a 1.17, non è supportato.

Il nodo del cluster passa allo stato "Not Ready" e k8s-kern.log contiene il messaggio "Memory cgroup out of memory"

  • Applicabile a: Hub di Azure Stack, motore del servizio Azure Kubernetes (tutti)

  • Descrizione: un nodo del cluster passa allo stato "Not Ready" e il file k8s-kern.log contiene il messaggio Memory cgroup out of memory. Questo problema si applica a tutte le versioni del motore del servizio Azure Kubernetes. Per verificare se si verifica questo problema nel sistema, cercare il file k8s-kern.log per la stringa "Memory cgroup out of memory".

    È possibile trovare il file k8s-kern.log per:

    • Esecuzione aks-engine get-logs e navigazione a ${NODE_NAME}/var/log/k8s-kern.log, OR
    • Passare a /var/log/kern.log nel file system del nodo.
  • Correzione: per i nodi del piano di controllo, aumentare le dimensioni della macchina virtuale del profilo master. Per i nodi agente, aumentare le dimensioni della macchina virtuale del pool di nodi o aumentare il pool di nodi. Per aumentare il pool di nodi, eseguire il comando documentato scale e seguire le istruzioni.

    Per aumentare le dimensioni di una macchina virtuale del pool, aggiornare il modello API ed eseguire aks-engine upgrade. Tutte le macchine virtuali vengono eliminate e ricreate con le nuove dimensioni della macchina virtuale.

  • Occorrenza: quando la memoria richiesta/utilizzata dal nodo del cluster supera la memoria disponibile.

Passaggi successivi

Panoramica del motore del servizio Azure Kubernetes nell'hub di Azure Stack