Explorar contêineres nos Aplicativos de Contêiner do Azure
Os Aplicativos de Contêiner do Azure gerenciam os detalhes do Kubernetes e orquestração de contêineres para você. Os contêineres nos Aplicativos de Contêiner do Azure podem usar o runtime, a linguagem de programação ou a pilha de desenvolvimento de sua preferência.
Os Aplicativos de Contêiner do Azure dão suporte a qualquer imagem de contêiner x86-64 baseada em Linux (linux/amd64
). Não há nenhuma imagem de contêiner base necessária e, se um contêiner falhar, ele será reiniciado automaticamente.
Configuração
O código a seguir está 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 modelo do ARM 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 de contêiner para implementar o padrão sidecar. Os contêineres em um aplicativo de contêiner compartilham disco rígido e recursos de rede e têm o mesmo ciclo de vida do aplicativo.
Exemplos de contêineres sidecar incluem:
- Um agente que lê os logs do contêiner do aplicativo primário em um volume compartilhado e os encaminha para um serviço registrar em log.
- Um processo em segundo plano que atualiza um cache usado pelo contêiner de aplicativo primário em um volume compartilhado.
Observação
A execução de 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 as 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 a adição de informações do registro, as credenciais salvas podem ser usadas para extrair uma imagem de contêiner do registro privado quando o aplicativo é implantado.
Limitações
Os Aplicativos de Contêiner do Azure têm as seguintes limitações:
- Contêineres com privilégios: os Aplicativos de Contêiner do Azure não podem executar contêineres com privilégios. Se o programa tentar executar um processo que requer acesso raiz, o aplicativo dentro do contêiner apresentará um erro de runtime.
- Sistema operacional: são necessárias imagens de contêiner baseadas em Linux (
linux/amd64
).