Como fazer deploy Dynatrace OneAgent em Cluster GKE

O que é GKE?

O Google Kubernetes Engine (GKE) oferece um ambiente gerenciado para implantação, gerenciamento e escalonamento dos aplicativos em contêiner Docker usando a infraestrutura do Google. O ambiente do Kubernetes Engine consiste em várias máquinas agrupadas para formar um cluster. Os cluster do Kubernetes são fornecidos pelos sistema de gerenciamento de código aberto do Kubernetes.

Para fazer o deploy OneAgent em GKE baseado em cluster, siga as instruções abaixo:

Pré-requisitos

  • Ter uma conta no Google Cloud Plataform;
  • Ter instalado em seu computador Google Cloud SDK;
  • Após a instalação do Google Cloud SDK execute: gcloud components install kubectl para instalar o kubectl;
  • Caso seja seu primeiro acesso verifique se o Billing e API Kubernetes esta enable;
  • Imagem usada para criação do cluster foi Ubuntu.

Criando seu projeto no Google Cloud Plataform

1. Na plataforma do GCP, é necessário ter um projeto criado, para isso você precisa executar os comandos abaixo:

#Comando para criar o projeto;
$ gcloud projects create dynatrace-onx#Comando para definir o projeto criado como default
$ gcloud config set project dynatrace-onx

Criando Kubernetes Cluster

1. Para criar o Kubernetes cluster, execute os comandos abaixo:

# Criando um container cluster com o nome dynatrace-lab usando a imagem ubuntu
$gcloud container clusters create dynatrace-lab –image-type ubuntu –zone us-west1-b
Creating cluster dynatrace-lab…done.
Created
To inspect the contents of your cluster, go to
kubeconfig entry generated for dynatrace-lab.

2. Acesse o Dashboard do Google cloud Plataform e verifique se o cluster foi criado:

kubernetes_gke

3. Após validar a criação, conecte no cluster Kubernetes clicando em Connect, ele irá abrir um pop solicitando a execução de um comando, veja:

kubernetes_gke

Fazendo o Deploy Dynatrace OneAgent no Kubernetes

1. Na plataforma do Dynatrace vá em Deploy Dynatrace;
2. Clique em Start instalation e selecione Linux;
3. Copie a URL, mostrada abaixo. Isto é seu REPLACE_WITH_YOUR_URL.(guarde isso)

kuberntes_gke

4. Crie o arquivo dyatrace-oneagent.yml

$ cat <<- EOF > dynatrace-oneagent.yml
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
  name: dynatrace-oneagent
spec:
  template:
    metadata:
      labels:
        name: dynatrace-oneagent
    spec:
      hostPID: true
      hostIPC: true
      hostNetwork: true
      nodeSelector:
        beta.kubernetes.io/os: linux
      volumes:
      - name: host-root
        hostPath:
          path: /
      containers:
      - name: dynatrace-oneagent
        image: dynatrace/oneagent
        env:
        - name: ONEAGENT_INSTALLER_SCRIPT_URL
          value: "REPLACE_WITH_YOUR_URL"
        - name: ONEAGENT_INSTALLER_SKIP_CERT_CHECK
          value: "false"
        args:
        - "APP_LOG_CONTENT_ACCESS=1"
        volumeMounts:
        - name: host-root
          mountPath: /mnt/root
        securityContext:
          privileged: true
EOF

2. Faça o deploy do Dynatrace OneAgent usando o arquivo YAML criado e replique REPLACE_WITH_YOUR_URL. com a URL copiada e execute o comando abaixo:

$ kubectl create -f dynatrace-oneagent.yml –namespace=kube-system
daemonset “dynatrace-oneagent” created

3. Verifique se o daemonset foi criado com sucesso:

$ kubectl get pods –namespace=kube-system
NAME READY STATUS RESTARTS AGE
dynatrace-oneagent-abcde 1/1 Running 0 1m
$ kubectl logs -f dynatrace-oneagent-abcde
09:46:18 Deploying agent to /tmp/Dynatrace-OneAgent-Linux.sh via ..
09:46:24 Validating agent installer in /tmp/Dynatrace-OneAgent-Linux.sh
Verification successful
09:46:24 Started agent deployment as docker image, PID 1234.
09:46:24 Container version: 1.x
09:46:24 Checking root privileges…
09:46:24 OK
09:46:27 Installation started, version 1.x, build date: 01.01.2017, PID 1234….

⁴. Acesse a plataforma do Dynatrace na opção Docker ou Deployment Status, e irá aparecer a monitoração do Clusters:

kubernetes_gke

Fonte: Kubernetes engine overview
Fonte: How do i deploy dynatrace oneagent in gke based clusters
Fonte: How do i deploy dynatrace oneagent on kubernetes
Fonte: Creating a cluster

About: Bezaleel Ramos

Fundador da empresa Onx Solutions em Goiânia. Formado em Tecnologia em Redes de Computadores pela Universidade Nove de Julho em São Paulo. Possui certificações LPIC-1,LPIC-2, ZABBIX Certified Specialist,Novell Certified Linux Administrator (CLA) e Linux Administrator for SUSE Linux Enterprise.