Problemen met de implementatie van OpenShift Container Platform 3.11 in Azure oplossen

Van toepassing op: ✔️ Virtuele Linux-heavy_check_mark: Flexibele schaalsets

Als het OpenShift-cluster niet wordt geïmplementeerd, wordt Azure Portal foutuitvoer weergegeven. De uitvoer is mogelijk moeilijk te lezen, waardoor het moeilijk is om het probleem te identificeren. Scan deze uitvoer snel op exitcode 3, 4 of 5. Hieronder vindt u informatie over deze drie exitcodes:

  • Exitcode 3: De gebruikersnaam/het wachtwoord of de organisatie-id/activeringssleutel van uw Red Hat-abonnement is onjuist
  • Exitcode 4: De id van uw Red Hat-pool is onjuist of er zijn geen rechten beschikbaar
  • Afsluitende code 5: Kan docker thin poolvolume niet inrichten

Voor alle andere exit-codes maakt u verbinding met de host(s) via ssh om de logboekbestanden weer te geven.

OpenShift Container Platform 3.11

SSH naar de ansible-playbookhost. Gebruik de bastionhost voor de sjabloon of de Marketplace-aanbieding. Vanuit het bastion kunt u SSH gebruiken voor alle andere knooppunten in het cluster (master, infra, CNS, compute). U moet de hoofdmap zijn om de logboekbestanden te kunnen bekijken. Hoofdmap is standaard uitgeschakeld voor SSH-toegang, dus gebruik geen hoofdmap naar SSH naar andere knooppunten.

OKD

SSH naar de ansible-playbookhost. Gebruik voor de OKD-sjabloon (versie 3.9 en eerder) de master-0-host. Gebruik voor de OKD-sjabloon (versie 3.10 en hoger) de bastionhost. Vanaf de ansible-playbookhost kunt u SSH gebruiken voor alle andere knooppunten in het cluster (master, infra, CNS, compute). U moet de hoofdmap (sudo su -) zijn om de logboekbestanden te kunnen bekijken. Hoofdmap is standaard uitgeschakeld voor SSH-toegang, dus gebruik geen hoofdmap naar SSH naar andere knooppunten.

Logboekbestanden

De logboekbestanden (stderr en stdout) voor de hostvoorbereidingsscripts bevinden zich op /var/lib/waagent/custom-script/download/0 alle hosts. Als er tijdens de voorbereiding van de host een fout is opgetreden, bekijkt u deze logboekbestanden om de fout te bepalen.

Als de voorbereidingsscripts zijn uitgevoerd, moeten de logboekbestanden in de map van de /var/lib/waagent/custom-script/download/1 ansible-playbookhost worden onderzocht. Als de fout is opgetreden tijdens de daadwerkelijke installatie van OpenShift, wordt de fout weergegeven in het stdout-bestand. Gebruik deze informatie om contact op te nemen met ondersteuning voor meer hulp.

Voorbeelduitvoer

TASK [openshift_storage_glusterfs : Load heketi topology] **********************
fatal: [mycluster-master-0]: FAILED! => {"changed": true, "cmd": ["oc", "--config=/tmp/openshift-glusterfs-ansible-IbhnUM/admin.kubeconfig", "rsh", "--namespace=glusterfs", "deploy-heketi-storage-1-d9xl5", "heketi-cli", "-s", "http://localhost:8080", "--user", "admin", "--secret", "VuoJURT0/96E42Vv8+XHfsFpSS8R20rH1OiMs3OqARQ=", "topology", "load", "--json=/tmp/openshift-glusterfs-ansible-IbhnUM/topology.json", "2>&1"], "delta": "0:00:21.477831", "end": "2018-05-20 02:49:11.912899", "failed": true, "failed_when_result": true, "rc": 0, "start": "2018-05-20 02:48:50.435068", "stderr": "", "stderr_lines": [], "stdout": "Creating cluster ... ID: 794b285745b1c5d7089e1c5729ec7cd2\n\tAllowing file volumes on cluster.\n\tAllowing block volumes on cluster.\n\tCreating node mycluster-cns-0 ... ID: 45f1a3bfc20a4196e59ebb567e0e02b4\n\t\tAdding device /dev/sdd ... OK\n\t\tAdding device /dev/sde ... OK\n\t\tAdding device /dev/sdf ... OK\n\tCreating node mycluster-cns-1 ... ID: 596f80d7bbd78a1ea548930f23135131\n\t\tAdding device /dev/sdc ... Unable to add device: Unable to execute command on glusterfs-storage-4zc42:   Device /dev/sdc excluded by a filter.\n\t\tAdding device /dev/sde ... OK\n\t\tAdding device /dev/sdd ... OK\n\tCreating node mycluster-cns-2 ... ID: 42c0170aa2799559747622acceba2e3f\n\t\tAdding device /dev/sde ... OK\n\t\tAdding device /dev/sdf ... OK\n\t\tAdding device /dev/sdd ... OK", "stdout_lines": ["Creating cluster ... ID: 794b285745b1c5d7089e1c5729ec7cd2", "\tAllowing file volumes on cluster.", "\tAllowing block volumes on cluster.", "\tCreating node mycluster-cns-0 ... ID: 45f1a3bfc20a4196e59ebb567e0e02b4", "\t\tAdding device /dev/sdd ... OK", "\t\tAdding device /dev/sde ... OK", "\t\tAdding device /dev/sdf ... OK", "\tCreating node mycluster-cns-1 ... ID: 596f80d7bbd78a1ea548930f23135131", "\t\tAdding device /dev/sdc ... Unable to add device: Unable to execute command on glusterfs-storage-4zc42:   Device /dev/sdc excluded by a filter.", "\t\tAdding device /dev/sde ... OK", "\t\tAdding device /dev/sdd ... OK", "\tCreating node mycluster-cns-2 ... ID: 42c0170aa2799559747622acceba2e3f", "\t\tAdding device /dev/sde ... OK", "\t\tAdding device /dev/sdf ... OK", "\t\tAdding device /dev/sdd ... OK"]}

PLAY RECAP *********************************************************************
mycluster-cns-0       : ok=146  changed=57   unreachable=0    failed=0   
mycluster-cns-1       : ok=146  changed=57   unreachable=0    failed=0   
mycluster-cns-2       : ok=146  changed=57   unreachable=0    failed=0   
mycluster-infra-0     : ok=143  changed=55   unreachable=0    failed=0   
mycluster-infra-1     : ok=143  changed=55   unreachable=0    failed=0   
mycluster-infra-2     : ok=143  changed=55   unreachable=0    failed=0   
mycluster-master-0    : ok=502  changed=198  unreachable=0    failed=1   
mycluster-master-1    : ok=348  changed=140  unreachable=0    failed=0   
mycluster-master-2    : ok=348  changed=140  unreachable=0    failed=0   
mycluster-node-0      : ok=143  changed=55   unreachable=0    failed=0   
mycluster-node-1      : ok=143  changed=55   unreachable=0    failed=0   
localhost                  : ok=13   changed=0    unreachable=0    failed=0   

INSTALLER STATUS ***************************************************************
Initialization             : Complete (0:00:39)
Health Check               : Complete (0:00:24)
etcd Install               : Complete (0:01:24)
Master Install             : Complete (0:14:59)
Master Additional Install  : Complete (0:01:10)
Node Install               : Complete (0:10:58)
GlusterFS Install          : In Progress (0:03:33)
    This phase can be restarted by running: playbooks/openshift-glusterfs/config.yml

Failure summary:

  1. Hosts:    mycluster-master-0
     Play:     Configure GlusterFS
     Task:     Load heketi topology
     Message:  Failed without returning a message.

De meest voorkomende fouten tijdens de installatie zijn:

  1. Persoonlijke sleutel heeft een wachtwoordzin
  2. Sleutelkluisgeheim met persoonlijke sleutel is niet correct gemaakt
  3. Referenties voor de service-principal zijn onjuist ingevoerd
  4. Service-principal heeft geen inzenderstoegang tot de resourcegroep

Persoonlijke sleutel heeft een wachtwoordzin

U ziet een foutbericht dat de machtiging is geweigerd voor ssh. ga met ssh naar de ansible-playbookhost om te controleren op een wachtwoordzin voor de persoonlijke sleutel.

Sleutelkluisgeheim met persoonlijke sleutel is niet correct gemaakt

De persoonlijke sleutel wordt gekopieerd naar de ansible-playbookhost : ~/.ssh/id_rsa. Controleer of dit bestand juist is. Test door een SSH-sessie te openen voor een van de clusterknooppunten van de ansible-playbookhost.

Referenties voor de service-principal zijn onjuist ingevoerd

Bij het leveren van de invoer voor de sjabloon of Marketplace-aanbieding, zijn de onjuiste gegevens verstrekt. Zorg ervoor dat u de juiste appId (clientId) en het wachtwoord (clientSecret) gebruikt voor de service-principal. Controleer dit door de volgende Azure CLI-opdracht uit te geven.

az login --service-principal -u <client id> -p <client secret> -t <tenant id>

Service-principal heeft geen inzenderstoegang tot de resourcegroep

Als de Azure-cloudprovider is ingeschakeld, moet de gebruikte service-principal inzenderstoegang hebben tot de resourcegroep. Controleer dit door de volgende Azure CLI-opdracht uit te geven.

az group update -g <openshift resource group> --set tags.sptest=test

Aanvullende hulpprogramma’s

Voor sommige fouten kunt u ook de volgende opdrachten gebruiken om meer informatie op te halen:

  1. systemctl status <service>
  2. journalctl -xe