Få åtkomst till Kubernetes-instrumentpanelen i Azure Stack Hub

Anteckning

Använd bara Marketplace-artikeln Kubernetes Azure Stack till att distribuera kluster som ett konceptbevis. För Kubernetes-kluster som stöds i Azure Stack använder du AKS-motorn.

Kubernetes innehåller en webbinstrumentpanel som du kan använda för grundläggande hanteringsåtgärder. På den här instrumentpanelen kan du visa grundläggande hälsostatus och mått för dina program, skapa och distribuera tjänster och redigera befintliga program. Den här artikeln visar hur du konfigurerar Kubernetes-instrumentpanelen på Azure Stack Hub.

Krav för Kubernetes-instrumentpanelen

  • Azure Stack Hub Kubernetes-kluster

    Du måste ha distribuerat ett Kubernetes-kluster till Azure Stack Hub. Mer information finns i Distribuera Kubernetes.

  • SSH-klient

    Du behöver en SSH-klient för att säkerheten ska kunna ansluta till kontrollplansnoden i klustret. Om du använder Windows kan du använda Putty. Du behöver den privata nyckeln som användes när du distribuerade Kubernetes-klustret.

  • FTP (PSCP)

    Du kan också behöva en FTP-klient som stöder SSH- och SSH File Transfer Protocol för att överföra certifikaten från kontrollplansnoden till din Azure Stack Hub-hanteringsdator. Du kan använda FileZilla. Du behöver den privata nyckeln som användes när du distribuerade Kubernetes-klustret.

Översikt över steg för att aktivera instrumentpanelen

  1. Exportera Kubernetes-certifikaten från kontrollplansnoden i klustret.
  2. Importera certifikaten till din Azure Stack Hub-hanteringsdator.
  3. Öppna Kubernetes-webbinstrumentpanelen.

Exportera certifikat från huvudservern

Du kan hämta URL:en för instrumentpanelen från kontrollplansnoden i klustret.

  1. Hämta den offentliga IP-adressen och användarnamnet för klusterhanteraren från Azure Stack Hub-instrumentpanelen. Så här hämtar du den här informationen:

    • Logga in på Azure Stack Hub-portalen https://portal.local.azurestack.external/.
    • Välj Alla tjänster>Alla resurser. Hitta huvudservern i klusterresursgruppen. Originalet heter k8s-master-<sequence-of-numbers>.
  2. Öppna kontrollplansnoden i portalen. Kopiera den offentliga IP-adressen . Klicka på Anslut för att hämta ditt användarnamn i rutan Logga in med ett lokalt konto för virtuell dator . Det här är samma användarnamn som du angav när du skapade klustret. Använd den offentliga IP-adressen i stället för den privata IP-adress som anges på anslutningsbladet.

  3. Öppna en SSH-klient för att ansluta till huvudservern. Om du arbetar med Windows kan du använda Putty för att skapa anslutningen. Du använder den offentliga IP-adressen för kontrollplanets nod, användarnamnet och lägger till den privata nyckel som du använde när du skapade klustret.

  4. När terminalen ansluter skriver du kubectl för att öppna Kubernetes-kommandoradsklienten.

  5. Kör följande kommando:

    kubectl cluster-info 
    

    Hitta URL:en för instrumentpanelen. Exempelvis: https://k8-1258.local.cloudapp.azurestack.external/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  6. Extrahera det självsignerade certifikatet och konvertera det till PFX-format. Kör följande kommando:

    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. Hämta listan över hemligheter i kube-system-namnområdet . Kör följande kommando:

    kubectl -n kube-system get secrets
    

    Anteckna värdet kubernetes-dashboard-token-XXXXX<>.

  8. Hämta token och spara den. kubernetes-dashboard-token-<####> Uppdatera med det hemliga värdet från föregående steg.

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

Importera certifikatet

  1. Öppna Filezilla och anslut till kontrollplanets nod. Du behöver följande:

    • den offentliga IP-adressen för kontrollplanets nod
    • användarnamnet
    • den privata hemligheten
    • Använda SFTP – SSH File Transfer Protocol
  2. Kopiera /etc/kubernetes/certs/client.pfx och /etc/kubernetes/certs/ca.crt till din Azure Stack Hub-hanteringsdator.

  3. Anteckna filplatserna. Uppdatera skriptet med platserna och öppna sedan PowerShell med en upphöjd prompt. Kör det uppdaterade skriptet:

    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 
    

Öppna Kubernetes-instrumentpanelen

  1. Inaktivera popup-blockeraren i webbläsaren.

  2. Peka webbläsaren på den URL som angavs när du körde kommandot kubectl cluster-info. Exempelvis: https://azurestackdomainnamefork8sdashboard/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy

  3. Välj klientcertifikatet.

  4. Ange token.

  5. Återanslut till bash-kommandoraden på kontrollplanets nod och ge behörighet till kubernetes-dashboard. Kör följande kommando:

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

    Skriptet ger kubernetes-dashboard molnadministratörsbehörighet. Mer information finns i För RBAC-aktiverade kluster.

Du kan använda instrumentpanelen. Mer information om Kubernetes-instrumentpanelen finns i Kubernetes Web UI Dashboard

Azure Stack Hub Kubernetes-instrumentpanel

Felsökning

Anpassade virtuella nätverk

Om du har anslutningsproblem med åtkomst till Kubernetes-instrumentpanelen när du har distribuerat Kubernetes till ett anpassat virtuellt nätverk kontrollerar du att målundernäten är länkade till routningstabellen och nätverkssäkerhetsgruppens resurser som skapades av AKS-motorn.

Kontrollera att reglerna för nätverkssäkerhetsgruppen tillåter kommunikation mellan kontrollplansnoderna och Kubernetes-instrumentpanelens podd-IP. Detta kan verifieras med hjälp av ping-kommandot från en kontrollplansnod.

Nästa steg

Distribuera Kubernetes till Azure Stack Hub

Lägga till ett Kubernetes-kluster på Marketplace (för Azure Stack Hub-operatorn)

Kubernetes på Azure