Toegang tot het Kubernetes-dashboard in Azure Stack Hub

Notitie

Gebruik alleen het Kubernetes Azure Stack Marketplace-item om clusters te implementeren als proof-of-concept. Gebruik de AKS-engine voor ondersteunde Kubernetes-clusters in Azure Stack.

Kubernetes bevat een webdashboard dat u kunt gebruiken voor eenvoudige beheerbewerkingen. Met dit dashboard kunt u de basisstatus en metrische gegevens voor uw toepassingen bekijken, services maken en implementeren en bestaande toepassingen bewerken. In dit artikel wordt beschreven hoe u het Kubernetes-dashboard instelt in Azure Stack Hub.

Vereisten voor Kubernetes Dashboard

  • Azure Stack Hub Kubernetes-cluster

    U moet een Kubernetes-cluster hebben geïmplementeerd in Azure Stack Hub. Zie Kubernetes implementeren voor meer informatie.

  • SSH-client

    U hebt een SSH-client nodig om verbinding te maken met het besturingsvlakknooppunt in het cluster. Als u Windows gebruikt, kunt u Putty gebruiken. U hebt de persoonlijke sleutel nodig die is gebruikt bij het implementeren van uw Kubernetes-cluster.

  • FTP (PSCP)

    Mogelijk hebt u ook een FTP-client nodig die ondersteuning biedt voor SSH en SSH File Transfer Protocol om de certificaten van het besturingsvlakknooppunt over te dragen naar uw Azure Stack Hub-beheercomputer. U kunt FileZilla gebruiken. U hebt de persoonlijke sleutel nodig die is gebruikt bij het implementeren van uw Kubernetes-cluster.

Overzicht van stappen voor het inschakelen van dashboards

  1. Exporteer de Kubernetes-certificaten vanuit het besturingsvlakknooppunt in het cluster.
  2. Importeer de certificaten in uw Azure Stack Hub-beheermachine.
  3. Open het Kubernetes-webdashboard.

Certificaat exporteren uit de master

U kunt de URL voor het dashboard ophalen uit het besturingsvlakknooppunt in uw cluster.

  1. Haal het openbare IP-adres en de gebruikersnaam voor uw clustermaster op uit het Azure Stack Hub-dashboard. Ga als volgt te werk om deze informatie op te halen:

    • Meld u aan bij de Azure Stack Hub-portal https://portal.local.azurestack.external/.
    • Selecteer Alle services>Alle resources. Zoek de master in uw clusterresourcegroep. De master heet k8s-master-<sequence-of-numbers>.
  2. Open het besturingsvlakknooppunt in de portal. Kopieer het openbare IP-adres . Klik op Verbinding maken om uw gebruikersnaam op te halen in het vak Aanmelden met lokaal VM-account . Dit is dezelfde gebruikersnaam die u hebt ingesteld bij het maken van uw cluster. Gebruik het openbare IP-adres in plaats van het privé-IP-adres dat wordt vermeld op de blade Verbinding maken.

  3. Open een SSH-client om verbinding te maken met de master. Als u in Windows werkt, kunt u Putty gebruiken om de verbinding te maken. U gebruikt het openbare IP-adres voor het besturingsvlakknooppunt, de gebruikersnaam en voegt de persoonlijke sleutel toe die u hebt gebruikt bij het maken van het cluster.

  4. Wanneer de terminal verbinding maakt, typt kubectl u om de Kubernetes-opdrachtregelclient te openen.

  5. Voer de volgende opdracht uit:

    kubectl cluster-info 
    

    Zoek de URL voor het dashboard. Bijvoorbeeld: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  6. Pak het zelfondertekende certificaat uit en converteer het naar de PFX-indeling. Voer de volgende opdracht uit:

    sudo su 
    openssl pkcs12 -export -out /etc/kubernetes/certs/client.pfx -inkey /etc/kubernetes/certs/client.key  -in /etc/kubernetes/certs/client.crt -certfile /etc/kubernetes/certs/ca.crt 
    
  7. Haal de lijst met geheimen op in de kube-system-naamruimte . Voer de volgende opdracht uit:

    kubectl -n kube-system get secrets
    

    Noteer de waarde kubernetes-dashboard-token-XXXXX<>.

  8. Haal het token op en sla het op. Werk de kubernetes-dashboard-token-<####> bij met de geheime waarde uit de vorige stap.

    kubectl -n kube-system describe secret kubernetes-dashboard-token-<####>| awk '$1=="token:"{print $2}' 
    

Het certificaat importeren

  1. Open Filezilla en maak verbinding met het besturingsvlakknooppunt. U hebt het volgende nodig:

    • het openbare IP-adres van het besturingsvlakknooppunt
    • de gebruikersnaam
    • het privégeheim
    • SFTP - SSH File Transfer Protocol gebruiken
  2. Kopieer /etc/kubernetes/certs/client.pfx en /etc/kubernetes/certs/ca.crt naar uw Azure Stack Hub-beheermachine.

  3. Noteer de bestandslocaties. Werk het script bij met de locaties en open PowerShell met een prompt met verhoogde bevoegdheid. Voer het bijgewerkte script uit:

    Import-Certificate -Filepath "ca.crt" -CertStoreLocation cert:\LocalMachine\Root 
    $pfxpwd = Get-Credential -UserName 'Enter password below' -Message 'Enter password below' 
    Import-PfxCertificate -Filepath "client.pfx" -CertStoreLocation cert:\CurrentUser\My -Password $pfxpwd.Password 
    

Het Kubernetes-dashboard openen

  1. Schakel de pop-upblokkering in uw webbrowser uit.

  2. Wijs uw browser naar de URL die u hebt genoteerd toen u de opdracht kubectl cluster-infohebt uitgevoerd. Bijvoorbeeld: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  3. Selecteer het clientcertificaat.

  4. Voer het token in.

  5. Maak opnieuw verbinding met de bash-opdrachtregel op het besturingsvlakknooppunt en geef machtigingen aan kubernetes-dashboard. Voer de volgende opdracht uit:

    kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard 
    

    Het script geeft kubernetes-dashboard cloudbeheerdersbevoegdheden. Zie Voor clusters met RBAC-functionaliteit voor meer informatie.

U kunt het dashboard gebruiken. Zie Kubernetes Web UI Dashboard voor meer informatie over het Kubernetes-dashboard

Kubernetes-dashboard voor Azure Stack Hub

Problemen oplossen

Aangepaste virtuele netwerken

Als u verbindingsproblemen ondervindt bij het openen van het Kubernetes-dashboard nadat u Kubernetes hebt geïmplementeerd in een aangepast virtueel netwerk, moet u ervoor zorgen dat doelsubnetten zijn gekoppeld aan de routeringstabel en de netwerkbeveiligingsgroepresources die zijn gemaakt door de AKS-engine.

Zorg ervoor dat de regels voor netwerkbeveiligingsgroepen communicatie toestaan tussen de besturingsvlakknooppunten en het IP-adres van de Kubernetes-dashboardpod. Dit kan worden gevalideerd met behulp van de ping-opdracht van een besturingsvlakknooppunt.

Volgende stappen

Kubernetes implementeren in Azure Stack Hub

Een Kubernetes-cluster toevoegen aan marketplace (voor de Azure Stack Hub-operator)

Kubernetes op Azure