【问题标题】:GCP AI Platform - Pipelines - Clusters - Does not have minimum availabilityGCP AI 平台 - 管道 - 集群 - 没有最低可用性
【发布时间】:2021-01-04 20:50:50
【问题描述】:

我无法创建管道。我什至无法在 AI Platform Pipelines Dashboard 上加载示例/教程,因为它似乎无法代理它需要的任何东西。

An error occurred
Error occured while trying to proxy to: ... 

我查看了集群的详细信息,发现 3 个组件有错误:

Deployment  metadata-grpc-deployment     Does not have minimum availability 
Deployment  ml-pipeline  Does not have minimum availability 
Deployment  ml-pipeline-persistenceagent     Does not have minimum availability 

创建集群涉及大约。在 GCP Kubernetes Engine 中单击 3 次,所以我认为我没有搞砸这一步。

有人知道如何实现“最低可用性”吗?

更新 1

节点有足够的资源并且准备好了。 YAML 文件看起来不错。 我在不同的区域/区域中有 2 个集群,并且都有上面列出的部署错误。 2 个 Pod 不行。

Name:         ml-pipeline-65479485c8-mcj9x
Namespace:    default
Priority:     0
Node:         gke-cluster-3-default-pool-007784cb-qcsn/10.150.0.2
Start Time:   Thu, 17 Sep 2020 22:15:19 +0000
Labels:       app=ml-pipeline
              app.kubernetes.io/name=kubeflow-pipelines-3
              pod-template-hash=65479485c8
Annotations:  kubernetes.io/limit-ranger: LimitRanger plugin set: cpu request for container ml-pipeline-api-server

Status:       Running
IP:           10.4.0.8
IPs:
IP:           10.4.0.8
Controlled By:  ReplicaSet/ml-pipeline-65479485c8
Containers:
  ml-pipeline-api-server:
    Container ID:   ...
    Image:          ...
    Image ID:       ...
    Ports:          8888/TCP, 8887/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Running
      Started:      Fri, 18 Sep 2020 10:27:31 +0000
    Last State:     Terminated
      Reason:       Error
      Exit Code:    255
      Started:      Fri, 18 Sep 2020 10:20:38 +0000
      Finished:     Fri, 18 Sep 2020 10:27:31 +0000
    Ready:          False
    Restart Count:  98
    Requests:
      cpu:      100m
    Liveness:   exec [wget -q -S -O - http://localhost:8888/apis/v1beta1/healthz] delay=3s timeout=2s period=5s #success=1 #failure=3
    Readiness:  exec [wget -q -S -O - http://localhost:8888/apis/v1beta1/healthz] delay=3s timeout=2s period=5s #success=1 #failure=3
    Environment:
      HAS_DEFAULT_BUCKET:                   true
      BUCKET_NAME:
      PROJECT_ID:                           <set to the key 'project_id' of config map 'gcp-default-config'>  Optional: false
      POD_NAMESPACE:                        default (v1:metadata.namespace)
      DEFAULTPIPELINERUNNERSERVICEACCOUNT:  pipeline-runner
      OBJECTSTORECONFIG_SECURE:             false
      OBJECTSTORECONFIG_BUCKETNAME:
      DBCONFIG_DBNAME:                      kubeflow_pipelines_3_pipeline
      DBCONFIG_USER:                        <set to the key 'username' in secret 'mysql-credential'>  Optional: false
      DBCONFIG_PASSWORD:                    <set to the key 'password' in secret 'mysql-credential'>  Optional: false
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from ml-pipeline-token-77xl8 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  ml-pipeline-token-77xl8:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  ml-pipeline-token-77xl8
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                 node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                   From                                               Message
  ----     ------     ----                  ----                                               -------
  Warning  BackOff    52m (x409 over 11h)   kubelet, gke-cluster-3-default-pool-007784cb-qcsn  Back-off restarting failed container
  Warning  Unhealthy  31m (x94 over 12h)    kubelet, gke-cluster-3-default-pool-007784cb-qcsn  Readiness probe failed:
  Warning  Unhealthy  31m (x29 over 10h)    kubelet, gke-cluster-3-default-pool-007784cb-qcsn  (combined from similar events): Readiness probe failed: c
annot exec in a stopped state: unknown
  Warning  Unhealthy  17m (x95 over 12h)    kubelet, gke-cluster-3-default-pool-007784cb-qcsn  Liveness probe failed:
  Normal   Pulled     7m26s (x97 over 12h)  kubelet, gke-cluster-3-default-pool-007784cb-qcsn  Container image "gcr.io/cloud-marketplace/google-cloud-ai
-platform/kubeflow-pipelines/apiserver:1.0.0" already present on machine
  Warning  Unhealthy  75s (x78 over 12h)    kubelet, gke-cluster-3-default-pool-007784cb-qcsn  Liveness probe errored: rpc error: code = DeadlineExceede
d desc = context deadline exceeded

还有另一个吊舱:

Name:         ml-pipeline-persistenceagent-67db8b8964-mlbmv
Events:
  Type     Reason   Age                   From                                               Message
  ----     ------   ----                  ----                                               -------
  Warning  BackOff  32s (x2238 over 12h)  kubelet, gke-cluster-3-default-pool-007784cb-qcsn  Back-off restarting failed container

解决方案

不要让谷歌处理任何存储。取消选中“使用托管存储”并手动设置您自己的工件集合。您实际上不需要在这些字段中输入任何内容,因为无论如何都会启动管道。

【问题讨论】:

  • 注意:Kubeflow 开发人员说在设置集群时取消选中 GCP 上的“使用托管存储”。这解决了豆荚问题。我们不知道为什么。

标签: kubernetes google-cloud-ai-platform-pipelines


【解决方案1】:

Does not have minimum availability 错误是通用的。可能有很多问题会触发它。您需要更深入地分析才能找到实际问题。以下是一些可能的原因:

  • 资源不足:检查您的节点是否有足够的资源(CPU/内存)。如果 Node 比 check the Pod's status 还好。

  • Liveliness 探测和/或 Readiness 探测失败:执行kubectl describe pod &lt;pod-name&gt; 以检查它们是否失败以及原因。

  • 部署错误配置:查看您的部署 yaml 文件,查看之前的配置是否存在任何错误或遗留问题。

  • 您也可以尝试稍等片刻,因为有时需要一些时间才能部署所有内容和/或尝试更改您的区域/区域。

【讨论】:

  • 我添加了更多信息。有什么对你来说很突出的问题吗?
  • 看起来 Liveness 和 Readiness 探测失败了。您需要检查它们是否配置正确。使用this 作为一般指南。
  • 我对这些集群和管道所做的一切都是通过 GCP GUI 完成的。 GCP 让我看起来好像可以指向并单击,并且神奇地一切都应该启动并运行。这就是为什么我根本不知道我是否应该实际配置这些文件的原因。根据我的搜索,yaml 文件看起来应该是这样的。
  • 不过,您的 Liveliness 和 Readiness 探针仍有问题。为了修复它,您需要验证它们是否配置正确。我认为最好单独提出一个问题来解释这个特定问题,以免在此处混淆多个主题,因为在这个问题中,您询问了Does not have minimum availability 错误的可能原因,我们已经涵盖了这一点。
  • 同意。 Kubeflow 开发人员说在设置集群时不要选中“使用托管存储”框。这解决了豆荚问题。我认为 GCP 如何尝试自动处理持久性存在问题。 (无论如何,关于弹出的另一个问题,哈哈)
猜你喜欢
  • 2021-02-14
  • 2021-03-06
  • 2021-11-01
  • 2021-04-28
  • 2021-07-19
  • 2022-01-18
  • 2015-12-21
  • 2020-09-05
  • 2021-04-30
相关资源
最近更新 更多