Gestione delle risorse
Una risorsa Un'istanza fisica o logica che può essere fornita o riservata.Esempi di risorse possono includere storage, processori, memoria, database, cluster e macchine virtuali. è qualsiasi cosa che si può creare dal catalogo e che è gestita e contenuta in un gruppo di risorse. È possibile creare e gestire le risorse accedendo al sito elenco delle risorse nella console IBM Cloud® o utilizzando l'interfaccia a riga di comando (CLI).
I servizi gestiti tramite il controllo di accesso Identity and Access Management(IAM) IBM Cloud e appartenenti a un gruppo di risorse presentano numerosi vantaggi. Poiché i gruppi di risorse non sono suddivisi per località, è possibile creare applicazioni e servizi di località diverse nello stesso gruppo di risorse. Puoi anche utilizzare il controllo dell'accesso dettagliato fino a una singola istanza all'interno di un gruppo di risorse.
Accesso richiesto per la creazione di risorse
Perché gli utenti nel tuo account possano creare risorse dal catalogo e assegnarle a un gruppo di risorse, è necessario che ad essi siano assegnate due politiche di accesso:
- Una politica con il ruolo di visualizzatore o superiore sul gruppo di risorse stesso
- Una politica con il ruolo di editor o superiore sul servizio nell'account
Creazione di risorse nella console
Utilizza la seguente procedura per creare una risorsa nella console:
- Dal tuo dashboard, fai clic su Visualizza risorse nel widget Riepilogo risorse.
- Fai clic su Crea risorsa. Da qui, verrai reindirizzato al catalogo. È possibile cercare i prodotti o filtrare in base a una categoria specifica, a un fornitore, a un piano tariffario, a un tipo di conformità o a un tipo di rilascio. Esempi di risorse includono applicazioni, istanze del servizio, cluster contenitore, volumi di archiviazione, server virtuali e software.
Dopo aver creato la risorsa, questa viene visualizzata nell'elenco delle risorse nella pagina Elenco risorse.
Creazione di risorse utilizzando la CLI
È possibile creare una risorsa utilizzando l'interfaccia della riga di comando IBM Cloud®. Per informazioni dettagliate sul lavoro con le risorse, vedere Lavoro con le risorse e i gruppi di risorse.
- Accedi e seleziona l'account.
ibmcloud login - Creare un'organizzazione eseguendo il comando
ibmcloud resource service-instance-createcomando.
In questo comando,NAME è il nome dell'istanza di servizio, SERVICE_NAME or SERVICE_ID è il nome o l'ID del servizio, SERVICE_PLAN_NAME or SERVICE_PLAN_ID è il nome o l'ID del piano di servizio e LOCATION è la posizione o l'ambiente di destinazione per creare l'istanza di servizio.
ibmcloud resource service-instance-create NAME (SERVICE_NAME | SERVICE_ID) SERVICE_PLAN_NAME LOCATION [-d, --deployment DEPLOYMENT_NAME] [-p, --parameters @JSON_FILE | JSON_STRING ] [-g RESOURCE_GROUP] [--service-endpoints SERVICE_ENDPOINTS_TYPE] [--allow-cleanup] [--lock]
Per elencare i servizi, utilizzare il comando ibmcloud catalog service-marketplace il comando.
Ad esempio, il comando seguente crea un'istanza di servizio denominata my-service-instance, utilizza il piano di servizio test- service-plan del servizio test-service sulla posizione eu-gb:
ibmcloud resource service-instance-create my-service-instance test-service test-service-plan eu-gb
Creare nuove istanze di risorse utilizzando l'API
È possibile creare programmaticamente una nuova istanza di risorsa chiamando l'API Resource Controller, come mostrato nella seguente richiesta di esempio. Per informazioni dettagliate sull'API, vedere API del controllore di risorse.
curl -X POST \
https://resource-controller.cloud.ibm.com/v2/resource_instances \
-H 'Authorization: Bearer <>' \
-H 'Content-Type: application/json' \
-d '{
"name": "my-instance",
"target": "bluemix-global",
"resource_group": "5g9f447903254bb58972a2f3f5a4c711",
"resource_plan_id": "0be5ad401ae913d8ff665d92680664ed",
"tags": [
"my-tag"
]
}'
CreateResourceInstanceOptions createResourceInstanceOptions = new CreateResourceInstanceOptions.Builder()
.name(resourceInstanceName)
.target(targetRegion)
.resourceGroup(resourceGroup)
.resourcePlanId(resourcePlanId)
.build();
Response<ResourceInstance> response = service.createResourceInstance(createResourceInstanceOptions).execute();
ResourceInstance resourceInstance = response.getResult();
System.out.printf("createResourceInstance() response:\n%s\n", resourceInstance.toString());
const params = {
name: resourceInstanceName,
target: targetRegion,
resourceGroup: resourceGroupGuid,
resourcePlanId: resourcePlanId,
};
resourceControllerService.createResourceInstance(params)
.then(res => {
instanceGuid = res.result.guid;
console.log('createResourceInstance() response:\n' + JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
resource_instance = resource_controller_service.create_resource_instance(
name=resource_instance_name,
target=target_region,
resource_group=resource_group,
resource_plan_id=resource_plan_id
).get_result()
print('\ncreate_resource_instance() response:\n',
json.dumps(resource_instance, indent=2))
createResourceInstanceOptions := resourceControllerService.NewCreateResourceInstanceOptions(
resourceInstanceName,
targetRegion,
resourceGroup,
resourcePlanID,
)
resourceInstance, response, err := resourceControllerService.CreateResourceInstance(createResourceInstanceOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(resourceInstance, "", " ")
fmt.Printf("\nCreateResourceInstance() response:\n%s\n", string(b))
Installazione del software tramite API
È possibile installare il software solo attraverso la console o la CLI. Per vedere i passaggi, passare alle istruzioni dell'interfaccia utente o della CLI.
Creare nuove istanze di risorse utilizzando Terraform
Prima di poter creare nuove istanze di risorse usando Terraform, assicurarsi di aver completato quanto segue:
-
Installare la CLI di Terraform e configurare il plug-in IBM Cloud Provider per Terraform. Per ulteriori informazioni, vedere il tutorial su Come iniziare con Terraform su IBM Cloud®. Il plug-in astrae le API di IBM Cloud che vengono utilizzate per completare questo compito.
-
Creare un file di configurazione di Terraform chiamato
main.tf. In questo file si definiscono le risorse utilizzando il linguaggio di configurazione HashiCorp. Per ulteriori informazioni, consultare la documentazione di Terraform.
È possibile creare nuove istanze di risorse utilizzando Terraform.
-
Creare un argomento nel file
main.tf. L'esempio seguente crea una nuova istanza di risorsa utilizzando la risorsaibm_resource_instance, dovenameè un nome unico e descrittivo per identificare l'istanza di risorsa.data "ibm_resource_group" "group" { name = "test" } resource "ibm_resource_instance" "resource_instance" { name = "test" service = "cloud-object-storage" plan = "lite" location = "global" resource_group_id = data.ibm_resource_group.group.id tags = ["tag1", "tag2"] //User can increase timeouts timeouts { create = "15m" update = "15m" delete = "15m" } }È possibile specificare
tagsassociato all'istanza della risorsa. Per ulteriori informazioni, vedere i dettagli di riferimento degli argomenti nella pagina Gestione risorse di Terraform. -
Dopo aver completato la creazione del file di configurazione, inizializzare la CLI di Terraform. Per ulteriori informazioni, vedere Inizializzazione delle directory di lavoro.
terraform init -
Predisporre le risorse dal file
main.tf. Per ulteriori informazioni, vedere Provisioning dell'infrastruttura con Terraform.- Eseguire
terraform planper generare un piano di esecuzione di Terraform per visualizzare in anteprima le azioni proposte.terraform plan - Eseguire
terraform applyper creare le risorse definite nel piano.terraform apply
- Eseguire
Ricerca delle risorse
Puoi cercare le risorse da qualsiasi punto nella console IBM Cloud®. Immetti la risorsa o la tag nel campo di ricerca dalla barra dei menu della console. Puoi anche utilizzare la CLI (command-line interface) di IBM Cloud per cercare nelle tue risorse. La CLI cerca applicazioni distribuite e istanze del servizio in tutte le ubicazioni e in tutti i data center. La ricerca globale e l'etichettatura - API di ricerca supporta anche la ricerca di risorse.
Perfezionamento dei tuoi risultati della ricerca
- Visualizza tutti i risultati del catalogo
- Utilizza questa opzione per visualizzare una ricerca nel catalogo filtrata. I primi cinque risultati vengono visualizzati in base al nome. Se vuoi dei criteri di ricerca più dettagliati per le voci di catalogo, come ad esempio la ricerca nella
descrizione, puoi fare clic su questo link e ottenere una vista dei risultati del catalogo filtrata. Questa opzione ti aiuta a trovare le offerte che vuoi creare più rapidamente. Viene visualizzata se corrisponde a un risultato del catalogo.
Questo campo non viene visualizzato se la tua query di ricerca inizia con
tag:. - Ricerca nei casi di supporto
- Utilizza questa opzione per filtrare in base ai tuoi casi di supporto aperti nella piattaforma, comprese le risorse dell'infrastruttura. Viene visualizzata alla fine della ricerca se cerchi qualcosa, anche se cerchi in base alla
tag:. - Ricerca nei documenti di IBM Cloud
- Utilizza questa opzione per ottenere una ricerca filtrata della documentazione. Questo appare alla fine di ogni ricerca, anche se si cerca per
tag:.
Premi il tasto barra (/) per portare il tuo cursore al campo di ricerca.
Ricerca con la CLI
È anche possibile effettuare ricerche su tutte le risorse utilizzando la sintassi delle query di Lucene, con un unico comando utilizzando la CLI di IBM Cloud. Gli attributi delle risorse più comunemente utilizzati che possono essere interrogati e recuperati sono:
name- Il nome definito dall'utente della risorsa.
region- La posizione geografica in cui è stata creata la risorsa. I valori ammessi sono, ad esempio,
us-south,us-east,au-syd,eu-gb,eu-deejp-tok. service_name- Il nome del servizio come appare nel segmento
service-namedel CRN della risorsa. I valori consentiti possono essere ricavati dalla colonna Name dell'output diibmcloud catalog service-marketplace. resource_group_id- L'ID del gruppo di risorse della risorsa.
type- Il tipo di risorsa come appare nel segmento
resource-typedel CRN della risorsa, se presente. I valori dipendono dal servizio proprietario. I valori di esempio sono:k8-clusterper il serviziocontainers-kubernetes;k8-locationek8-connectorper il serviziosatellite;resource-groupper il servizioresource-controller;vpc,volume,vpn,load-balancer,security-group, per il serviziois;workspaceper il servizioschematics. creation_date- La data in cui viene creata la risorsa.
modification_date- La data dell'ultima modifica della risorsa.
tags- I tag allegati alla risorsa.
access_tags- I tag di gestione degli accessi collegati alla risorsa.
service_tags- I tag di servizio collegati alla risorsa.
tagReferences.tag.name- Le tag che sono state collegate a una risorsa dell'infrastruttura classica. Devi specificare il parametro
-p classic-infrastructure. _objectType:- Il tipo di oggetto della risorsa dell'infrastruttura classica. I valori ammessi sono:
SoftLayer_Virtual_DedicatedHost,SoftLayer_Hardware,SoftLayer_Network_Application_Delivery_Controller,SoftLayer_Network_Subnet_IpAddress,SoftLayer_Network_Vlan,SoftLayer_Network_Vlan_Firewall,SoftLayer_Virtual_Guest. Richiede di specificare il parametro-p classic-infrastructure.
tagReferences.tag.name e _objectType sono validi solo quando si usa il flag -p classic-infrastructure.
L'uso di -p classic-infrastructure per _objectType SoftLayer_Virtual_DedicatedHost, SoftLayer_Network_Vlan_Firewall, SoftLayer_Virtual_Guest e SoftLayer_Hardware (solo per i server
bare metal dell'infrastruttura classica) è deprecato, poiché ora sono ricercabili come tutte le altre risorse non dell'infrastruttura classica.
Ricerca di risorse infrastrutturali classiche
Per cercare le risorse dell'infrastruttura classica, la stringa deve essere contenuta all'interno di virgolette doppie affinché venga restituita una corrispondenza esatta della stringa di query. Inoltre, se si inserisce un termine di ricerca che include un trattino (-) e non si circonda la stringa con un doppio apice, la ricerca non restituirà una corrispondenza esatta. I trattini all'interno della stringa vengono utilizzati per suddividere il termine in più stringhe.
Esempi di ricerca
I seguenti esempi possono aiutarti a cercare le risorse dell'account. Quando il parametro -p classic-infrastucture non è specificato, la ricerca si estende a tutte le risorse, ma alle risorse dell'infrastruttura classica con _objectType SoftLayer_Network_Application_Delivery_Controller, SoftLayer_Network_Subnet_IpAddress o SoftLayer_Hardware (esclusi i server bare metal).
-
Per cercare tutte le risorse denominate
ABC, digitate il seguente comando:ibmcloud resource search ‘name:ABC’ -
Per cercare tutte le istanze del servizio di Message Hub, immetti il seguente comando:
ibmcloud resource search 'service_name:messagehub' -
Per cercare le risorse che non sono infrastrutture classiche e che sono state create tra il 16 maggio 2020 e il 20 maggio 2020, immettere il seguente comando:
ibmcloud resource search 'creation_date:["2020-05-16T00:00:00Z" TO "2020-05-20T00:00:00Z"]' -
Per cercare le risorse che non sono dell'infrastruttura classica il cui nome inizia con "my", ordinate per tipo, immetti il seguente comando:
ibmcloud resource search 'name:my*' -s type -
Per cercare le risorse che non sono infrastrutture classiche e che sono state etichettate con
my-tag, digitate il seguente comando:ibmcloud resource search 'tags:my-tag' -
Per cercare tutti i server virtuali dell'infrastruttura classica il cui nome di dominio completamente qualificato è
MyVM, immettere il seguente comando:ibmcloud resource search “doc.fullyQualifiedDomainName:MyVM AND service_name:virtual-server" -
Per cercare tutte le risorse dell'infrastruttura classica che sono state contrassegnate con
my-tag, immettere il seguente comando:ibmcloud resource search 'tagReferences.tag.name:my-tag' -p classic-infrastructure -
Per cercare tutte le infrastrutture classiche del tipo
SoftLayer_Network_Vlan, immettere il seguente comando:ibmcloud resource search '_objectType:SoftLayer_Network_Vlan' -p classic-infrastructure
Ricerca tramite API
Per cercare le risorse, chiamare l'API di ricerca e tagging globale. L'esempio seguente cerca tutte le risorse con il tag "project:myproject".
Usare SearchOptions.Builder per creare un oggetto SearchOptions che contenga i valori dei parametri per il metodo search.
Istanziare la struttura SearchOptions e impostare i campi per fornire i valori dei parametri per il metodo Search.
curl -X POST -H "Authorization: {iam_token}" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"query": "tags:project\\:myproject OR access_tags:project\\:myproject", "fields": ["*"]}' "api.global-search-tagging.cloud.ibm.com/v3/resources/search"
SearchOptions searchOptions = new SearchOptions.Builder()
.query("GST-sdk-*")
.fields(new java.util.ArrayList<String>(java.util.Arrays.asList("*")))
.searchCursor(searchCursor)
.build();
Response<ScanResult> response = service.search(searchOptions).execute();
ScanResult scanResult = response.getResult();
System.out.println(scanResult);
const params = {
query: 'GST-sdk-*',
fields: ['*'],
searchCursor: searchCursor,
};
globalSearchService.search(params)
.then(res => {
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
response = global_search_service.search(query='GST-sdk-*',
fields=['*'])
scan_result = response.get_result()
print(json.dumps(scan_result, indent=2))
searchOptions := globalSearchService.NewSearchOptions()
searchOptions.SetLimit(10)
searchOptions.SetQuery("GST-sdk-*")
searchOptions.SetFields([]string{"*"})
scanResult, response, err := globalSearchService.Search(searchOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(scanResult, "", " ")
fmt.Println(string(b))
Eliminazione delle risorse
Quando non si ha più bisogno di una risorsa nel proprio account, o se un utente del proprio account ha creato una risorsa che non si vuole che venga utilizzata, è possibile eliminare l'istanza dal proprio account.
Eliminazione di risorse nella console
Puoi eliminare una risorsa nella console utilizzando la seguente procedura:
- Dal tuo dashboard, fai clic su Visualizza risorse nel widget Riepilogo delle risorse.
- Espandi le sezioni per individuare l'istanza del servizio che vuoi eliminare.
- Fare clic sull'icona Azioni
> Elimina per la riga.
Eliminazione di risorse utilizzando la CLI
È possibile eliminare una risorsa utilizzando l'interfaccia a riga di comando IBM Cloud®. Per informazioni dettagliate sulla gestione delle risorse di IBM Cloud, vedere Lavorare con le risorse e i gruppi di risorse.
-
Accedi e seleziona l'account.
ibmcloud login -
Per eliminare un'istanza di servizio, eseguire il comando
ibmcloud resource service-instance-deletedoveNAMEè il nome dell'istanza di servizio, esclusivo di ID, eIDè l'ID dell'istanza di servizio, esclusivo di NAME.ibmcloud resource service-instance-delete (NAME|ID) [-f, --force] [--recursive]Ad esempio, il comando seguente elimina un'istanza di servizio della risorsa denominata
my-service-instance:ibmcloud resource service-instance-delete my-service-instance
Eliminazione di istanze di risorse tramite l'API
È possibile eliminare programmaticamente un'istanza di risorsa chiamando l'API del Resource Controller, come mostrato nella seguente richiesta di esempio. Per informazioni dettagliate sull'API, vedere API del controllore di risorse.
curl -X DELETE \
https://resource-controller.cloud.ibm.com/v2/resource_instances/8d7af921-b136-4078-9666-081bd8470d94 \
-H 'Authorization: Bearer <>'
DeleteResourceInstanceOptions deleteResourceInstanceOptions = new DeleteResourceInstanceOptions.Builder()
.id(instanceGuid)
.recursive(false)
.build();
Response<Void> response = service.deleteResourceInstance(deleteResourceInstanceOptions).execute();
System.out.printf("deleteResourceInstance() response status code: %d\n", response.getStatusCode());
const params = {
id: instanceGuid,
recursive: false,
};
resourceControllerService.deleteResourceInstance(params)
.then(res => {
console.log('deleteResourceInstance() response status code: ' + res.status);
})
.catch(err => {
console.warn(err)
});
response = resource_controller_service.delete_resource_instance(
id=instance_guid,
recursive=False
)
print('\ndelete_resource_instance() response status code: ',
response.get_status_code())
deleteResourceInstanceOptions := resourceControllerService.NewDeleteResourceInstanceOptions(
instanceGUID,
)
deleteResourceInstanceOptions.SetRecursive(false)
response, err := resourceControllerService.DeleteResourceInstance(deleteResourceInstanceOptions)
if err != nil {
panic(err)
}
fmt.Printf("\nDeleteResourceInstance() response status code: %d\n", response.StatusCode)
Eliminazione di istanze di risorse tramite Terraform
Per eliminare le istanze di risorse utilizzando Terraform, procedere come segue.
-
È possibile eliminare un'istanza di risorsa rimuovendo il seguente blocco di codice dal file terraform. È necessario aver creato il sito
resource_instanceutilizzando il file terraform.data "ibm_resource_group" "group" { name = "test" } resource "ibm_resource_instance" "resource_instance" { name = "test" service = "cloud-object-storage" plan = "lite" location = "global" resource_group_id = data.ibm_resource_group.group.id tags = ["tag1", "tag2"] //User can increase timeouts timeouts { create = "15m" update = "15m" delete = "15m" } }Per ulteriori informazioni, vedere i dettagli di riferimento degli argomenti nella pagina Gestione risorse di Terraform.
-
Dopo aver completato la creazione del file di configurazione, inizializzare la CLI di Terraform. Per ulteriori informazioni, vedere Inizializzazione delle directory di lavoro.
terraform init -
Predisporre le risorse dal file
main.tf. Per ulteriori informazioni, vedere Provisioning dell'infrastruttura con Terraform.-
Eseguire
terraform planper generare un piano di esecuzione di Terraform per visualizzare in anteprima le azioni proposte.terraform plan -
Eseguire
terraform applyper creare le risorse definite nel piano.terraform apply
-
È possibile eliminare un'istanza di risorsa anche eseguendo il seguente comando terraform destroy:
terraform destroy -target RESOURCE_TYPE.NAME -target RESOURCE_TYPE2.NAME