Implementação do Agente de criação de log v1.6.x para clusters OpenShift
Você pode usar um gráfico Helm para implementar o Agente de criação de log v1.6.x para coletar e rotear logs de infraestrutura e de aplicativos de um cluster OpenShift para uma instância IBM Cloud Logs.
Você também pode usar o Terraform IBM Modules (TIM) para Agente de criação de log para implantar e configurar o agente de logs em clusters OpenShift compatíveis. Este módulo automatiza a implementação baseada em Helm e as principais definições de configuração usando a automação da Infraestrutura como Código ( IaC ).
Conclua as etapas a seguir para implantar um agente em um cluster OpenShift:
Antes de Iniciar
-
Certifique-se de que você tenha acesso a um cluster Red Hat OpenShift on IBM Cloud (
OpenShift) com permissões para criar namespaces e implantar o agente. -
Instale as CLIs a seguir:
-
A CLI do IBM Cloud para fazer login no IBM Cloud e gerenciar os serviços do IBM Cloud, como a criação de uma chave de API.
-
A CLI do Openshift para gerenciar o cluster a partir da linha de comando. Saiba mais.
-
A versão mais recente da versão 3 do Helm CLI
-
-
Leia sobre o site Agente de criação de log.
-
Verifique as versões do agente que estão disponíveis. Para obter mais informações, consulte Verificação das versões disponíveis do agente. Observe que a versão do gráfico Helm corresponderá à versão do agente - por exemplo, se você estiver usando a versão 1.3.0 do agente, há um gráfico Helm com a versão 1.3.0 que acompanha essa versão.
Etapa 1. Definir o método de autenticação para o agente
Escolha o tipo de identidade e o método de autenticação para o agente. Em seguida, crie um perfil confiável ou uma chave de API. A função necessária para enviar os registros para IBM Cloud Logs é Sender.
Você pode usar uma ID de serviço ou um perfil confiável como a identidade usada pelo agente para se autenticar no serviço IBM® Cloud Logs. Para obter mais informações, consulte Concessão de permissões de IAM para ingestão.
Selecione uma das opções a seguir:
Opção 1: Autenticação usando um perfil confiável
Crie um perfil confiável. Para obter mais informações, consulte Geração de um perfil confiável para ingestão.
Opção 2: Autenticação usando uma chave de API de ID de serviço
Gerar uma chave de API para autenticação de ID de serviço. Para obter mais informações, consulte Geração de uma chave de API para ingestão.
Etapa 2. Configuração do arquivo de valores do gráfico Helm para o Agente de criação de log
Conclua as etapas a seguir:
-
Crie um arquivo chamado
logs-values.yamlcom o seguinte conteúdo:Esse arquivo contém as configurações específicas de sua implementação.
metadata: name: "logs-agent" image: version: "1.6.1" # required clusterName: "ENTER_CLUSTER_NAME" # Enter the name of your cluster. This information is used to improve the metadata and help with your filtering. env: # ingestionHost is a required field. For example: # ingestionHost: "<logs instance>.ingress.us-east.logs.cloud.ibm.com" ingestionHost: "" # required # If you are using private CSE proxy, then use port number "3443" # If you are using private VPE Gateway, then use port number "443" # If you are using the public endpoint, then use port number "443" ingestionPort: "" # required iamMode: "TrustedProfile" # trustedProfileID - trusted profile id - required for iam trusted profile mode trustedProfileID: "Profile-yyyyyyyy-xxxx-xxxx-yyyy-zzzzzzzzzzzz" # required if iamMode is set to TrustedProfile scc: # true here enables creation of Security Context Constraints in Openshift create: true -
Atualize os campos no arquivo yaml com valores específicos para seu ambiente.
Helm parâmetros necessários do gráfico Nome do campo Descrição image.versionA versão do agente a ser implantada , consulte a Etapa 1 clusterNameO nome do cluster - isso introduzirá a tag kubernetes.cluster_nameem todas as linhas de registroenv.ingestionHostO ponto de extremidade de entrada público ou privado da instância IBM Cloud Logs para receber os registros env.ingestionPortA porta do ponto de extremidade de entrada
Ponto de extremidade de entrada público =443
Ponto de extremidade de entrada privado (VPE) =443
Ponto de extremidade de entrada privado (CSE) =3443env.iamModeTrustedProfileouIAMAPIKeycom base no método de autenticação escolhido na Etapa 1env.trustedProfileIDSe iamModeforTrustedProfile, forneça a ID do perfil confiável; caso contrário, isso não será necessário (por exemplo:Profile-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).env.iamEnvironmentDetermina o ponto de extremidade de autenticação IAM correto. Os valores válidos são Production,PrivateProduction, ouCustom. Se omitido, o valor padrão éProduction.env.iamHostSe iamEnvironmentforCustom, forneça o host do IAM (por exemplo:private.eu-de.iam.cloud.ibm.com); caso contrário, isso não será necessário.scc.createDefina como truepara criar as restrições de segurança no Openshift
Etapa 3. Instale o gráfico Helm
Se você estiver usando o iamMode como IAMAPIKey, a apikey precisará estar presente em um segredo Kubernetes chamado logs-agent com o nome de chave IAM_API_KEY. O segredo pode ser criado usando
o gráfico Helm, incluindo a opção --set secret.iamAPIKey=<your iamAPIKey> ao executar a instalação do helm. Se o segredo tiver sido criado manualmente ou se você estiver usando iamMode=TrustedProfile, não inclua
essa opção.
Conclua as etapas a seguir:
-
Efetue login no cluster.
Red Hat OpenShift on IBM Cloud está integrado ao IBM Cloud Identity and Access Management (IAM). Com o IAM, é possível autenticar usuários e serviços usando suas identidades do IAM e autorizar ações com funções de acesso e políticas. Quando você se autentica como usuário por meio do console Red Hat OpenShift, sua identidade IAM é usada para gerar um token de login Red Hat OpenShift que pode ser usado para fazer login na linha de comando. É possível automatizar a criação de log em seu cluster criando uma chave de API do IAM ou um ID de serviço a ser usado para o comando
oc login. Para obter mais informações, consulte Acesso a clusters Red Hat OpenShift.Por exemplo, conclua as etapas em Usar uma ID de serviço para fazer login em clusters para fazer login em seu cluster.
-
Execute uma simulação de Helm para ver os recursos que serão criados pelo gráfico Helm.
Se estiver usando o
iamMode=TrustedProfile, o comando completo será:helm install <install-name> --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespaceSe estiver usando o
iamMode=IAMAPIKey, o comando completo será:helm install <install-name> --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<APIKey-value> --hide-secretem que:
<install-name>é o nome da instalação do Helm (logs-agent)<chart-version>é a versão do gráfico do leme. A versão do gráfico Helm deve corresponder à versão da imagem do agente. Para obter mais informações, consulte Helm chart versions.<PATH>é o caminho do diretório em que o arquivologs-values.yamlestá localizado.<APIKey-value>a chave API do IAM está associada à configuração ServiceID na Etapa 1- Adicione
--hide-secretpara ocultar a chave de API dos dados de saída após a execução do comando.
Se quiser inspecionar o conteúdo da carta do leme localmente, você pode fazer o download da carta do leme para o seu computador usando o comando:
helm pull oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version>. O arquivo tgz baixado contém o conteúdo do gráfico.Por exemplo, você pode executar o seguinte comando no diretório em que o arquivo
logs-values.yamlestá disponível:helm install logs-agent --dry-run oci://icr.io/ibm-observe/logs-agent-helm --version 1.6.0 --values ./logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<secret> --hide-secret -
Depois que os recursos a serem criados forem verificados, execute a instalação do Helm sem a opção
--dry-runSe estiver usando o
iamMode=TrustedProfile, o comando completo será:helm install <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespaceSe estiver usando o
iamMode=IAMAPIKey, o comando completo será:helm install <install-name> oci://icr.io/ibm-observe/logs-agent-helm --version <chart-version> --values <PATH>/logs-values.yaml -n ibm-observe --create-namespace --set secret.iamAPIKey=<APIKey-value>em que:
<install-name>é o nome da instalação do Helm (logs-agent)<chart-version>é a versão do gráfico do leme. A versão do gráfico Helm deve corresponder à versão da imagem do agente. Para obter mais informações, consulte Helm chart versions.<PATH>é o caminho do diretório em que o arquivologs-values.yamlestá localizado.<APIKey-value>a chave API do IAM está associada à configuração ServiceID na Etapa 1
Etapa 4. Verifique se o agente foi implantado com sucesso
Quando o agente for implantado, verifique se os seguintes recursos foram criados:
-
O espaço de nomes
ibm-observe.Para listar os namespaces no cluster, execute o seguinte comando:
oc get namespaceVocê também pode executar o seguinte comando para pesquisar o namespace
ibm-observe:oc get namespace | grep ibm-observe -
Um mapa de configuração
logs-agentno namespaceibm-observe.Execute o seguinte comando para visualizar os detalhes de configuração do agente.
oc get configmap logs-agent -n ibm-observeVocê também pode usar o seguinte comando:
oc describe configmaps logs-agent -n ibm-observe -
Um daemonset
logs-agentno namespaceibm-observe.Execute o seguinte comando para visualizar o conjunto de daemons:
oc get ds -n ibm-observe -
Recupere a lista de pods de agente usando o seguinte comando:
oc get pods -n ibm-observe -o wideNAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES logs-agent-4lwvt 1/1 Running 0 2d5h 172.17.61.181 192.168.16.4 <none> <none> logs-agent-g7z87 1/1 Running 0 2d5h 172.17.0.48 192.168.32.4 <none> <none> logs-agent-nw56s 1/1 Running 0 2d5h 172.17.32.232 192.168.0.10 <none> <none>A coluna
READYmostra1/1para todos os pods, com umSTATUSdeRunning. Verifique se um pod de agente está pronto para cada nó em seu cluster.Para verificar quantos workers estão disponíveis em seu cluster, você pode executar o seguinte comando:
oc get nodesNAME STATUS ROLES AGE VERSION 192.168.0.10 Ready master,worker 8d v1.20.0+558d959 192.168.32.4 Ready master,worker 8d v1.20.0+558d959 192.168.16.4 Ready master,worker 8d v1.20.0+558d959O número de itens em cada uma dessas duas listas precisa ser o mesmo, e você pode fazer a correspondência entre os endereços IP nos nomes dos nós e os valores na coluna
NODEda listagem de pods.Se os nós não forem nomeados pelo IP, você poderá acrescentar a opção
-o widee, em vez disso, comparar os valores na colunaINTERNAL-IP.Para visualizar os registros de um pod, execute
oc logs <POD_NAME>> -n ibm-observe
Etapa 5. Verifique se os logs estão sendo entregues ao seu destino de destino
Conclua as etapas a seguir:
-
Acesse a interface do usuário da Web para sua instância IBM Cloud Logs..
-
Quando o agente estiver configurado corretamente, você poderá ver os registros por meio da visualização padrão do painel. O Agente de criação de log marca os registros de log com um objeto kubernetes que inclui o nome do cluster.
kubernetes.cluster_name:<CLUSTER_NAME>Você pode executar a consulta
kubernetes.cluster_name:<YOUR_CLUSTER_NAME>na sua instância IBM Cloud Logs para pesquisar os logs gerados pelo seu cluster.