Como gerenciar recursos com o campo resourceID
Nesta página, explicamos como gerenciar recursos com o campo resourceID
.
O Config Connector permite especificar explicitamente o ID do
recurso de um recurso do Google Cloud
usando o campo resourceID
imutável, mas opcional, para criar ou
adquirir o recurso. "Imutável, mas opcional" significa que é possível optar por
especificar ou não o campo resourceID
, mas não é possível fazer alterações no
valor do campo resourceID
depois de aplicar o manifesto ao cluster.
O campo resourceID
aumenta a flexibilidade da nomeação de um recurso do Google Cloud que tenha um ID de recurso especificado pelo usuário. Ao usar o campo resourceID
nos recursos do Config Connector, é possível definir vários recursos do Config Connector de mesmo tipo com o mesmo nome de recurso do Google Cloud em diferentes projetos, pastas, organizações ou recursos pai dentro do mesmo recurso namespace. O nome do recurso do Google Cloud é
também não são restringidas
convenção de nomenclatura
de um nome de objeto do Kubernetes. Além disso, o campo resourceID
permite a aquisição de um recurso do Google Cloud que tenha um ID de recurso gerado pelo serviço.
O Config Connector faz o namespace se tornar o "proprietário" de um recurso para evitar que ele
seja usado por outro proprietário. No entanto, se você estiver usando o campo resourceID
,
é possível que haja vários recursos com o mesmo nome de recurso do Google Cloud
criados no mesmo namespace. Esses recursos criam conflitos que o Config Connector
não pode gerenciar. É necessário
resolver conflitos manualmente.
Tipos de IDs de recursos
No Config Connector, os IDs de recursos podem ser especificados pelo usuário ou gerados pelo serviço.
- IDs de recursos especificados pelo usuário
- Um ID de recurso determinado, especificado e transmitido pelo usuário antes da criação do recurso. Você pode criar ou adquirir um recurso que tenha um ID de recurso especificado pelo usuário com o campo
resourceID
. - IDs de recursos gerados por serviços
- Um ID de recurso gerado pelo serviço durante a criação do recurso.
Ele pode ser recuperado pelo usuário após a criação do recurso. É possível adquirir um recurso que tem um ID de recurso gerado pelo serviço com o campo
resourceID
. Deixe o campo não especificado se você quiser criar um novo recurso que tenha um ID de recurso gerado pelo serviço. Veja a lista de recursos com um ID de recurso gerado pelo serviço.
Como especificar o campo resourceID
É possível especificar o campo resourceID
no spec
do recurso.
O manifesto a seguir 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
Como criar um recurso com o campo resourceID
Como criar um conjunto de dados do BigQuery
Neste exemplo, você cria um novo conjunto de dados do BigQuery usando o Config Connector com o campo resourceID
. O valor do campo resourceID
precisa seguir a convenção de nomenclatura do campo datasetId
do conjunto de dados do BigQuery.
Copie o conteúdo a seguir em um arquivo chamado
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
Aplique o arquivo YAML ao cluster.
kubectl apply --namespace CC_NAMESPACE -f bigquery-dataset.yaml
Substitua
CC_NAMESPACE
pelo namespace em que o Config Connector gerencia recursos.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 namespace em que o Config Connector gerencia recursos.
Como adquirir um recurso com o campo resourceID
Quando você gerencia um recurso do Google Cloud com o campo resourceID
, o Config Connector adquire esse recurso se:
- O recurso tiver um ID de recurso especificado pelo usuário, e os valores no manifesto e o nome do recurso corresponderem a um recurso existente. Ou,
- O recurso tiver um ID de recurso gerado por serviço.
Como adquirir uma pasta
Para adquirir uma pasta usando o Config Connector com o campo resourceID
, siga estas etapas:
Copie o conteúdo a seguir em um arquivo chamado
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:
ORG_ID
pelo ID numérico da sua organização;ACQUIRED_FOLDER_ID
pelo ID numérico da pasta a ser adquirida;ACQUIRED_FOLDER_DISPLAY_NAME
pelo nome de exibição da pasta a ser adquirida.
Aplique o arquivo YAML ao cluster.
kubectl apply --namespace CC_NAMESPACE -f folder.yaml
Substitua
CC_NAMESPACE
pelo namespace em que o Config Connector gerencia recursos.Use
kubectl describe
para ver detalhes na pasta.kubectl describe --namespace CC_NAMESPACE folder folder-sample-for-acquisition
Substitua
CC_NAMESPACE
pelo namespace em que o Config Connector gerencia recursos.
A seguir
Revise a Referência de recurso para aprender sobre os recursos aceitos pelo Config Connector.