Hosts mit automatischer Zuordnung der Hostbezeichnung zuordnen

Hosts werden automatisch den Worker-Pools in Clustern oder Satellite-fähigen IBM Cloud-Diensten zugewiesen, wobei Host-Labels verwendet werden, um die verfügbare Rechenkapazität optimal zu nutzen. Sie können die automatische Zuweisung aktivieren oder deaktivieren.

Die automatische Zuordnung des Hosts ist für die Steuerebene des Satellite-Standorts nicht verfügbar.

Hostbezeichnungen

Die automatische Host-Zuweisung gleicht die Worker-Pool-Bezeichnungen in Satellite-Clustern mit den Host- und Zonenbezeichnungen auf verfügbaren Hosts ab.

Beachten Sie die folgenden Informationen zu den Hostbezeichnungen, die für die automatische Zuordnung verwendet werden.

Standardbezeichnungen für Hosts
Wenn Sie einen Host an einen Satellite-Standort anhängen, erhält der Host automatisch Bezeichnungen für cpu, os und memory (in Byte). Sie können diese Bezeichnungen nicht entfernen. Sie können zusätzliche Hostbezeichnungen hinzufügen oder die Hostmetadaten später aktualisieren. Wenn der Host die Bezeichnung os nicht enthält, wird automatisch RHEL7 verwendet.
Hosts können mehr Bezeichnungen als Worker-Pools aufweisen.
Beispielsweise kann ein Host mit den env Host-Bezeichnungen cpu, memory, und automatisch einem Worker-Pool zugewiesen werden, der nur die cpu Host-Bezeichnung aufweist. Die automatische Hostzuordnung stimmt mit den cpu-Bezeichnungen überein. Das Gegenteil funktioniert nicht: Wenn ein Worker-Pool mehr Labels hat als ein Host, kann der Host dem Worker-Pool nicht automatisch zugewiesen werden.
Abgleich ist exakt
Hostbezeichnungen müssen exakt übereinstimmen (=). Selbst wenn die Hostbezeichnung eine Zahl ist, werden nicht weniger als (<), größer als (>), oder andere Operatoren für den Abgleich verwendet.

Beispielszenario für eine automatische Hostzuordnung

Angenommen, Sie haben einen Satellite Cluster mit einem default-Workerpool in us-east-1a und den folgenden Host-Labels.

  • cpu=4
  • env=prod
  • os=RHEL7

An Ihrem Satellite-Standort sind verfügbare (nicht zugewiesene) Hosts mit den folgenden Hostbezeichnungen vorhanden.

  • Host A: cpu=4, memory=32, env=prod, zone=us-east-1b os=rhel
  • Host B: cpu=4, memory=32, zone=us-east-1a os=RHEL7
  • Host C: cpu=4, memory=64, env=prod os=RHEL7
  • Host D: cpu=4, memory=64, env=prod``os=RHCOS ( Red Hat CoreOS )

Wenn Sie die Größe des Worker-Pools default ändern, sodass 3 weitere Workerknoten angefordert werden, kann nur Host C automatisch zugewiesen werden und nicht Host A oder Host B.

  • Host A bearbeitet CPU- und env=prod Label-Anfragen, kann jedoch nur in zugewiesen werden us-east-1b. Da der default-Workerpool nur in us-east-1a enthalten ist, wird Host A nicht zugewiesen.
  • Host B erfüllt zwar die Anforderungen für CPU und Zone, er verfügt jedoch nicht über die Bezeichnung env=prod und wird daher nicht zugewiesen.
  • Host C wird automatisch zugewiesen, da er exakte Übereinstimmungen mit den Hostbezeichnungen cpu=4 und env=prod aufweist und nicht über Zonenbeschränkungen verfügt. Die Hostbezeichnung memory=64 wird nicht berücksichtigt, da der Worker-Pool nicht die Bezeichnung memory anfordert.
  • Host D erfüllt die Anforderungen für CPU, Zone und die Bezeichnung env=prod, erfüllt jedoch nicht die os-Anforderung von RHEL7 und ist daher nicht zugeordnet.

Hosts müssen als Workerknoten in jeder Zone des Standardworkerpools in Ihrem Cluster zugewiesen werden. Wenn der Standardworkerpool mehrere Zonen umfasst, stellen Sie sicher, dass Sie über Hosts mit übereinstimmenden Bezeichnungen verfügen, die in jeder Zone zugewiesen werden können.

Hosts automatisch zuweisen

IBM Cloud Satellite Weist Hosts automatisch Worker-Pools in Clustern zu, die Rechenkapazität anfordern, und nutzt dabei Host-Labels wie z. B. cpu.

Stellen Sie vor Beginn sicher, dass Sie einen Satellite-Cluster erstellen. Wenn Sie einen Cluster in der Befehlszeilenschnittstelle erstellen, müssen Sie die Option --workers mit der Anzahl der Hosts angeben, die Sie automatisch zuordnen wollen. Stellen Sie anschließend sicher, dass Sie Hosts zuordnen an Ihre Satellite-Position, aber die Hosts keinen Ressourcen zuordnen.

  1. Überprüfen Sie die Hostbezeichnungen, die von den Worker-Pools zum Anfordern von Rechenkapazität verwendet werden. Dabei stehen Ihnen die folgenden Optionen zur Verfügung:

    • Erstellen Sie einen Worker-Pool in einem Satellite-Cluster mit den Hostbezeichnungen, die Sie für die automatische Zuordnung verwenden wollen.
    • Überprüfen Sie vorhandene Worker-Pools auf die zugehörigen Hostbezeichnungen. Dabei ist zu beachten, dass Sie die Hostbezeichnungen eines Worker-Pools nicht ändern können. Sie können die Hostbezeichnungen überprüfen, indem Sie den Befehl ibmcloud oc worker-pool get -c <cluster> --worker-pool <worker_pool> ausführen.
    • Überprüfen Sie die Hostbezeichnungen, die ein Satellite-fähiger IBM Cloud-Service-Cluster verwendet, um Ressourcen von der Konsole mit der Satellite-fähigen IBM Cloud-Serviceinstanz anzufordern.
  2. Überprüfen Sie die Hostbezeichnungen der verfügbaren Hosts. Beachten Sie dabei, dass den Hosts automatisch die Bezeichnungen cpu und memory zugeordnet werden, wenn Sie die Hosts Ihrem Satellite-Standort zuordnen.

    1. Rufen Sie den Namen des Satellite-Standorts ab.
        ibmcloud sat location ls
        ```
    2. Listen Sie die verfügbaren (nicht zugewiesenen) Hosts an Ihrem Standort auf und notieren Sie die IDs der Hosts, deren Hostbezeichnungen Sie überprüfen möchten.
    ```sh {: pre}
        ibmcloud sat host ls --location LOCATION_NAME_OR_ID | grep unassigned
        ```
    3. Rufen Sie für jeden zu überprüfenden Host die Hostdetails ab und notieren Sie die in der Ausgabe enthaltenen Bezeichnungen (**Labels**).
    ```sh {: pre}
        ibmcloud sat host get --location LOCATION_NAME_OR_ID --host HOST_NAME_OR_ID
        ```
        Beispielausgabe
        ```sh {: screen}
        ...
        Labels      
        app      webserver   
        cpu      4   
        memory   3874564
        os       RHCOS
        ...
        ```
    
  3. Aktualisieren Sie die Bezeichnungen Ihres verfügbaren Hosts so, dass sie mit allen Bezeichnungen des Worker-Pools übereinstimmen, für den der Host zur automatischen Zuordnung verfügbar sein soll. Sie können optional eine Zone angeben, um sicherzustellen, dass der Host nur dieser Zone automatisch zugewiesen wird.werden soll.

    Die Bezeichnungen cpu, osund memory auf dem Host werden automatisch angewendet und können nicht bearbeitet werden.

    ibmcloud sat host update --location <location_name_or_ID> --host <host_name_or_ID> -hl <key=value> [-hl <key=value>] [--zone <zone1>]
    

Automatische Hostzuordnung deaktivieren

Die folgenden Aktionen deaktivieren die automatische Hostzuordnung für einen Worker-Pool. Später können Sie die automatische Hostzuordnung erneut aktivieren.

Automatische Hostzuordnung erneut aktivieren

Wenn die automatische Hostzuordnung deaktiviert ist, können Sie die automatische Zuordnung wieder aktivieren.

  1. Stellen Sie sicher, dass Sie über verfügbare Hosts mit Bezeichnungen verfügen, die den Hostbezeichnungen des Worker-Pools entsprechen.
  2. Ändern Sie die Größe des Worker-Pools, um die angeforderte Größe pro Zone festzulegen, den Worker-Pool neu zu verteilen und die automatische Zuordnung wieder zu aktivieren.

Verwenden Sie bei „ Satellite “-Clustern den Befehl „ ibmcloud oc worker-pool rebalance “ nicht, wenn Sie Ihrem Worker-Pool Worker-Knoten manuell zugewiesen haben. Beim Neugewichtung eines Pools mit manuell zugewiesenen Worker-Knoten werden mehr Worker-Knoten entfernt als erwartet.