Delen via


Toegang tot het Kubernetes-dashboard in Azure Stack Hub

Notitie

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

Kubernetes bevat een webdashboard dat u kunt gebruiken voor basisbeheerbewerkingen. 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 leest u hoe u het Kubernetes-dashboard instelt in Azure Stack Hub.

Vereisten voor Kubernetes-dashboard

  • Azure Stack Hub Kubernetes-cluster: een Kubernetes-cluster dat is geïmplementeerd in Azure Stack Hub. Zie Kubernetes-implementeren voor meer informatie.
  • SSH-client: een SSH-client voor beveiliging die verbinding maakt met het knooppunt van het besturingsvlak in het cluster. Als u Windows gebruikt, kunt u Puttygebruiken. U hebt de persoonlijke sleutel nodig die u hebt gebruikt bij het implementeren van uw Kubernetes-cluster.
  • FTP (PSCP): een FTP-client die SSH en het SSH File Transfer Protocol ondersteunt om de certificaten van het besturingsvlakknooppunt over te dragen naar uw Azure Stack Hub-beheercomputer. U kunt FileZillagebruiken. U hebt de persoonlijke sleutel nodig die u hebt gebruikt bij het implementeren van uw Kubernetes-cluster.

Overzicht van de stappen voor het inschakelen van het dashboard

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

Certificaat exporteren uit de hoofdserver

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 hoofdcluster op via 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 op https://portal.local.azurestack.external/.
    • Selecteer Alle diensten>Alle bronnen. Zoek de master in uw cluster-resourcegroep. De master heeft de naam k8s-master-<sequence-of-numbers>.
  2. Open het besturingsvlakknooppunt in de portal. Kopieer het publieke IP--adres. Selecteer Verbinden om uw gebruikersnaam te verkrijgen in het vak Aanmelden met lokaal VM-account. Dit is dezelfde gebruikersnaam die u hebt ingesteld toen u het cluster maakte. Gebruik het openbare IP-adres in plaats van het privé-IP-adres vermeld in de Verbindingsblade.

  3. Open een SSH-client om verbinding te maken met het hoofdcluster. Als u Windows gebruikt, 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 u kubectl 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 van het kubernetes-dashboard-token-<XXXXX->.

  8. Ontvang het token 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 de volgende informatie nodig:

    • Openbaar IP-adres van besturingsvlakknooppunt
    • Gebruikersnaam
    • Privégeheim
    • Gebruik SFTP - SSH File Transfer Protocol
  2. Kopieer /etc/kubernetes/certs/client.pfx en /etc/kubernetes/certs/ca.crt naar uw Azure Stack Hub-beheercomputer.

  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. Ga naar de URL in uw browser die u heeft genoteerd toen u de opdracht kubectl cluster-infouitvoerde; 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-commandoregel op het besturingsvlak-knooppunt 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-functionaliteitvoor meer informatie.

U kunt nu het dashboard gebruiken. Zie Kubernetes Web UI-dashboardvoor meer informatie over het Kubernetes-dashboard.

Azure Stack Hub Kubernetes Dashboard

Probleemoplossing

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 resources van de routetabel en netwerkbeveiligingsgroep 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. U kunt deze machtiging valideren met behulp van de opdracht ping vanuit een besturingsvlakknooppunt.

Volgende stappen