Problemi noti con il motore del servizio Azure Kubernetes nell'hub di Azure Stack

Questo argomento illustra 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: questo problema si applica a tutte le versioni.
  • Causa: 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 restart kubelet
    

È 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: questo problema si applica a tutte le versioni.
  • Causa: 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: quando si creano cluster, è necessario assicurarsi che non siano presenti più di 50 nodi Kubernetes (piano di controllo e nodi 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, è necessario 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 verrà perso quando aks-engine upgrade viene eseguito.
  • Correzione: per rendere 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 di persistenza, l'operazione di eliminazione attiva una serie di errori di collegamento/scollegamento. Questo è dovuto a un bug nel motore del servizio Azure Kubernetes v0.55.0 Cloud Provider. Il provider cloud chiama l'Resource Manager di Azure usando una versione più recente dell'API rispetto alla Resource Manager di Azure attualmente supportata nell'hub di Azure Stack (aggiornamento 2005).
  • Correzione: è possibile trovare i dettagli e i passaggi di mitigazione nel motore del servizio Azure Kubernetes GitHub repository (Problema 3817). Aggiornare non appena è disponibile una nuova compilazione del motore del servizio Azure Kubernetes e l'immagine corrispondente.
  • Occorrenza: quando si elimina una distribuzione che contiene volumi di persistenza.

Problemi di aggiornamento nel motore del servizio Azure Kubernetes 0.51.0

  • Durante l'aggiornamento (aggiornamento aks-engine) di un cluster Kubernetes dalla versione 1.15.x alla versione 1.16.x, l'aggiornamento dei componenti kubernetes seguenti richiede passaggi manuali aggiuntivi: kube-proxy, azure-cni-networkmonitor, csi-secrets-store, kubernetes-dashboard. Di seguito viene descritto ciò che è possibile osservare e come risolvere i problemi.

    • Negli ambienti connessi non è ovvio notare questo problema 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 GitHub richieste pull (PR) che fanno riferimento a 1.17, non è supportato.

Passaggi successivi

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