Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Airflow 是否可以关闭VM´;google cloud composer是在什么时候托管的?_Airflow_Google Cloud Composer - Fatal编程技术网

Airflow 是否可以关闭VM´;google cloud composer是在什么时候托管的?

Airflow 是否可以关闭VM´;google cloud composer是在什么时候托管的?,airflow,google-cloud-composer,Airflow,Google Cloud Composer,为了减少运行GoogleCloudComposer的相关费用,我想知道是否有可能在某些时间关闭运行虚拟环境的VM实例。例如:我们的DAG大部分在上午或下午运行,因此我们希望在晚上关闭VM,如果可能的话,甚至在中午关闭VM。我知道我们可以从谷歌云控制台手动禁用这些环境,但如果能找到一种自动禁用的方法,那就太好了 谢谢 不幸的是,无法使用谷歌云平台以编程方式配置此功能。最好的选择是让脚本作为cronjob从另一台主机上运行,当Composer环境未使用时,该主机将打开或关闭Composer环境。不幸

为了减少运行GoogleCloudComposer的相关费用,我想知道是否有可能在某些时间关闭运行虚拟环境的VM实例。例如:我们的DAG大部分在上午或下午运行,因此我们希望在晚上关闭VM,如果可能的话,甚至在中午关闭VM。我知道我们可以从谷歌云控制台手动禁用这些环境,但如果能找到一种自动禁用的方法,那就太好了


谢谢

不幸的是,无法使用谷歌云平台以编程方式配置此功能。最好的选择是让脚本作为cronjob从另一台主机上运行,当Composer环境未使用时,该主机将打开或关闭Composer环境。

不幸的是,无法使用Google云平台以编程方式配置此脚本。最好的选择是让脚本作为cronjob从另一台主机上运行,当Composer环境不使用时,该主机将打开或关闭Composer环境。

我们并行设置了一个小型k8s集群,并使用cronjob部署来管理将池节点扩展到0,然后使用第二个cronjob将其恢复

部署是这样的(更改向上和向下的节点数)。您可以将操作更改为您处理VM的方式(是否通过控制台中的计算暂停实例?)


其中,google app credentials是kubernetes的秘密,其中包含我们的服务帐户密钥文件。

我们已经并行设置了一个小型k8s群集,并使用CronJob部署来管理将池节点扩展到0,然后使用第二个CronJob将其恢复

部署是这样的(更改向上和向下的节点数)。您可以将操作更改为您处理VM的方式(是否通过控制台中的计算暂停实例?)


其中google应用程序凭据是kubernetes机密,包含我们的服务帐户密钥文件。

欢迎使用Stack Overflow!为了给你一个很好的答案,如果你还没有看一眼,它可能会帮助我们。如果您可以提供一个。欢迎使用堆栈溢出!为了给你一个很好的答案,如果你还没有看一眼,它可能会帮助我们。如果您可以提供一个新的应用程序,它可能也会很有用。@Patrick W:我希望这样做,但找不到合适的API/文档来打开/关闭整个Composer环境。你能在右边给我一个指针吗direction@dkapitan是云编写器的文档API@PatrickW:我想这样做,但是找不到合适的API/文档来打开/关闭整个Composer环境。你能在右边给我一个指针吗direction@dkapitan是云编写器API的文档
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: disable-composer
spec:
  schedule: "0 10 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: enable-composer
            image: google/cloud-sdk:latest
            volumeMounts:
            - name: google-app-credentials-volume
              mountPath: /etc/gcp
              readOnly: true
            env:
            - name: GOOGLE_APPLICATION_CREDENTIALS
              value: /etc/gcp/credentials.json
            args:
            - /bin/bash
            - -c 
            - gcloud auth activate-service-account service-account@gcp-project.iam.gserviceaccount.com --key-file=$GOOGLE_APPLICATION_CREDENTIALS; COMPOSER_ENV=composer-environment-name; COMPOSER_LOCATION=us-central1; COMPOSER_CLUSTER=`gcloud composer environments describe $COMPOSER_ENV --format="csv[no-heading](config.gkeCluster)" --location $COMPOSER_LOCATION | cut -d '/' -f 6`; COMPOSER_ZONE=`gcloud composer environments describe $COMPOSER_ENV --format="csv[no-heading](config.nodeConfig.location)" --location $COMPOSER_LOCATION | cut -d '/' -f 4`; gcloud container clusters resize $COMPOSER_CLUSTER --zone $COMPOSER_ZONE --size=0 --quiet;
          restartPolicy: OnFailure
          volumes:
          - name: google-app-credentials-volume
            secret:
              secretName: google-app-credentials
              items:
              - key: credentials.json
                path: credentials.json