Atualizar a imagem do contêiner do atendente do CloudWatch - Amazon CloudWatch

Atualizar a imagem do contêiner do atendente do CloudWatch

Se você precisar atualizar a imagem do contêiner para a versão mais recente, use as etapas nesta seção.

Para atualizar a imagem de contêiner
  1. Aplique o arquivo cwagent-serviceaccount.yaml mais recente inserindo o comando a seguir.

    kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-serviceaccount.yaml
  2. Essa etapa é necessária apenas para clientes que atualizaram o atendente do CloudWatch conteineirizado de uma versão anterior à 1.226589.0, que foi lançada em 20 de agosto de 2019.

    No arquivo Configmap cwagentconfig, altere a palavra-chave structuredlogs para logs

    1. Primeiro, abra o cwagentconfig existente no modo de edição inserindo o comando a seguir.

      kubectl edit cm cwagentconfig -n amazon-cloudwatch

      No arquivo, se você vir a palavra-chave structuredlogs, altere-a para logs

    2. Insira wq para salvar o arquivo e sair do modo de edição.

  3. Aplique o arquivo cwagent-daemonset.yaml mais recente inserindo o comando a seguir.

    kubectl apply -f https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/cwagent/cwagent-daemonset.yaml

Você pode obter atualizações contínuas do DaemonSet do atendente do CloudWatch sempre que alterar a configuração em cwagent-configmap.yaml. Para fazer isso, você deve verificar se a seção .spec.template no arquivo cwagent-daemonset.yaml tem alterações. Caso contrário, o Kubernetes tratará o DaemonSet como inalterado. Uma prática comum é adicionar o valor de hash do ConfigMap no .spec.template.metadata.annotations.configHash, como no exemplo a seguir.

yq versão 4

$HASH=`kubectl get cm/cwagentconfig -n amazon-cloudwatch -o yaml | sha256sum` yq -i '.spec.template.metadata.annotations.configHash = strenv(HASH)' cwagent-daemonset.yaml
$cat cwagent-daemonset.yaml |grep Hash
$kubectl apply -f cwagent-daemonset.yaml

yq versão 3

yq w -i cwagent-daemonset.yaml spec.template.metadata.annotations.configHash $(kubectl get cm/cwagentconfig -n amazon-cloudwatch -o yaml | sha256sum)

Isso adiciona um valor de hash para o arquivo cwagent-daemonset.yaml, como no exemplo a seguir.

spec: selector: matchLabels: name: cloudwatch-agent template: metadata: labels: name: cloudwatch-agent annotations: configHash: 88915de4cf9c3551a8dc74c0137a3e83569d28c71044b0359c2578d2e0461825

Em seguida, execute o comando a seguir para obter a nova configuração.

kubectl apply -f cwagent-daemonset.yaml

Para obter mais informações sobre yq, consulte yq (em inglês).