이 페이지는 아직 영어로 제공되지 않습니다. 번역 작업 중입니다.
현재 번역 프로젝트에 대한 질문이나 피드백이 있으신 경우 언제든지 연락주시기 바랍니다.

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
    
PREVIEWING: joe.farro/djm/djm-732-rm-dd-api-ips-databricks-docs