Esta página aún no está disponible en español. Estamos trabajando en su traducción.
Si tienes alguna pregunta o comentario sobre nuestro actual proyecto de traducción, no dudes en ponerte en contacto con nosotros.

This page discusses how to convert your DatadogAgent Custom Resources Definitions (CRDs) from v1alpha1 to version v2alpha1 used by the Datadog Operator v1.0.0+.

Prerequisites

  • Completed Datadog Operator v1.0.0+ Helm chart migration. For details, see the Migration Guide.
  • Running cert-manager with installCRDs set to true:
    helm install \
      cert-manager jetstack/cert-manager \
      --version v1.11.0 \
      --set installCRDs=true
    
  • Running Datadog Operator v1.0.0+ with the Conversion Webhook Server enabled:
    helm install \
      datadog-operator datadog/datadog-operator \
      --set image.tag=1.0.0 \
      --set datadogCRDs.migration.datadogAgents.version=v2alpha1 \
      --set datadogCRDs.migration.datadogAgents.useCertManager=true \
      --set datadogCRDs.migration.datadogAgents.conversionWebhook.enabled=true
    

Convert DatadogAgent/v1alpha1 to DatadogAgent/v2alpha1

The Datadog Operator runs a reconciler for v2alpha1 objects and also starts a Conversion Webhook Server, exposed on port 9443. The API Server uses this server to convert v1alpha1 DatadogAgent CRDs to v2alpha1.

  1. Forward a local port to the Conversion Webhook Server exposed on port 9443:

    kubectl port-forward <DATADOG_OPERATOR_POD_NAME> 2345:9443
    
  2. Save a v1alpha1 DatadogAgent definition as JSON. You can use a tool like yq.

  3. Run a curl command targeting the /convert endpoint with your DatadogAgent.v1alpha1 JSON:

    curl -k https://localhost:2345/convert -X POST -d '{"request":{"uid":"123", "desiredAPIVersion":"datadoghq.com/v2alpha1", "objects":[{
      "apiVersion": "datadoghq.com/v1alpha1",
      "kind": "DatadogAgent",
      "metadata": {
        "name": "datadog"
      },
      "spec": {
        "credentials": {
          "apiKey": "DATADOG_API_KEY",
          "appKey": "DATADOG_APP_KEY"
        }
      }
    }]}}'
    

    This returns a response with your converted v2alpha1 DatadogAgent definition:

    kind: DatadogAgent
    apiVersion: datadoghq.com/v2alpha1
    metadata:
      name: datadog
      creationTimestamp: null
    spec:
      features: {}
      global:
        credentials:
          apiKey: <DATADOG_API_KEY>
          appKey: <DATADOG_APP_KEY>
    status:
      conditions: null