Para ativar determinados recursos do Elastic Container Instance, adicione anotações aos pods. O arquivo de configuração eci-profile das elastic container instances oferece a capacidade ECI Effect, que adiciona anotações aos pods automaticamente. Este tópico descreve como configurar o eci-profile para incluir anotações nos pods ao utilizar o recurso ImageCache para acelerar a criação dessas unidades.
Descrição
Ao usar a capacidade ECI Effect do eci-profile, declare os rótulos de namespace ou de pod correspondentes em formato de array nos seletores do arquivo de configuração. Declare também as anotações relacionadas ao ImageCache para adicionar dinamicamente aos pods. Se um pod tiver os rótulos declarados, o sistema insere as anotações especificadas automaticamente.
Para mais informações, consulte Configurar um eci-profile.
A tabela a seguir descreve as anotações relacionadas ao ImageCache que você pode adicionar aos pods:
O código a seguir detalha os seletores.
selectors: |
[
{
"name":"demo", # Required. The name of the selector.
"namespaceSelector":{ # Optional. Namespace labels are matched.
"matchLabels":{ # The labels to be matched. If you specify multiple labels, the relationship between the labels is AND.
"app":"nginx"
}
},
"objectSelector":{ # Optional. Pod labels are matched.
"matchLabels":{ # The labels to be matched. If you specify multiple labels, the relationship between the labels is AND.
"type":"test"
}
},
"effect":{ # The annotations to be dynamically added.
"annotations":{
"k8s.aliyun.com/eci-auto-imc": "true"
}
}
}
]
Após configurar os seletores, execute o comando a seguir para verificar se eles estão ativos. Se o arquivo YAML retornado contiver os seletores configurados, a configuração estará válida. Caso contrário, verifique se a formatação dos seletores está correta.
kubectl get mutatingwebhookconfigurations -o yaml vk-webhook
Exemplo
Edite o arquivo de configuração eci-profile.
kubectl -n kube-system edit cm eci-profile
Adicione o conteúdo de exemplo a seguir aos seletores:
[
...
{
"name":"image-cache-selector-1",
"objectSelector":{
"matchLabels":{
"image-cache":"true"
}
},
"effect": {
"annotations": {
"k8s.aliyun.com/eci-imc-id": "imc-uf6ic***************"
}
}
},
{
"name":"image-cache-selector-2",
"namespaceSelector":{
"matchLabels":{
"image-cache":"true"
}
},
"effect": {
"annotations": {
"k8s.aliyun.com/eci-auto-imc": "true"
}
}
}
]
A configuração anterior contém dois seletores:
image-cache-selector-1: Se um pod tiver o rótulo
image-cache: true, o sistema adiciona automaticamente a anotação"k8s.aliyun.com/eci-imc-id": "imc-uf6ic***************"e usa o cache de imagem especificado para acelerar a criação do pod.image-cache-selector-2: Se um namespace tiver o rótulo
image-cache: true, o sistema insere automaticamente a anotação"k8s.aliyun.com/eci-auto-imc": "true"nos pods desse namespace e inicia a correspondência automática de caches de imagem.