Fornecer certificados SSL para monitoramento
A partir da versão de dezembro de 2021, os serviços de dados habilitados para Azure Arc permitem fornecer certificados SSL/TLS para os painéis de monitoramento. Você pode usar esses certificados para painéis de logs (Kibana) e métricas (Grafana).
É possível especificar o certificado ao criar um controlador de dados com:
- Extensão da
az
CLI doarcdata
Azure - Implantação nativa do Kubernetes
A Microsoft fornece arquivos de exemplo para criar os certificados no repositório GitHub /microsoft/azure_arc/.
Você pode clonar o arquivo localmente para acessar os arquivos de exemplo.
git clone https://github.com/microsoft/azure_arc
Os arquivos referenciados neste artigo estão no repositório em /arc_data_services/deploy/scripts/monitoring
.
Criar ou adquirir certificados apropriados
Você precisa de certificados apropriados para cada IU. Um para logs e outro para métricas. A tabela a seguir descreve os requisitos.
A tabela a seguir descreve os requisitos de cada certificado e chave.
Requisito | Certificado de logs | Certificado de métricas |
---|---|---|
CN | logsui-svc |
metricsui-svc |
SANs | Nenhum necessário | metricsui-svc.${NAMESPACE}.${K8S_DNS_DOMAIN_NAME} |
keyUsage | digitalsignature keyEncipherment |
digitalsignature keyEncipherment |
extendedKeyUsage | serverAuth |
serverAuth |
Observação
O padrão K8S_DNS_DOMAIN_NAME é svc.cluster.local
, embora possa ser diferente dependendo do ambiente e da configuração.
O diretório do repositório GitHub inclui arquivos de modelo de exemplo que identificam as especificações do certificado.
- /arc_data_services/deploy/scripts/monitoring/logsui-ssl.conf.tmpl
- /arc_data_services/deploy/scripts/monitoring/metricsui-ssl.conf.tmpl
O repositório GitHub de exemplos do Azure Arc fornece um exemplo que pode ser usado na geração de um certificado em conformidade e de uma chave privada para um ponto de extremidade.
Confira o código de /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.
Para usar o exemplo e criar certificados, atualize o comando a seguir com seu namespace
e o diretório para os certificados (output_directory
). Em seguida, execute o comando.
./create-monitor-tls-files.sh <namespace> <output_directory>
Isso cria certificados em conformidade no diretório.
Implantar com a CLI
Depois de ter o certificado/chave privada para cada ponto de extremidade, crie o controlador de dados com o comando az dc create...
.
Para aplicar seu próprio certificado/chave privada, use os argumentos a seguir.
--logs-ui-public-key-file <path\file to logs public key file>
--logs-ui-private-key-file <path\file to logs private key file>
--metrics-ui-public-key-file <path\file to metrics public key file>
--metrics-ui-private-key-file <path\file to metrics private key file>
Veja o seguinte exemplo, que cria um controlador de dados com certificados designados para os painéis da IU de logs e de métricas:
az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace <namespace> --use-k8s --name arc --subscription <subscription id> --resource-group <resource group name> --location <location> --connectivity-mode indirect --logs-ui-public-key-file <path\file to logs public key file> --logs-ui-private-key-file <path\file to logs private key file> --metrics-ui-public-key-file <path\file to metrics public key file> --metrics-ui-private-key-file <path\file to metrics private key file>
#Example:
#az arcdata dc create --profile-name azure-arc-aks-default-storage --k8s-namespace arc --use-k8s --name arc --subscription xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --resource-group my-resource-group --location eastus --connectivity-mode indirect --logs-ui-public-key-file /path/to/logsuipublickeyfile.pem --logs-ui-private-key-file /path/to/logsuiprivatekey.pem --metrics-ui-public-key-file /path/to/metricsuipublickeyfile.pem --metrics-ui-private-key-file /path/to/metricsuiprivatekey.pem
Você só pode especificar certificados quando inclui --use-k8s
na instrução az arcdata dc create ...
.
Implantar com ferramentas nativas do Kubernetes
Se você estiver usando as ferramentas nativas do Kubernetes para a implantação, crie segredos do Kubernetes que contenham os certificados e as chaves privadas. Crie os seguintes segredos:
logsui-certificiate-secret
metricsui-certificate-secret
.
Verifique se os serviços estão listados como SANs (nomes alternativos de entidade) e se os parâmetros de uso do certificado estão corretos.
- Verifique se cada segredo tem os seguintes campos:
certificate.pem
contendo o certificado codificado em Base64privatekey.pem
contendo a chave privada
Conteúdo relacionado
- Experimente Carregar métricas e logs no Azure Monitor
- Leia sobre o Grafana:
- Leia sobre o Kibana