IBM Cloud Docs
Referenciando segredos e configmaps com variáveis de ambiente (CLI)

Referenciando segredos e configmaps com variáveis de ambiente (CLI)

Em Code Engine, depois de criar segredos e configmaps, as informações armazenadas como pares de valores-chave podem ser consumidas pelo aplicativo, trabalho ou carga de trabalho da função como uma variável de ambiente, fazendo referência ao segredo ou configmap completo ou a chaves individuais.

Trabalhar com segredos como variáveis de ambiente é semelhante a trabalhar com configmaps como variáveis de ambiente. Ao trabalhar com segredos, os dados são codificados.

Considere as seguintes informações ao atualizar um aplicativo, trabalho ou função que tenha uma variável de ambiente que faça referência a configmaps ou segredos.

Quando você atualiza um aplicativo, trabalho ou função que tem uma variável de ambiente que faz referência completa a um configmap (ou segredo) para fazer referência completa a um configmap (ou segredo) diferente, as referências completas substituem outras referências completas na ordem em que são definidas (o último conjunto referenciado substitui o primeiro conjunto).

Quando você atualiza um aplicativo, trabalho ou função que tem uma variável de ambiente que faz referência a uma chave em um configmap (ou segredo) para fazer referência à mesma chave em um configmap (ou segredo) diferente, a última chave referenciada é usada.

Quando você atualiza um aplicativo, um trabalho ou uma função que tem uma variável de ambiente que faz referência completa a um configmap (ou segredo) para adicionar uma referência a uma chave específica, a referência da chave específica substitui a referência completa do configmap (ou segredo).

Para obter informações básicas sobre como fazer referência aos configmaps ou segredos com a CLI, consulte Fazendo referência aos configmaps com a CLI e Fazendo referência aos segredos com a CLI.

Os cenários a seguir podem ser concluídos para segredos ou mapas de configuração.

Referenciando um segredo completo com a CLI

Os segredos e configmaps são compostos de pares chave-valor. As variáveis de ambiente são o resultado do fornecimento de uma entrada por chave ao referenciar o configmap ou segredo completo. Se vários segredos (ou configmaps) contêm a mesma chave nomeada, você apenas obtém uma das chaves no segredo ou configmap referenciado.

Nesse cenário, crie um segredo que contém pares chave-valor para um nome do usuário e uma senha e referencie o segredo integral ao executar uma tarefa. É possível atualizar o segredo para incluir uma nova chave e demonstrar o uso da nova chave em uma tarefa. Embora esse cenário use um segredo, é possível usar as mesmas etapas para referenciar totalmente um mapa de configuração, substituindo configmap por secret nos comandos.

  1. Crie o segredo mydatabasesec e especifique os pares chave-valor para um nome do usuário e uma senha usando a opção --from-literal.

    ibmcloud ce secret create -n mydatabasesec --from-literal username=reader --from-literal password=abcd
    
  2. Visualize detalhes sobre o segredo mydatabasesec usando o comando secret get. Os valores para as chaves password e username do segredo são codificados.

    ibmcloud ce secret get -n mydatabasesec
    

    Saída de exemplo

    Getting generic secret 'mydatabasesec'...
    OK
    
    Name:          mydatabasesec
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           17s
    Created:       2020-10-14 14:07:59 -0400 EDT
    
    Data:
    ---
    password: YWJjZA==
    username: cmVhZGVy
    
  3. Configure uma variável de ambiente em uma tarefa para referenciar o segredo completo mydatabasesec. Neste exemplo, vamos usar a opção --env-from-secret PREFIX=NAME em que o PREFIX=NAME especifica para referenciar o configmap completo em que cada chave é prefixada com PREFIX. Ao usar o prefixo read_, cada chave é prefixada com read_. Como a imagem busybox não imprime nenhuma saída por padrão, a opção de comando -c env especifica para imprimir todas as variáveis de ambiente no contêiner.

    ibmcloud ce job create -n demo -i busybox -c env --env-from-secret read_=mydatabasesec
    

    Considere usar um prefixo para ajudar a certificar-se de que todas as variáveis de ambiente em sua tarefa ou app são exclusivas. Por exemplo, se você tiver um segredo com chaves, a, b e c, essas variáveis de ambiente serão exibidas como a, b e c. No entanto, se você incluir um prefixo como read_, as teclas serão exibidas com o prefixo, como read_a, read_b e read_c. O uso de um prefixo também agrupa suas variáveis de ambiente no app, tarefa ou jobrun de referência e ajuda a evitar duplicatas de chaves em configmaps ou segredos.

  4. (Opcional) Visualize os detalhes da tarefa demo. A saída exibe a referência integral para o segredo mydatabasesec.

    ibmcloud ce job get -n demo
    

    Saída de exemplo

    Getting job 'demo'...
    OK
    
    Name:          demo
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           6s
    Created:      2022-05-04T15:04:16-04:00
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name                   Value
        Secret full reference  read_=mydatabasesec
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  5. Execute uma tarefa que use a configuração da tarefa demo.

    ibmcloud ce jobrun submit --name demo1 --job demo
    
  6. Exibir os logs da execução da tarefa. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Neste exemplo, exiba os logs da execução da tarefa demo1. Observe na saída do log que as chaves do segredo completo mydatabasesec são exibidas com o prefixo read_. Os valores secretos são incluídos no ambiente decodificado.

    ibmcloud ce jobrun logs --jobrun demo1
    

    Saída de exemplo

    Getting logs for all instances of job run 'demo1'...
    Getting jobrun 'demo1'...
    Getting instances of jobrun 'demo1'...
    [...]
    
    HOSTNAME=demo1-0-0
    read_username=reader
    read_password=abcd
    JOB_INDEX=0
    CE_SUBDOMAIN=8aaon2dfwa0
    CE_JOBRUN=demo1
    [...]
    
  7. Atualize o segredo mydatabasesec para incluir uma chave usando a opção --from-file. Esta opção usa o formato --from-file FILE ou --from-file KEY=FILE. No comando a seguir, certificate é a chave e cert.pem é o nome do arquivo.

    ibmcloud ce secret update -n mydatabasesec --from-file certificate=cert.pem
    
  8. Visualize detalhes sobre o segredo mydatabasesec atualizado usando o comando secret get. O segredo agora contém três chaves, certificate, password e username. Os valores secretos são codificados.

    ibmcloud ce secret get -n mydatabasesec
    

    Saída de exemplo

    Getting generic secret 'mydatabasesec'...
    OK
    
    Name:          mydatabasesec
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           4m13s
    Created:       2020-10-14 13:35:43 -0400 EDT
    
    Data:
    ---
    certificate: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tLS0tDQphc2RmO2Frc2pkZmxrYWpzZGZsa2phc2xka2ZqYWxza2RqZmxha3NqZGZsaw0KLS0tLS1FTkQgQ0VSVEZJQ0lBVEUtLS0tLS0tLS0t
    password: YWJjZA==
    username: cmVhZGVy
    
  9. Execute uma tarefa que use a tarefa demo. Anteriormente, você referenciou o segredo completo mydatabasesec da tarefa demo. Para que uma tarefa use o segredo atualizado com o par chave-valor certificate incluído, envie uma nova execução da tarefa. Para atualizar um app para usar o segredo atualizado, reinicie o app.

    ibmcloud ce jobrun submit --name demo2 --job demo
    
  10. Exiba os logs da execução da tarefa usando o comando ibmcloud ce jobrun logs. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Para exibir os logs de uma instância específica da execução da tarefa, use a opção --instance com o comando jobrun logs. Se necessário, use o comando jobrun get --name demo2 para exibir detalhes desta execução da tarefa, incluindo as suas instâncias. Neste exemplo, exiba os logs da instância em execução de demo2-0-0, em que demo2 é o nome da execução da tarefa, 0 é o arrayindex e 0 é o retryindex. Observe na saída que as chaves certificate, username e password do segredo completo mydatabasesec são exibidas. Os valores secretos são incluídos no ambiente decodificado.

ibmcloud ce jobrun logs --instance demo2-0-0

Saída de exemplo

Getting logs for job run instance 'demo2-0-0'...
[...]

read_certificate=-----BEGIN CERTIFICATE--------
asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
-----END CERTFICIATE----------
read_password=abcd
read_username=reader

Referenciando chaves individuais de um mapa de configuração com a CLI

Neste cenário, vamos criar um mapa de configuração contendo diversos pares chave-valor e, em seguida, referenciar chaves específicas em uma tarefa. Embora esse cenário use um mapa de configuração, é possível usar as mesmas etapas gerais para referenciar chaves individuais com um segredo substituindo secret para configmap nos comandos.

  1. Crie o mapa de configuração mydatabase e especifique os pares chave-valor para um nome e uma URL usando a opção --from-literal KEY=VALUE.

    ibmcloud ce configmap create -n mydatabasecm --from-literal name=myname --from-literal url=myurl
    
  2. Visualize detalhes sobre o mapa de configuração mydatabasecm usando o comando configmap get.

    ibmcloud ce configmap get -n mydatabasecm
    

    Saída de exemplo

    Getting configmap 'mydatabasecm'...
    OK
    
    Name:          mydatabasecm
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           16s
    Created:       2020-10-14 13:31:19 -0400 EDT
    
    Data:
    ---
    name: myname
    url: myurl
    
  3. Configure uma variável de ambiente em uma tarefa para referenciar a chave url no mapa de configuração mydatabasecm. Use a opção --env-from-configmap NAME:KEY_A,KEY_B, em que NAME:KEY_A especifica para referenciar o KEY_A do mapa de configuração.

    ibmcloud ce job create --name keydemo --image busybox --command env --env-from-configmap mydatabasecm:url
    
  4. Execute uma tarefa que use a tarefa keydemo.

    ibmcloud ce jobrun submit --name keydemo1 --job keydemo
    
  5. Exiba os logs da execução da tarefa usando o comando ibmcloud ce jobrun logs. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Para exibir os logs de uma instância específica da execução da tarefa, use a opção --instance com o comando jobrun logs. Se necessário, use o comando jobrun get --name keydemo1 para exibir detalhes desta execução da tarefa, incluindo as suas instâncias. Observe na saída que url é a única chave referenciada e que a chave name não é referenciada pela tarefa.

    ibmcloud ce jobrun logs --instance keydemo1-0-0
    

    Saída de exemplo

    Getting logs for job run instance 'keydemo1-0-0'...
    [...]
    
    url=myurl
    [...]
    

Substituindo referências com a CLI

É possível substituir segredos e mapas de configuração referenciados. Os cenários a seguir podem ser concluídos para segredos ou mapas de configuração.

Cenário A. Substituir um segredo totalmente referenciado por outro segredo totalmente referenciado

Neste cenário, vamos criar um novo segredo mydatabasesec-writer com as chaves username e password e, em seguida, substituir as chaves username e password no segredo mydatabasesec criado anteriormente. O segredo mydatabasesec contém as chaves username=reader e password=abcd.

As referências completas substituem outras referências completas de acordo com sua configuração (o último conjunto referenciado substitui o primeiro conjunto).

  1. Configure uma variável de ambiente na tarefa writerjob para referenciar o segredo completo mydatabasesec, que foi criado anteriormente. O segredo mydatabasesec contém as chaves username=reader e password=abcd.

    ibmcloud ce job create -n writerjob -i busybox -c env --env-from-secret mydatabasesec
    
  2. (Opcional) Visualize os detalhes da tarefa writerjob. A saída exibe a referência integral para o segredo mydatabasesec.

    ibmcloud ce job get -n writerjob
    

    Saída de exemplo

    Getting job 'writerjob'...
    OK
    
    Name:          writerjob
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           17s
    Created:       2021-02-12T07:12:08-06:00
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name           Value  
        Secret full reference  mydatabasesec    
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  3. Execute uma tarefa que use a tarefa writerjob.

    ibmcloud ce jobrun submit --name writerjob1 --job writerjob
    
  4. Exibir os logs da execução da tarefa. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Neste exemplo, exiba os logs da execução da tarefa writerjob1. Observe na saída que as chaves username e password do segredo completo mydatabasesec são exibidas. Os valores secretos são incluídos no ambiente decodificado.

    ibmcloud ce jobrun logs --jobrun writerjob1
    

    Saída de exemplo

    Getting jobrun 'writerjob1'...
    Getting instances of jobrun 'writerjob1'...
    Getting logs for all instances of job run 'writerjob1'...
    OK
    [...]
    
    certificate=-----BEGIN CERTIFICATE--------
    asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
    -----END CERTFICIATE----------
    password=abcd
    username=reader
    [...]
    
  5. Crie o segredo mydatabasesec-writer e especifique os pares chave-valor para um nome do usuário e uma senha usando a opção --from-literal.

    ibmcloud ce secret create --name mydatabasesec-writer --from-literal username=writer --from-literal password=wxyz
    
  6. Visualize detalhes sobre o segredo mydatabasesec-writer usando o comando secret get. Os valores para as chaves password e username do segredo são codificados.

    ibmcloud ce secret get -n mydatabasesec-writer
    

    Saída de exemplo

    Getting generic secret 'mydatabasesec-writer'...
    OK
    
    Name:          mydatabasesec-writer
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           14s
    Created:       2020-10-14 13:44:16 -0400 EDT
    
    Data:
    ---
    password: d3h5eg==
    username: d3JpdGVy
    
  7. Atualize a tarefa writerjob para referenciar o segredo completo do mydatabasesec-writer e use o prefixo write_.

    ibmcloud ce job update --name writerjob --env-from-secret write_=mydatabasesec-writer
    
  8. (Opcional) Visualize detalhes da tarefa writerjob atualizada. A tarefa referencia totalmente os segredos mydatabasesec e mydatabase-writer.

    ibmcloud ce job get -n writerjob
    

    Saída de exemplo

    Getting job 'writerjob'...
    OK
    
    Name:          writerjob
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           4m2s
    Created:       2021-02-12T07:12:08-06:00
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name                          Value  
        Secret full reference  mydatabasesec           
        Secret full reference  write_=mydatabasesec-writer   
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  9. Execute uma tarefa que use a tarefa writerjob. Como a tarefa writerjob foi atualizada para referenciar tanto o segredo mydatabasesec quanto o segredo mydatabasesec-writer e ambos incluem chaves para username e password, o último mydatabasesec-writer completo referenciado substitui o mydatabasesec.

    Execute uma nova tarefa para que uma execução de tarefa use a configuração atualizada dela com as atualizações em seus segredos totalmente referenciados. Para atualizar um app para usar o segredo atualizado, reinicie o app.

    ibmcloud ce jobrun submit --name writerjob2 --job writerjob
    
  10. Exiba os logs da execução da tarefa usando o comando ibmcloud ce jobrun logs. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Para exibir os logs de todas as instâncias de uma tarefa, use a opção --jobrun com o comando jobrun logs. Para exibir os logs de uma instância específica da execução da tarefa, use a opção --instance com o comando jobrun logs. Se necessário, use o comando jobrun get --name writerjob2 para exibir detalhes desta execução da tarefa, incluindo as suas instâncias. Observe na saída que as chaves username e password do segredo mydatabasesec-writer substituíram as chaves do segredo mydatabasesec. Também, na saída do log, as chaves do segredo completo do mydatabasesec-writer são exibidas com o prefixo write_. Os valores do segredo são incluídos no ambiente decodificado.

ibmcloud ce jobrun logs --instance writerjob2-0-0

Saída de exemplo

Getting logs for job run instance 'writerjob2-0-0'...
[...]

certificate=-----BEGIN CERTIFICATE--------
asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
-----END CERTFICIATE----------
password=abcd
username=reader
write_password=wxyz
write_username=writer
[...]

Cenário B. Substituir um segredo totalmente referenciado por uma referência de chave

As referências a uma chave em um segredo ou um mapa de configuração sempre substituem uma referência completa a um segredo ou um mapa de configuração quando a chave usada reside em um segredo ou um mapa de configuração totalmente referenciado, sem considerar a ordem.

Neste cenário, vamos usar os segredos mydatabasesec e mydatabasesec-writer criados anteriormente e as chaves de referência dentro dos segredos de uma tarefa.

  1. Configure uma variável de ambiente em uma tarefa writerpic para referenciar chaves específicas nos segredos mydatabasesec e mydatabasesec-writer. O segredo mydatabasesec contém as chaves username=reader, password=abcd e certificate=cert.pem. O segredo mydatabasesec-writer contém as chaves username=writer e password=wxyz.

    ibmcloud ce job create -n writerpick -i busybox -c env --env-from-secret mydatabasesec-writer:username --env-from-secret mydatabasesec-writer:password --env-from-secret mydatabasesec
    
  2. (Opcional) Visualize os detalhes da tarefa writerpick. A saída exibe a referência completa para o segredo mydatabasesec e a referência de chave para as chaves password e username do segredo mydatabasesec-writer.

    ibmcloud ce job get -n writerpick
    

    Saída de exemplo

    Getting job 'writerpick'...
    OK
    
    Name:          writerpick
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           107s
    Created:       2021-02-12T07:16:46-06:00  
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                   Name           Value  
        Secret full reference  mydatabasesec    
        Secret key reference   password       mydatabasesec-writer.password  
        Secret key reference   username       mydatabasesec-writer.username  
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  3. Execute uma tarefa que use a tarefa writerpick.

    ibmcloud ce jobrun submit --name writerpick1 --job writerpick
    
  4. Exiba os logs da execução da tarefa writerpick1 usando o comando ibmcloud ce jobrun logs. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Para exibir os logs de uma instância específica da execução da tarefa, use a opção --instance com o comando jobrun logs. Se necessário, use o comando jobrun get --name writerpick1 para exibir detalhes desta execução da tarefa, incluindo as suas instâncias. Como a tarefa writerpick foi atualizada para referenciar chaves específicas no segredo mydatabasesec-writer e para referenciar o segredo completo mydatabasesec, a referência às chaves username e password no segredo mydatabasesec-writer substitui a referência ao segredo completo. Os valores secretos são incluídos no ambiente decodificado.

    ibmcloud ce jobrun logs --instance writerpick1-0-0
    

    Saída de exemplo

    Getting logs for job run instance 'writerpick1-0-0'...
    [...]
    
    username=writer
    certificate=-----BEGIN CERTIFICATE--------
    asdf;aksjdflkajsdflkjasldkfjalskdjflaksjdflk
    -----END CERTFICIATE----------
    password=wxyz
    [...]
    

Cenário C. Substituir referências de chave por novas chaves

É possível atualizar a referência a uma chave específica em um segredo ou um mapa de configuração e substituir o valor por um novo valor.

Neste cenário, vamos usar o mapa de configuração mydatabasecm criado anteriormente, que contém a chave url:myurl para atualizar o valor da chave.

  1. Configure uma variável de ambiente em uma tarefa keyref para referenciar uma chave específica no mapa de configuração mydatabasecm.

    ibmcloud ce job create -n keyref -i busybox -c env --env-from-configmap mydatabasecm:url
    
  2. (Opcional) Visualize os detalhes da tarefa keyref. A saída exibe a referência de chave para a chave url no mapa de configuração mydatabasecm.

    ibmcloud ce job get -n keyref
    

    Saída de exemplo

    Getting job 'keyref'...
    OK
    
    Name:          keyref
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           65s
    Created:       2021-02-12T07:18:44-06:00  
    [...]
    
    Commands:                 
        env  
    Environment Variables:    
        Type                     Name  Value  
        ConfigMap key reference  url   mydatabasecm.url  
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    
  3. Execute uma tarefa que use a tarefa keyref.

    ibmcloud ce jobrun submit --name keyref1 --job keyref
    
  4. Exiba os logs de uma instância em execução da execução da tarefa keyref1 usando o comando ibmcloud ce jobrun logs. É possível exibir logs de todas as instâncias de uma execução de tarefa ou exibir logs de uma instância específica de uma execução de tarefa. Para exibir os logs de uma instância específica da execução da tarefa, use a opção --instance com o comando jobrun logs. Se necessário, use o comando jobrun get --name keyref1 para exibir detalhes desta execução da tarefa, incluindo as suas instâncias. A execução da tarefa usou a referência de chave url=myurl.

    ibmcloud ce jobrun logs --instance keyref1-0-0
    

    Saída de exemplo

    Getting logs for job run instance 'keyref1-0-0'...
    [...]
    
    url=myurl
    [...]
    
  5. Atualize a tarefa keyref para substituir a url=myurl por uma nova chave. Use a opção --env para atualizar a chave url. A opção --env no comando job update configura variáveis de ambiente para a tarefa em formato NAME=VALUE.

    ibmcloud ce job update --name keyref --env url=newurl  
    
  6. (Opcional) Visualize os detalhes da tarefa keyref. A saída exibe a referência de chave para a chave url no mapa de configuração mydatabasecm.

    ibmcloud ce job get -n keyref
    

    Saída de exemplo

    Getting job 'keyref'...
    OK
    
    Name:          keyref
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           3m6s
    Created:       2021-02-12T07:18:44-06:00  
    
    Commands:                 
        env  
    Environment Variables:    
        Type     Name  Value  
        Literal  url   newurl  
    Image:                  busybox  
    Resource Allocation:      
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    

Como remover segredos ou configmaps completamente referenciados com a CLI

É possível remover um segredo ou um mapa de configuração totalmente referenciado por meio de uma tarefa ou um app.

Neste cenário, vamos remover o segredo mydatabasesec totalmente referenciado da tarefa demo.

  1. Atualize a tarefa demo para remover a referência ao segredo mydatabasesec.

    ibmcloud ce job update -n demo --env-from-secret-rm mydatabasesec
    
  2. Visualize os detalhes da tarefa demo. A saída ilustra que a referência ao segredo mydatabasesec foi removida.

    ibmcloud ce job get -n demo
    

    Saída de exemplo

    Getting job 'demo'...
    OK
    
    Name:          demo
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           19m
    Created:       2021-02-12T07:05:23-06:00  
    [...]
    
    Commands:               
        env  
    Image:                busybox    
    Resource Allocation:    
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3
    

Removendo referências de chave com a CLI

É possível remover uma chave referenciada em um segredo ou um mapa de configuração por meio de uma tarefa ou um app.

Neste cenário, vamos remover a chave url da tarefa keyref.

Embora a opção --env-from-configmap tenha sido usada em uma tarefa para referenciar a chave url no mapa de configuração mydatabasecm, é possível usar a opção --env-rm para remover chaves individuais. É possível usar a opção --env-rm com os comandos job update ou app update para remover referências de chave, independentemente de as chaves serem referências de chave individuais em um segredo ou um mapa de configuração ou de as chaves terem sido configuradas diretamente em uma tarefa ou um app com a opção --env.

  1. Atualize a tarefa keydef para remover a referência à chave url.

    ibmcloud ce job update --name keyref --env-rm url
    
  2. Visualize os detalhes da tarefa keyref. A saída ilustra que a referência à chave url foi removida.

    ibmcloud ce job get -n keyref
    

    Saída de exemplo

    Getting job 'keyref'...
    OK
    
    Name:          keyref
    ID:            abcdefgh-abcd-abcd-abcd-1a2b3c4d5e6f
    Project Name:  myproject
    Project ID:    01234567-abcd-abcd-abcd-abcdabcd1111
    Age:           6m27s
    Created:       2021-02-12T07:18:44-06:00  
    [...]
    
    Commands:               
        env  
    Image:                busybox  
    Resource Allocation:    
        CPU:     1  
        Memory:  4G  
    
    Runtime:
        Mode:                  task
        Array Indices:         0
        Array Size:            1
        Max Execution Time:    7200
        Retry Limit:           3