Behandeln von Problemen beim Bereitstellen von OpenShift in AzureTroubleshoot OpenShift deployment in Azure

Wenn der OpenShift-Cluster nicht erfolgreich bereitgestellt wird, wird im Azure-Portal ein Fehler ausgegeben.If the OpenShift cluster doesn't deploy successfully, the Azure portal will provide error output. Die Ausgabe ist möglicherweise schwer zu lesen, was die Identifizierung der Problemursache erschwert.The output may be difficult to read which makes it difficult to identify the problem. Suchen Sie in der Ausgabe nach dem Exitcode 3, 4 oder 5.Quickly scan this output for exit code 3, 4 or 5. Im Anschluss finden Sie Informationen zu diesen drei Exitcodes:The following provides information on these three exit codes:

  • Exitcode 3: Benutzername/Kennwort oder Organisations-ID/Aktivierungsschlüssel für Ihr Red Hat-Abonnement ist falschExit code 3: Your Red Hat Subscription User Name / Password or Organization ID / Activation Key is incorrect
  • Exitcode 4: Ihre Red Hat-Pool-ID ist falsch oder es sind keine Berechtigungen verfügbarExit code 4: Your Red Hat Pool ID is incorrect or there are no entitlements available
  • Exitcode 5: Docker Thin-Poolvolume konnte nicht bereitgestellt werdenExit code 5: Unable to provision Docker Thin Pool Volume

Stellen Sie bei allen anderen Exitcodes eine SSH-Verbindung mit den Hosts her, und sehen Sie sich die Protokolldateien an.For all other exit codes, connect to the host(s) via ssh to view the log files.

OpenShift Container PlatformOpenShift Container Platform

Stellen Sie eine SSH-Verbindung mit dem Ansible-Playbook-Host her.SSH to the ansible playbook host. Verwenden Sie für die Vorlage oder das Marketplace-Angebot den Bastionhost.For the template or the Marketplace offer, use the bastion host. Von dort aus können Sie eine SSH-Verbindung mit allen anderen Knoten im Cluster (Masterknoten, Infrastrukturknoten, CNS-Knoten, Computeknoten) herstellen.From the bastion, you can SSH to all other nodes in the cluster (master, infra, CNS, compute). Zum Anzeigen der Protokolldateien müssen Sie über root-Berechtigungen verfügen.You'll need to be root to view the log files. „root“ ist standardmäßig für den SSH-Zugriff deaktiviert. Verwenden Sie „root“ daher nicht, um eine SSH-Verbindung mit anderen Knoten herzustellen.Root is disabled for SSH access by default so don't use root to SSH to other nodes.

OKDOKD

Stellen Sie eine SSH-Verbindung mit dem Ansible-Playbook-Host her.SSH to the ansible playbook host. Verwenden Sie für die OKD-Vorlage bis Version 3.9 den master-0-Host.For the OKD template (version 3.9 and earlier), use the master-0 host. Verwenden Sie für die OKD-Vorlage ab Version 3.10 den Bastionhost.For the OKD template (version 3.10 and later), use the bastion host. Vom Ansible-Playbook-Host aus können Sie eine SSH-Verbindung mit allen anderen Knoten im Cluster (Masterknoten, Infrastrukturknoten, CNS-Knoten, Computeknoten) herstellen.From the ansible playbook host, you can SSH to all other nodes in the cluster (master, infra, CNS, compute). Zum Anzeigen der Protokolldateien müssen Sie über root-Berechtigungen (sudo su -) verfügen.You'll need to be root (sudo su -) to view the log files. „root“ ist standardmäßig für den SSH-Zugriff deaktiviert. Verwenden Sie „root“ daher nicht, um eine SSH-Verbindung mit anderen Knoten herzustellen.Root is disabled for SSH access by default so don't use root to SSH to other nodes.

ProtokolldateienLog files

Die Protokolldateien („stderr“ und „stdout“) für die Hostvorbereitungsskripts befinden sich auf allen Hosts unter /var/lib/waagent/custom-script/download/0.The log files (stderr and stdout) for the host preparation scripts are located in /var/lib/waagent/custom-script/download/0 on all hosts. Sollte bei der Vorbereitung des Hosts ein Fehler aufgetreten sein, sehen Sie sich diese Protokolldateien an, um den Fehler zu identifizieren.If an error occurred during the preparation of the host, view these log files to determine the error.

Wenn die Vorbereitungsskripts erfolgreich ausgeführt wurden, müssen die Protokolldateien im Verzeichnis /var/lib/waagent/custom-script/download/1 des Ansible-Playbook-Hosts untersucht werden.If the preparation scripts ran successfully, then the log files in the /var/lib/waagent/custom-script/download/1 directory of the ansible playbook host will need to be examined. Ist der Fehler während der eigentlichen Installation von OpenShift aufgetreten, ist der Fehler in der Datei „stdout“ enthalten.If the error occurred during the actual installation of OpenShift, the stdout file will display the error. Wenden Sie sich mit diesen Informationen an den Support, um weitere Unterstützung zu erhalten.Use this information to contact Support for further assistance.

BeispielausgabeExample output

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.

Folgende Installationsfehler treten am häufigsten auf:The most common errors during installation are:

  1. Der private Schlüssel enthält eine Passphrase.Private key has passphrase
  2. Das Schlüsseltresorgeheimnis mit privatem Schlüssel wurde nicht ordnungsgemäß erstellt.Key vault secret with private key wasn't created correctly
  3. Die Dienstprinzipal-Anmeldeinformationen wurden nicht ordnungsgemäß eingegeben.Service principal credentials were entered incorrectly
  4. Der Dienstprinzipal verfügt für die Ressourcengruppe nicht über den Zugriffstyp „Mitwirkender“.Service principal doesn't have contributor access to the resource group

Der private Schlüssel enthält eine Passphrase.Private Key has a passphrase

Es wird ein Fehler mit dem Hinweis angezeigt, dass die Berechtigung für SSH verweigert wurde.You'll see an error that permission was denied for ssh. Stellen Sie eine SSH-Verbindung mit dem Ansible-Playbook-Host her, und überprüfen Sie, ob der private Schlüssel eine Passphrase enthält.ssh to the ansible playbook host to check for a passphrase on the private key.

Das Schlüsseltresorgeheimnis mit privatem Schlüssel wurde nicht ordnungsgemäß erstellt.Key vault secret with private key wasn't created correctly

Der private Schlüssel wird in den Ansible-Playbook-Host (~/.ssh/Id_rsa) kopiert.The private key is copied into the ansible playbook host - ~/.ssh/id_rsa. Vergewissern Sie sich, dass diese Datei korrekt ist.Confirm this file is correct. Erstellen Sie zum Testen über den Ansible-Playbook-Host eine SSH-Sitzung mit einem der Clusterknoten.Test by opening an SSH session to one of the cluster nodes from the ansible playbook host.

Die Dienstprinzipal-Anmeldeinformationen wurden nicht ordnungsgemäß eingegeben.Service principal credentials were entered incorrectly

In der Eingabe für die Vorlage oder das Marketplace-Angebot wurden falsche Informationen bereitgestellt.When providing the input to the template or Marketplace offer, the incorrect information was provided. Vergewissern Sie sich, dass „appID“ („clientId“) und „password“ („clientSecret“) für den Dienstprinzipal korrekt sind.Make sure you use the correct appId (clientId) and password (clientSecret) for the service principal. Führen Sie zur Überprüfung den folgenden Befehl für die Azure-Befehlszeilenschnittstelle aus:Verify by issuing the following azure cli command.

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

Der Dienstprinzipal verfügt für die Ressourcengruppe nicht über den Zugriffstyp „Mitwirkender“.Service principal doesn't have contributor access to the resource group

Wenn der Azure-Cloudanbieter aktiviert ist, muss der verwendete Dienstprinzipal über den Zugriffstyp „Mitwirkender“ für die Ressourcengruppe verfügen.If the Azure cloud provider is enabled, then the service principal used must have contributor access to the resource group. Führen Sie zur Überprüfung den folgenden Befehl für die Azure-Befehlszeilenschnittstelle aus:Verify by issuing the following azure cli command.

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

Weitere ToolsAdditional tools

Bei einigen Fehlern können Sie auch die folgenden Befehle verwenden, um weitere Informationen zu erhalten:For some errors, you can also use the following commands to get more information:

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