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
- Exporteer de Kubernetes-certificaten vanuit het besturingsvlakknooppunt in het cluster.
- Importeer de certificaten naar uw Azure Stack Hub-beheercomputer.
- Open het Kubernetes-webdashboard.
Certificaat exporteren uit de hoofdserver
U kunt de URL voor het dashboard ophalen uit het besturingsvlakknooppunt in uw cluster.
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>
.
- Meld u aan bij de Azure Stack Hub-portal op
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.
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.
Wanneer de terminal verbinding maakt, typt u
kubectl
om de Kubernetes-opdrachtregelclient te openen.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
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
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->.
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
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
Kopieer
/etc/kubernetes/certs/client.pfx
en/etc/kubernetes/certs/ca.crt
naar uw Azure Stack Hub-beheercomputer.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
Schakel de pop-upblokkering in uw webbrowser uit.
Ga naar de URL in uw browser die u heeft genoteerd toen u de opdracht
kubectl cluster-info
uitvoerde; bijvoorbeeldhttps://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy
.Selecteer het clientcertificaat.
Voer het token in.
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.
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.