Gerir recursos com o campo resourceID


Esta página explica como gerir recursos com o campo resourceID.

O Config Connector permite-lhe especificar explicitamente o ID do recurso de um recurso Google Cloudusando o campo resourceID imutável, mas opcional, para criar ou adquirir o recurso. "Imutável, mas opcional" significa que pode optar por especificar ou não especificar o campo resourceID, mas não pode fazer alterações ao valor do campo resourceID depois de aplicar o manifesto ao cluster.

O campo resourceID aumenta a flexibilidade de atribuição de nomes a um recurso que tem um ID do recurso especificado pelo utilizador. Google CloudUsando o campo resourceID nos recursos do Config Connector, pode definir vários recursos do Config Connector do mesmo tipo com o mesmo nome do recurso Google Cloudem diferentes projetos, pastas, organizações ou recursos principais no mesmo espaço de nomes. O Google Cloud nome do recurso também não está restrito pela convenção de nomenclatura de um nome de objeto do Kubernetes. Além disso, o campo resourceID permite a aquisição de um recurso que tem um ID do recurso gerado pelo serviço. Google Cloud

O Config Connector torna o espaço de nomes o "proprietário" de um recurso para impedir que seja usado por outro proprietário. No entanto, se estiver a usar o campo resourceID, pode haver vários recursos com o mesmo Google Cloud nome do recurso, criados no mesmo espaço de nomes. Estes recursos criam conflitos que o Config Connector não pode gerir. Tem de resolver manualmente os conflitos.

Tipos de IDs de recursos

No Config Connector, os IDs de recursos podem ser especificados pelo utilizador ou gerados pelo serviço.

IDs de recursos especificados pelo utilizador
Um ID do recurso determinado, especificado e transmitido pelo utilizador antes da criação do recurso. Pode criar ou adquirir um recurso que tenha um ID do recurso especificado pelo utilizador com o campo resourceID.
IDs de recursos gerados pelo serviço
Um ID do recurso gerado pelo serviço durante a criação do recurso. Pode ser obtido pelo utilizador após a criação bem-sucedida do recurso. Pode adquirir um recurso que tenha um ID do recurso gerado pelo serviço com o campo resourceID. Deixe o campo não especificado se quiser criar um novo recurso com um ID do recurso gerado pelo serviço. Veja a lista de recursos com um ID de recurso gerado pelo serviço.

Especificar o campo resourceID

Pode especificar o campo resourceID no spec do recurso.

O manifesto seguinte descreve como especificar o campo resourceID para um tópico do Pub/Sub. O nome do recurso do Config Connector é pubsub-topic-sample e o nome do tópico do Pub/Sub é pubsub-topic-id.

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: pubsub-topic-sample
spec:
  resourceID: pubsub-topic-id

Criar um recurso com o campo resourceID

Google Cloud

Criar um conjunto de dados do BigQuery

Neste exemplo, cria um novo conjunto de dados do BigQuery com o Config Connector através do campo resourceID. O valor do campo resourceID deve seguir a convenção de nomenclatura do campo datasetId do conjunto de dados do BigQuery.

  1. Copie o seguinte conteúdo para um ficheiro com o nome bigquery-dataset.yaml.

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydataset-sample-for-creation
      spec:
        resourceID: bigquerydataset_sample_with_resourceid
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample with the ResourceID Field"
        friendlyName: bigquerydataset-sample-with-resourceid
        location: US
    
  2. Aplique o ficheiro YAML ao seu cluster.

    kubectl apply --namespace CC_NAMESPACE -f bigquery-dataset.yaml

    Substitua CC_NAMESPACE pelo espaço de nomes a partir do qual o Config Connector gere os recursos.

  3. Use kubectl describe para ver detalhes sobre o conjunto de dados.

    kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydataset-sample-for-creation

    Substitua CC_NAMESPACE pelo espaço de nomes a partir do qual o Config Connector gere os recursos.

Adquirir um recurso com o campo resourceID

Quando gere um Google Cloud recurso com o campo resourceID, o Config Connector adquire o recurso se:

  • O recurso tem um ID do recurso especificado pelo utilizador e os valores no manifesto e no nome do recurso correspondem a um recurso existente; ou
  • O recurso tem um ID do recurso gerado pelo serviço.

Adquirir uma pasta

Para adquirir uma pasta através do Config Connector com o campo resourceID, conclua os seguintes passos:

  1. Copie o seguinte conteúdo para um ficheiro com o nome folder.yaml.

        apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
        kind: Folder
        metadata:
          annotations:
            cnrm.cloud.google.com/organization-id: ORG_ID
            # Remove the deletion-policy annotation if it is safe to delete the
            # folder when the resource is deleted from your cluster.
            cnrm.cloud.google.com/deletion-policy: "abandon"
          name: folder-sample-for-acquisition
        spec:
          resourceID: ACQUIRED_FOLDER_ID
          displayName: ACQUIRED_FOLDER_DISPLAY_NAME
    

    Substitua o seguinte:

    • ORG_ID com o ID numérico da sua organização.
    • ACQUIRED_FOLDER_ID com o ID numérico da pasta a ser adquirida.
    • ACQUIRED_FOLDER_DISPLAY_NAME com o nome a apresentar da pasta a adquirir.
  2. Aplique o ficheiro YAML ao seu cluster.

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

    Substitua CC_NAMESPACE pelo espaço de nomes a partir do qual o Config Connector gere os recursos.

  3. Use kubectl describe para ver detalhes sobre a pasta.

    kubectl describe --namespace CC_NAMESPACE folder folder-sample-for-acquisition

    Substitua CC_NAMESPACE pelo espaço de nomes a partir do qual o Config Connector gere os recursos.

O que se segue?

Reveja a referência de recursos para saber mais sobre os recursos que o Config Connector suporta.