Explorar contêineres nos Aplicativos de Contêiner do Azure
Os Aplicativos de Contêiner do Azure gerenciam os detalhes do Kubernetes e da orquestração de contêineres para você. Os contêineres nos Aplicativos de Contêiner do Azure podem usar qualquer tempo de execução, linguagem de programação ou pilha de desenvolvimento à sua escolha.
Os Aplicativos de Contêiner do Azure dão suporte a qualquer imagem de contêiner x86-64 (linux/amd64
) baseada em Linux. Não há nenhuma imagem de contêiner base necessária e, se um contêiner falhar, ela será reiniciada automaticamente.
Configuração
O código a seguir é um exemplo da matriz containers
na seção properties.template
de um modelo de recurso de aplicativo de contêiner. O trecho mostra algumas das opções de configuração disponíveis ao configurar um contêiner ao usar modelos do ARM (Azure Resource Manager). As alterações na seção de configuração do ARM do modelo disparam uma nova revisão do aplicativo de contêiner.
"containers": [
{
"name": "main",
"image": "[parameters('container_image')]",
"env": [
{
"name": "HTTP_PORT",
"value": "80"
},
{
"name": "SECRET_VAL",
"secretRef": "mysecret"
}
],
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myfiles",
"volumeName": "azure-files-volume"
}
]
"probes":[
{
"type":"liveness",
"httpGet":{
"path":"/health",
"port":8080,
"httpHeaders":[
{
"name":"Custom-Header",
"value":"liveness probe"
}]
},
"initialDelaySeconds":7,
"periodSeconds":3
// file is truncated for brevity
Vários contêineres
Você pode definir vários contêineres em um único aplicativo para implementar o padrão sidecar . Os contêineres em um aplicativo de contêiner compartilham recursos de disco rígido e rede e experimentam o mesmo ciclo de vida do aplicativo.
Exemplos de contêineres sidecar incluem:
- Um agente que lê logs do contêiner do aplicativo principal em um volume compartilhado e os encaminha para um serviço de logs.
- Um processo em segundo plano que atualiza um cache usado pelo contêiner do aplicativo primário em um volume compartilhado.
Nota
Executar vários contêineres em um único aplicativo de contêiner é um caso de uso avançado. Na maioria das situações em que você deseja executar vários contêineres, como ao implementar uma arquitetura de microsserviço, implante cada serviço como um aplicativo de contêiner separado.
Para executar vários contêineres em um aplicativo de contêiner, adicione mais de um contêiner na matriz de contêineres do modelo de aplicativo de contêiner.
Registros de contêiner
Você pode implantar imagens hospedadas em registros privados fornecendo credenciais na configuração de Aplicativos de Contêiner.
Para usar um registro de contêiner, defina os campos necessários na matriz de registros na seção properties.configuration do modelo de recurso do aplicativo de contêiner. O campo passwordSecretRef identifica o nome do segredo no nome da matriz de segredos em que você definiu a senha.
{
...
"registries": [{
"server": "docker.io",
"username": "my-registry-user-name",
"passwordSecretRef": "my-password-secret-name"
}]
}
Com as informações do Registro adicionadas, as credenciais salvas podem ser usadas para extrair uma imagem de contêiner do registro privado quando seu aplicativo é implantado.
Limitações
Os Aplicativos de Contêiner do Azure têm as seguintes limitações:
- Contêineres privilegiados: Os Aplicativos de Contêiner do Azure não podem executar contêineres privilegiados. Se o programa tentar executar um processo que exija acesso raiz, o aplicativo dentro do contêiner sofrerá um erro de runtime.
-
o sistema operacional: imagens de contêiner baseadas em Linux (
linux/amd64
) são necessárias.