A volte, Compute Engine non riesce a registrare automaticamente le licenze Ubuntu Pro con pagamento a consumo. Questo documento descrive come risolvere i problemi che potresti riscontrare con la registrazione di istanze di macchine virtuali (VM) Compute Engine che eseguono licenze Ubuntu Pro con pagamento a consumo.
Verifica lo stato della registrazione
Per verificare se la licenza è registrata, connettiti alla VM ed esegui il seguente comando
sudo ua status
Se la registrazione è andata a buon fine, viene visualizzato un output simile al seguente e non sono necessarie ulteriori azioni:
SERVICE ENTITLED STATUS DESCRIPTION cc-eal yes disabled Common Criteria EAL2 Provisioning Packages cis yes disabled Security compliance and audit tools esm-apps yes enabled Expanded Security Maintenance for Applications esm-infra yes enabled Expanded Security Maintenance for Infrastructure fips yes disabled NIST-certified core packages fips-updates yes disabled NIST-certified core packages with priority security updates livepatch yes enabled Canonical Livepatch service
Se la registrazione non è andata a buon fine e Ubuntu Pro non è registrato, viene visualizzato un messaggio simile al seguente:
This machine is not attached to an Ubuntu Pro subscription.
Registra la licenza manualmente
Se Compute Engine non è riuscito a registrare automaticamente la licenza Ubuntu Pro, puoi registrarla manualmente eseguendo il seguente comando:
sudo pro auto-attach
L'output è simile al seguente:
Registrazione riuscita:
This machine is already attached to PROJECT_ID To use a different subscription first run: sudo pro detach.
Errore di registrazione:
Internal Server Error
Risolvere i problemi di registrazione della licenza
Se non riesci a registrare manualmente una licenza Ubuntu Pro, risolvi il problema procedendo nel seguente modo:
Verifica che la VM possa raggiungere il server di metadati eseguendo il seguente comando per controllare il numero di dischi collegati alla VM:
curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"
L'output è simile al seguente, che mostra il numero di dischi collegati alla VM:
0/ 1/ 2/
Se l'output non mostra il numero di dischi collegati alla VM, consulta Risoluzione dei problemi di accesso al server di metadati.
Verifica che l'agente guest di Google sia in esecuzione eseguendo il seguente comando:
systemctl status google-guest-agent.service
L'output è simile al seguente:
● google-guest-agent.service - Google Compute Engine Guest Agent Loaded: loaded (/lib/systemd/system/google-guest-agent.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-04-20 16:35:11 PDT; 2h 12min ago Main PID: 4582 (google_guest_ag) Tasks: 10 (limit: 9525)
Se l'agente guest non è installato o non funziona, installa o reinstalla l'ambiente guest.
Verifica che un account di servizio sia collegato alla VM eseguendo il seguente comando dalla tua workstation locale:
gcloud compute instances describe VM_NAME \ --zone ZONE --format="table(serviceAccounts.email)"
Sostituisci quanto segue:
VM_NAME
: il nome della VMZONE
: la zona in cui si trova la VM
L'output è simile al seguente:
EMAIL: ['XXXXXXXX-compute@developer.gserviceaccount.com']
Prendi nota dell'indirizzo email dell'account di servizio.
Controlla se l'account di servizio è abilitato eseguendo la seguente query:
gcloud logging read --freshness=90d "SERVICE_ACCOUNT_EMAIL protoPayload.methodName=google.iam.admin.v1.DisableServiceAccount"
Sostituisci
SERVICE_ACCOUNT_EMAIL
con l'indirizzo email associato all'account di servizio della VM.L'output è simile al seguente:
insertId: 1ne5thkf13sxec logName: projects/testproject/logs/cloudaudit.googleapis.com%2Factivity protoPayload: '@type': type.googleapis.com/google.cloud.audit.AuditLog authenticationInfo: principalEmail: principalemail@google.com principalSubject: user:pricipalemail@google.com authorizationInfo: granted: true permission: iam.serviceAccounts.disable resource: projects/-/serviceAccounts/XXXXXXXXXXXXXX resourceAttributes: name: projects/-/serviceAccounts/XXXXXXXXXXXXXXXX methodName: google.iam.admin.v1.DisableServiceAccount request: '@type': type.googleapis.com/google.iam.admin.v1.DisableServiceAccountRequest name: projects/testproject/serviceAccounts/
-compute@developer.gserviceaccount.com requestMetadata: destinationAttributes: {} requestAttributes: auth: {} time: '2024-01-25T21:37:55.748811275Z' resourceName: projects/-/serviceAccounts/XXXXXXXXXX response: '@type': type.googleapis.com/google.protobuf.Empty serviceName: iam.googleapis.com status: {} receiveTimestamp: '2024-01-25T21:37:56.409675900Z' resource: labels: email_id: -compute@developer.gserviceaccount.com project_id: testproject unique_id: 'XXXXXXXXXXXXXXXX' type: service_account severity: NOTICE timestamp: '2024-01-25T21:37:55.721215307Z' Se l'account di servizio non è abilitato, riabilitalo.
Dopo aver riattivato l'account di servizio, prova a registrare la licenza seguendo le istruzioni riportate nella sezione Registrare manualmente la licenza di questo documento.