Fornecer certificados SSL para monitoramento
A partir da versão de dezembro de 2021, os serviços de dados habilitados para Arco do Azure permitem que você forneça certificados SSL/TLS para os painéis de monitoramento. Você pode usar esses certificados para painéis de logs (Kibana) e métricas (Grafana).
Você pode especificar o certificado ao criar um controlador de dados com:
- Extensão da CLI
arcdata
do Azureaz
- Implantação nativa do Kubernetes
A Microsoft fornece arquivos de exemplo para criar os certificados no repositório /microsoft/azure_arc/ GitHub.
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 interface do usuário. Um para logs e outro para métricas. A tabela a seguir descreve os requisitos.
A tabela a seguir descreve os requisitos para cada certificado e chave.
Necessidade | 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 |
Nota
O K8S_DNS_DOMAIN_NAME padrão é svc.cluster.local
, embora possa diferir 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 você pode usar para gerar um certificado compatível e uma chave privada para um ponto de extremidade.
Consulte o código de /arc_data_services/deploy/scripts/monitoringcreate-monitoring-tls-files.sh.
Para usar o exemplo para criar certificados, atualize o comando a seguir com o seu namespace
e o diretório dos certificados (output_directory
). Em seguida, execute o comando.
./create-monitor-tls-files.sh <namespace> <output_directory>
Isso cria certificados compatíveis no diretório.
Implantar com CLI
Depois de ter o certificado/chave privada para cada ponto de extremidade, crie o controlador de dados com az dc create...
o comando.
Para aplicar seu próprio certificado/chave privada, use os seguintes argumentos.
--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>
Por exemplo, o exemplo a seguir cria um controlador de dados com certificados designados para os painéis de interface do usuário de logs e 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 incluir --use-k8s
na az arcdata dc create ...
instrução.
Implante com ferramentas nativas do Kubernetes
Se você estiver usando ferramentas nativas do Kubernetes para implantar, 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 nomes alternativos de assunto (SANs) 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 BASE64privatekey.pem
contendo a chave privada
Conteúdos relacionados
- Experimente Carregar métricas e logs no Azure Monitor
- Leia sobre Grafana:
- Leia sobre Kibana