Connector for Kubernetes Engine

Es un conector de Workflows que define la función integrada que se usa para acceder a una aplicación basada en contenedores de Kubernetes Engine dentro de un flujo de trabajo.

Explora más

Para obtener documentación detallada en la que se incluya esta muestra de código, consulta lo siguiente:

Muestra de código

YAML

# This workflow demonstrates how to use the Google Kubernetes Engine (GKE) connector:
# Create a GKE cluster and then delete it
# Each step waits until the long-running operation of creating or deleting the cluster completes
# Expected output: "SUCCESS"
main:
  params: []
  steps:
    - init:
        assign:
          - project_id: ${sys.get_env("GOOGLE_CLOUD_PROJECT_ID")}
          - cluster_zone: "us-central1-a"
          - cluster_id: "CLUSTER_ID"  # replace CLUSTER_ID placeholder
          - cluster_full_name: ${"projects/" + project_id + "/locations/" + cluster_zone + "/clusters/" + cluster_id}
    - create_gke_cluster:
        call: googleapis.container.v1.projects.zones.clusters.create
        args:
          projectId: ${project_id}
          zone: ${cluster_zone}
          body:
            cluster:
              name: ${cluster_id}
              initial_node_count: 1
            parent: ${"projects/" + project_id + "/locations/" + cluster_zone}
    - assert_running:
        call: assert_cluster_status
        args:
          expected_status: "RUNNING"
          project_id: ${project_id}
          cluster_zone: ${cluster_zone}
          cluster_id: ${cluster_id}
          cluster_full_name: ${cluster_full_name}
    - delete_gke_cluster:
        call: googleapis.container.v1.projects.zones.clusters.delete
        args:
          projectId: ${project_id}
          zone: ${cluster_zone}
          clusterId: ${cluster_id}
          name: ${cluster_full_name}
    - the_end:
        return: "SUCCESS"

assert_cluster_status:
  params:
    [expected_status, project_id, cluster_zone, cluster_id, cluster_full_name]
  steps:
    - get_cluster:
        call: googleapis.container.v1.projects.zones.clusters.get
        args:
          projectId: ${project_id}
          zone: ${cluster_zone}
          clusterId: ${cluster_id}
          name: ${cluster_full_name}
        result: cluster
    - compare:
        switch:
          - condition: ${cluster.status == expected_status}
            next: end
    - fail:
        raise: ${"Expected VM status is " + expected_status + ". Received " + cluster.status + " instead."}

¿Qué sigue?

Si quieres buscar y filtrar muestras de código para otros productos de Google Cloud , consulta el navegador de muestras deGoogle Cloud .