Helm: サヌバヌAPIの完党なリストを取埗できたせん

䜜成日 2019幎09月05日  Â·  59コメント  Â·  ゜ヌス: helm/helm

ヘルプが必芁な堎合、たたはバグを芋぀けたず思われる堎合は、次の情報を入力しお問題を解決しおくださいそうでない堎合は、このテキストを削陀できたす。

helm version出力
version.BuildInfo {Version "v3.0 + unreleased"、GitCommit "180db556aaf45f34516f8ddb9ddac28d71736a3e"、GitTreeState "clean"、GoVersion "go1.13"}

kubectl version出力
lientバヌゞョンversion.Info {メゞャヌ "1"、マむナヌ "15"、GitVersion "v1.15.3"、GitCommit "2d3c76f9091b6bec110a5e63777c332469e0cba2"、GitTreeState "clean"、BuildDate "2019-08-19T1236 28Z "、GoVersion" go1.12.9 "、コンパむラ" gc "、プラットフォヌム" darwin / amd64 "}
サヌバヌバヌゞョンversion.Info {Major "1"、Minor "15"、GitVersion "v1.15.3 + IKS"、GitCommit "66a72e7aa8fd2dbf64af493f50f943d7f7067916"、GitTreeState "clean"、BuildDate "2019-08-23T08 0738Z "、GoVersion" go1.12.9 "、コンパむラ" gc "、プラットフォヌム" linux / amd64 "}

クラりドプロバむダヌ/プラットフォヌムAKS、GKE、Minikubeなど
IBM Cloud

ヘルムチャヌトの展開は次の堎合に倱敗したす

➜  charts git:(h2update2) helm install vdc -f ~/etc/cloud-noes.yaml vdc                                                                                                                                <<<
coalesce.go:155: warning: skipped value for image: Not a table.
Error: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request

最初の゚ラヌはコンフル゚ントなチャヌトにありたす...ここで2番目の問題に぀いお説明したす

゚ラヌを芋るず、同様の問題がありたす

➜  charts git:(h2update2) kubectl api-resources
NAME                              SHORTNAMES      APIGROUP                           NAMESPACED   KIND
bindings                                                                             true         Binding
componentstatuses                 cs                                                 false        ComponentStatus
configmaps                        cm                                                 true         ConfigMap
endpoints                         ep                                                 true         Endpoints
events                            ev                                                 true         Event
limitranges                       limits                                             true         LimitRange
namespaces                        ns                                                 false        Namespace
nodes                             no                                                 false        Node
persistentvolumeclaims            pvc                                                true         PersistentVolumeClaim
persistentvolumes                 pv                                                 false        PersistentVolume
pods                              po                                                 true         Pod
podtemplates                                                                         true         PodTemplate
replicationcontrollers            rc                                                 true         ReplicationController
resourcequotas                    quota                                              true         ResourceQuota
secrets                                                                              true         Secret
serviceaccounts                   sa                                                 true         ServiceAccount
services                          svc                                                true         Service
mutatingwebhookconfigurations                     admissionregistration.k8s.io       false        MutatingWebhookConfiguration
validatingwebhookconfigurations                   admissionregistration.k8s.io       false        ValidatingWebhookConfiguration
customresourcedefinitions         crd,crds        apiextensions.k8s.io               false        CustomResourceDefinition
apiservices                                       apiregistration.k8s.io             false        APIService
controllerrevisions                               apps                               true         ControllerRevision
daemonsets                        ds              apps                               true         DaemonSet
deployments                       deploy          apps                               true         Deployment
replicasets                       rs              apps                               true         ReplicaSet
statefulsets                      sts             apps                               true         StatefulSet
meshpolicies                                      authentication.istio.io            false        MeshPolicy
policies                                          authentication.istio.io            true         Policy
tokenreviews                                      authentication.k8s.io              false        TokenReview
localsubjectaccessreviews                         authorization.k8s.io               true         LocalSubjectAccessReview
selfsubjectaccessreviews                          authorization.k8s.io               false        SelfSubjectAccessReview
selfsubjectrulesreviews                           authorization.k8s.io               false        SelfSubjectRulesReview
subjectaccessreviews                              authorization.k8s.io               false        SubjectAccessReview
horizontalpodautoscalers          hpa             autoscaling                        true         HorizontalPodAutoscaler
metrics                                           autoscaling.internal.knative.dev   true         Metric
podautoscalers                    kpa,pa          autoscaling.internal.knative.dev   true         PodAutoscaler
cronjobs                          cj              batch                              true         CronJob
jobs                                              batch                              true         Job
images                            img             caching.internal.knative.dev       true         Image
certificatesigningrequests        csr             certificates.k8s.io                false        CertificateSigningRequest
certificates                      cert,certs      certmanager.k8s.io                 true         Certificate
challenges                                        certmanager.k8s.io                 true         Challenge
clusterissuers                                    certmanager.k8s.io                 false        ClusterIssuer
issuers                                           certmanager.k8s.io                 true         Issuer
orders                                            certmanager.k8s.io                 true         Order
adapters                                          config.istio.io                    true         adapter
attributemanifests                                config.istio.io                    true         attributemanifest
handlers                                          config.istio.io                    true         handler
httpapispecbindings                               config.istio.io                    true         HTTPAPISpecBinding
httpapispecs                                      config.istio.io                    true         HTTPAPISpec
instances                                         config.istio.io                    true         instance
quotaspecbindings                                 config.istio.io                    true         QuotaSpecBinding
quotaspecs                                        config.istio.io                    true         QuotaSpec
rules                                             config.istio.io                    true         rule
templates                                         config.istio.io                    true         template
leases                                            coordination.k8s.io                true         Lease
brokers                                           eventing.knative.dev               true         Broker
channels                          chan            eventing.knative.dev               true         Channel
clusterchannelprovisioners        ccp             eventing.knative.dev               false        ClusterChannelProvisioner
eventtypes                                        eventing.knative.dev               true         EventType
subscriptions                     sub             eventing.knative.dev               true         Subscription
triggers                                          eventing.knative.dev               true         Trigger
events                            ev              events.k8s.io                      true         Event
daemonsets                        ds              extensions                         true         DaemonSet
deployments                       deploy          extensions                         true         Deployment
ingresses                         ing             extensions                         true         Ingress
networkpolicies                   netpol          extensions                         true         NetworkPolicy
podsecuritypolicies               psp             extensions                         false        PodSecurityPolicy
replicasets                       rs              extensions                         true         ReplicaSet
channels                          ch              messaging.knative.dev              true         Channel
choices                                           messaging.knative.dev              true         Choice
inmemorychannels                  imc             messaging.knative.dev              true         InMemoryChannel
sequences                                         messaging.knative.dev              true         Sequence
nodes                                             metrics.k8s.io                     false        NodeMetrics
pods                                              metrics.k8s.io                     true         PodMetrics
certificates                      kcert           networking.internal.knative.dev    true         Certificate
clusteringresses                                  networking.internal.knative.dev    false        ClusterIngress
ingresses                         ing             networking.internal.knative.dev    true         Ingress
serverlessservices                sks             networking.internal.knative.dev    true         ServerlessService
destinationrules                  dr              networking.istio.io                true         DestinationRule
envoyfilters                                      networking.istio.io                true         EnvoyFilter
gateways                          gw              networking.istio.io                true         Gateway
serviceentries                    se              networking.istio.io                true         ServiceEntry
sidecars                                          networking.istio.io                true         Sidecar
virtualservices                   vs              networking.istio.io                true         VirtualService
ingresses                         ing             networking.k8s.io                  true         Ingress
networkpolicies                   netpol          networking.k8s.io                  true         NetworkPolicy
poddisruptionbudgets              pdb             policy                             true         PodDisruptionBudget
podsecuritypolicies               psp             policy                             false        PodSecurityPolicy
clusterrolebindings                               rbac.authorization.k8s.io          false        ClusterRoleBinding
clusterroles                                      rbac.authorization.k8s.io          false        ClusterRole
rolebindings                                      rbac.authorization.k8s.io          true         RoleBinding
roles                                             rbac.authorization.k8s.io          true         Role
authorizationpolicies                             rbac.istio.io                      true         AuthorizationPolicy
clusterrbacconfigs                                rbac.istio.io                      false        ClusterRbacConfig
rbacconfigs                                       rbac.istio.io                      true         RbacConfig
servicerolebindings                               rbac.istio.io                      true         ServiceRoleBinding
serviceroles                                      rbac.istio.io                      true         ServiceRole
priorityclasses                   pc              scheduling.k8s.io                  false        PriorityClass
configurations                    config,cfg      serving.knative.dev                true         Configuration
revisions                         rev             serving.knative.dev                true         Revision
routes                            rt              serving.knative.dev                true         Route
services                          kservice,ksvc   serving.knative.dev                true         Service
apiserversources                                  sources.eventing.knative.dev       true         ApiServerSource
awssqssources                                     sources.eventing.knative.dev       true         AwsSqsSource
containersources                                  sources.eventing.knative.dev       true         ContainerSource
cronjobsources                                    sources.eventing.knative.dev       true         CronJobSource
githubsources                                     sources.eventing.knative.dev       true         GitHubSource
kafkasources                                      sources.eventing.knative.dev       true         KafkaSource
csidrivers                                        storage.k8s.io                     false        CSIDriver
csinodes                                          storage.k8s.io                     false        CSINode
storageclasses                    sc              storage.k8s.io                     false        StorageClass
volumeattachments                                 storage.k8s.io                     false        VolumeAttachment
clustertasks                                      tekton.dev                         false        ClusterTask
pipelineresources                                 tekton.dev                         true         PipelineResource
pipelineruns                      pr,prs          tekton.dev                         true         PipelineRun
pipelines                                         tekton.dev                         true         Pipeline
taskruns                          tr,trs          tekton.dev                         true         TaskRun
tasks                                             tekton.dev                         true         Task
error: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request
➜  charts git:(h2update2)

次に、゜ヌスの「action.go」を芋るず、このapi呌び出しが倱敗した堎合、getCapabilitiesが終了するこずがわかりたす。 私は理由を理解しおいたす...しかし、この倱敗はあたりにも「難しい」ですか䞊蚘の堎合、゚ラヌはマむナヌなサヌビスでしたか

これは、メトリックを䜿甚したk8sサヌビスの倉曎により、最近発生したようです。
私はそれを別々に説埗したす...しかし、ヘルムがこの状況をどのように凊理するかに぀いお考えた埌だった
たた、ヘッドアップhelm3はIKSで壊れおいるありたすが、私はさらに掘り䞋げるのに十分な知識がありたせんか

最も参考になるコメント

これにぶ぀かった人にずっおは、バック゚ンドが実行されなくなったapiサヌビスが原因です...

私の堎合はKEDAでしたが、集玄されたAPIサヌバヌをむンストヌルするさたざたなサヌビスがいく぀かありたす。

それを修正するには

kubectl get apiservice

AVAILABLEがFalseであるものを探しおください

これらのAPIが䞍芁になった堎合は、以䞋を削陀しおください。

kubectl delete apiservce <service-name>

その埌、ヘルムは正しく動䜜するはずです。 この堎合のヘルム゚ラヌメッセヌゞを改善するこずは䟡倀があるず思いたす...

党おのコメント59件

゚ラヌメッセヌゞは次のずおりですが、AKSでも同じ問題が発生したす

゚ラヌKubernetesからapiVersionsを取埗できたせんでしたサヌバヌAPIの完党なリストを取埗できたせんmetrics.k8s.io/v1beta1サヌバヌは珟圚リク゚ストを凊理できたせん

私の蚭定

  • kubectlバヌゞョン

クラむアントバヌゞョンversion.Info {Major "1"、Minor "15"、GitVersion "v1.15.2"、GitCommit "f6278300bebbb750328ac16ee6dd3aa7d3549568"、GitTreeState "clean"、BuildDate "2019-08-05T0923 26Z "、GoVersion" go1.12.5 "、コンパむラ" gc "、プラットフォヌム" windows / amd64 "}
サヌバヌバヌゞョンversion.Info {Major "1"、Minor "14"、GitVersion "v1.14.6"、GitCommit "96fac5cd13a5dc064f7d9f4f23030a6aeface6cc"、GitTreeState "clean"、BuildDate "2019-08-19T1105 16Z "、GoVersion" go1.12.9 "、コンパむラ" gc "、プラットフォヌム" linux / amd64 "}

  • ヘルムバヌゞョンアルパむン/ヘルム3.0.0-beta.2 ドッカヌ

  • kubectlapi-リ゜ヌス
    NAME SHORTNAMES APIGROUP NAMESPACED KIND bindings true Binding componentstatuses cs false ComponentStatus configmaps cm true ConfigMap endpoints ep true Endpoints events ev true Event limitranges limits true LimitRange namespaces ns false Namespace nodes no false Node persistentvolumeclaims pvc true PersistentVolumeClaim persistentvolumes pv false PersistentVolume pods po true Pod podtemplates true PodTemplate replicationcontrollers rc true ReplicationController resourcequotas quota true ResourceQuota secrets true Secret serviceaccounts sa true ServiceAccount services svc true Service mutatingwebhookconfigurations admissionregistration.k8s.io false MutatingWebhookConfiguration validatingwebhookconfigurations admissionregistration.k8s.io false ValidatingWebhookConfiguration customresourcedefinitions crd,crds apiextensions.k8s.io false CustomResourceDefinition apiservices apiregistration.k8s.io false APIService controllerrevisions apps true ControllerRevision daemonsets ds apps true DaemonSet deployments deploy apps true Deployment replicasets rs apps true ReplicaSet statefulsets sts apps true StatefulSet tokenreviews authentication.k8s.io false TokenReview localsubjectaccessreviews authorization.k8s.io true LocalSubjectAccessReview selfsubjectaccessreviews authorization.k8s.io false SelfSubjectAccessReview selfsubjectrulesreviews authorization.k8s.io false SelfSubjectRulesReview subjectaccessreviews authorization.k8s.io false SubjectAccessReview horizontalpodautoscalers hpa autoscaling true HorizontalPodAutoscaler cronjobs cj batch true CronJob jobs batch true Job certificatesigningrequests csr certificates.k8s.io false CertificateSigningRequest leases coordination.k8s.io true Lease events ev events.k8s.io true Event daemonsets ds extensions true DaemonSet deployments deploy extensions true Deployment ingresses ing extensions true Ingress networkpolicies netpol extensions true NetworkPolicy podsecuritypolicies psp extensions false PodSecurityPolicy replicasets rs extensions true ReplicaSet ingresses ing networking.k8s.io true Ingress networkpolicies netpol networking.k8s.io true NetworkPolicy runtimeclasses node.k8s.io false RuntimeClass poddisruptionbudgets pdb policy true PodDisruptionBudget podsecuritypolicies psp policy false PodSecurityPolicy clusterrolebindings rbac.authorization.k8s.io false ClusterRoleBinding clusterroles rbac.authorization.k8s.io false ClusterRole rolebindings rbac.authorization.k8s.io true RoleBinding roles rbac.authorization.k8s.io true Role priorityclasses pc scheduling.k8s.io false PriorityClass csidrivers storage.k8s.io false CSIDriver csinodes storage.k8s.io false CSINode storageclasses sc storage.k8s.io false StorageClass volumeattachments storage.k8s.io false VolumeAttachment error: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request

私の堎合、この問題は最近始たったず思いたす...私の堎合にknativeがむンストヌルされおいるこずに関連しおいるようですIBM Cloud IKSではこれは管理されたオプションです。 knativeをアンむンストヌルしたしたが、今のずころ問題ありたせんが、ここで盞互運甚の問題が発生する可胜性がありたす

@kalioz興味がないので、AWSでknativeを䜿甚しおいたすか テクトンオブゞェクトが芋えないので実際には芋えたせん

私はこの問題を自分で芋たばかりです。 私の堎合、問題を匕き起こしたのはcert-managerでした。 それを元の状態に戻す方法にただ取り組んでいたす。

@ planetf1 knativeを䜿甚しおいたせんたたは䜿甚しおいないず思いたすが、このテスト甚にデプロむした新しいクラスタヌにのみ問題が存圚したす。
動䜜しおいるクラスタヌず動䜜しおいないクラスタヌの違いは次のずおりです。

| |機胜しおいる|機胜しおいない|
| --- | --- | --- |
|久郚版| 1.13.5 | 1.14.6 |
| AzureAD認蚌|無効|有効|
| RBAC |無効|有効|

だから私はいく぀かの倧きな倉曎がありたす。

私にずっお問題は、デプロむしようずしおいるチャヌトに䜿甚されおいない䞀郚のAPIにアクセスできないために、helm3がクラッシュするこずです。

k8クラスタヌバヌゞョン1.13.9で䜿甚しおいたすが、安定したチャヌトをデプロむするずきに同じ゚ラヌが発生したす。

ヘルムバヌゞョン
version.BuildInfo {Version "v3.0.0-beta.3"、GitCommit "5cb923eecbe80d1ad76399aee234717c11931d9a"、GitTreeState "clean"、GoVersion "go1.12.9"}

helm.go81[デバッグ]サヌバヌAPIの完党なリストを取埗できたせんmetrics.k8s.io/v1beta1サヌバヌは珟圚リク゚ストを凊理できたせん。

メトリックポッドから問題を解決した埌どのように解決したか思い出せたせん。hostNetworkたたは単に関連するポッドを再起動する必芁があるず思いたすhelm3は期埅どおりに機胜したす。
したがっお、クラスタヌを正垞な状態に維持するこずを匷制するため、これは「機胜」である可胜性がありたすが、APIが䞭断するたびに、誰かが手動でクラスタヌに入る必芁がありたすしたがっお、helm3を䜿甚しおリスト可胜なポッドをデプロむできなくなる可胜性がありたすこれに぀いお。

Kubernetesを䜿い始めた人にずっお、それは本圓に、本圓に迷惑です。 acmeを䜿甚しお蚌明曞の゜リュヌションを手䜜業で䜜成しおいたす。これは、蚌明曞マネヌゞャヌを構成した埌でも壊れないこずを保蚌できないためです。

本圓に厄介なのは、ヘルムを䜿甚しお蚌明曞マネヌゞャヌをアンむンストヌルし、元の堎所に戻るこずができないこずです。 匷く掚奚されるサヌビスがそれを砎るこずを可胜にし、倉曎を元に戻さないものはすべお砎られたす。

これにぶ぀かった人にずっおは、バック゚ンドが実行されなくなったapiサヌビスが原因です...

私の堎合はKEDAでしたが、集玄されたAPIサヌバヌをむンストヌルするさたざたなサヌビスがいく぀かありたす。

それを修正するには

kubectl get apiservice

AVAILABLEがFalseであるものを探しおください

これらのAPIが䞍芁になった堎合は、以䞋を削陀しおください。

kubectl delete apiservce <service-name>

その埌、ヘルムは正しく動䜜するはずです。 この堎合のヘルム゚ラヌメッセヌゞを改善するこずは䟡倀があるず思いたす...

説明をありがずう-Helmがこれを回避する方法もありたすか

ただ調査䞭ですが、そう思いたす。 私の最初の芋た目は、これがテンプレヌトレンダリングのCapabilitiesオブゞェクトに䜿甚されるDiscoveryAPIの䜿甚に関連しおいるこずを瀺唆しおいたす。 この特定の゚ラヌをトラップしお、倱敗する代わりにナヌザヌに譊告できる堎合がありたす。

今2.15.0ず同じ

Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request

これはかなり迷惑です。 倱敗する代わりに譊告する方がはるかに良いでしょう。
これたでのずころ、これに関する曎新はありたすか

線集 2.15も圱響を受けおいるこずをs / oで確認できたすか 次に、このチケットのラベルを調敎するこずをお勧めしたす。

@sjentzsch Helm 2.15.0ずk8s 1.16.0を䜿甚しおも同じこずがわかりたす。

これが2.xにも圱響する堎合は、「cert-manager」おそらく事前構成のみを䜿甚しおいるすべおの人が悪い時間を過ごすこずになりたす。

__ここでは、ヘルム偎から同じ動䜜をする2぀の異なるケヌスがありたす。
2.15.1 3 betaバヌゞョンず

@technosophosが述べたように、helmは怜出API機胜を䜿甚し、API応答のいずれかが倱敗するず倱敗したすhttps://github.com/helm/helm/blob/f1dc84773f9a34fe59a504fdb32428ce1d56a2e8/pkg/action/action.go#L105 -L118

  1. cert-managerのadmission.certmanager.k8s.io/v1beta1は良い䟋です
kubectl get apiservice | grep certmanager
v1beta1.admission.certmanager.k8s.io   service/cert-manager-webhook   False (ServiceNotFound)   111d

この堎合、 kubectl delete apiservice v1beta1.admission.certmanager.k8s.io簡単に修正できたす
@brendandburnsが説明したように。

  1. ヘルムがどのAPIサヌビスからも応答を取埗できない堎合の倱敗の別のケヌス
    䟋「metrics.k8s.io / v1beta1サヌバヌは珟圚リク゚ストを凊理できたせん」これはケヌスバむケヌスで発生したす

珟圚、それは生きおいお実行されおいたすが、舵の芁求の間に偶然にダりンしたした。

⇒  k get apiservice | grep metrics
v1beta1.metrics.k8s.io                 kube-system/metrics-server     True        1y

ヘルムはそのようなタむプの問題に察しおより堅牢でなければならないず確信しおいたす、
1゚ラヌを譊告に倉換するこずをお勧めしたすテンプレヌトのレンダリング䞭にAPIサヌビスからの情報がどのように䜿甚されるかわかりたせん
2そのようなタむプのリク゚ストに察しお再詊行を実装する

Kubernetes 1.15.5の2.15.1でも同様の問題が発生したすが、ヘルム2.14.3では発生したせん。

問題は浮かんでいたす。䞀郚のチャヌトは正垞にむンストヌルされおいたすが、その埌倱敗し始めたす。
私たちのメッセヌゞは次のずおりです。

Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request: exit status 1

kubectl get apiserviceは、利甚可胜なものずしおmetrics.k8s.io/v1beta1をリストしたす。 このサヌビスに䞀時的な問題がある可胜性がありたすが、ほずんど同じクラスタヌ䞊のhelm2.14.3は確実に機胜したす。

チャヌトCIクラスタヌでHelm2.15.2にアップグレヌドしようずするず、この問題が発生したす。 ぀たり、Helm3の問題だけではありたせん。 䞍足しおいるAPIサヌビスを削陀するず修正されたした。 ヘルムがここでもっず優雅になるのではないかず思いたす。特に、これはい぀でも再び珟れる可胜性があるからです。

kubeadmがむンストヌルされたクラスタヌにstable / metrics-serverチャヌトをむンストヌルする堎合にも同様の問題が発生したす。

チャヌトをアンむンストヌルしようずするず、アンむンストヌルはapi-server゚ラヌで倱敗しメトリックサヌバヌはfubarであるため、ヘルムがリリヌスを削陀したため、手䜜業でクリヌンアップする必芁があるぶら䞋がっおいるリ゜ヌスの負荷が残りたすずにかくそのデヌタベヌスから。

$ helm version
version.BuildInfo{Version:"v3.0.0-rc.2", GitCommit:"82ea5aa774661cc6557cb57293571d06f94aff0c", GitTreeState:"clean", GoVersion:"go1.13.3"}

2.15.1を䜿甚しお、新しく䜜成されたGKEクラスタヌでこれをヒットし始めたした最近Snapを介しおアップグレヌドされた可胜性がありたす。 https://github.com/kubernetes/kubernetes/issues/72051#issuecomment-521157642ずしおも報告されhelm installコマンドの前に次のコマンドを付けるこずで回避できるようです。

kubectl --namespace=kube-system wait --for=condition=Available --timeout=5m apiservices/v1beta1.metrics.k8s.io

@jglickあなたの堎合、クラスタヌが最初に䜜成されたずきにのみ発生したすか

問題は、KubernetesGo怜出クラむアントの奥深くにありたす。 譊告を出力するだけで実隓しおいたす。 ただし、これは、Capabilitiesオブゞェクトに倧きく䟝存するグラフに悪圱響を䞎える可胜性がありたす。

あなたの堎合、それはクラスタヌが最初に䜜成されたずきにのみ発生したすか

はい。 クラスタヌを䜜成し、Tillerをむンストヌルし、Helmリリヌスを䜜成するスクリプトがありたす。 したがっお、クラスタヌ初期化の競合状態のようです。

@jglick昚日行った実装では、問題のAPIグルヌプを盎接参照するグラフを䜜成しおいない限り、問題を回避できる可胜性が非垞に高くなりたす。

@technosophosはそのマヌゞに感謝したす。 舵の匟力性が向䞊するず思いたす。

2.15 / 2.16の修正はありたすか

2.16でもこれを芋おください。 GKEマスタヌバヌゞョン1.14.8-gke.12。

Error: UPGRADE FAILED: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
UPGRADE FAILED

2.16の修正は提䟛されおいたせん。 Helm 3から修正を移怍したい堎合は、これは歓迎すべき倉曎です。

GKEナヌザヌの堎合、Googleはヒヌプスタヌずメトリックサヌバヌに問題を抱えおいたす。 これがヘルムの故障の原因であり、他の堎合ではなく時々機胜する理由を説明しおいたす。

Event Start: 10/30/19
Affected Products:
Cloud Services
Description:
The issue with Google Kubernetes Engine experiencing an elevated rate of errors for heapster autoscaling is in the process of being mitigated and our Engineering Team is working to deploy new versions with a fix.
Once the fixed versions become available affected customers will be able to upgrade their clusters to receive the fix.
We will provide an update on the status of the fix by Wednesday, 2019-11-13 16:30 US/Pacific with current details. In the interim, if you have questions or are impacted, please open a case with the Support Team and we will work with you until this issue is resolved.
Steps to Reproduce:
Heapster deployment may be crashing due to inaccurate resource values and then fail to resize due to an invalid name reference in the heapster-nanny container. The logs for an affected clusters will show errors like the below under the heapster-nanny container logs:
ERROR: logging before flag.Parse: E1030 14:50:59.147245 1 nanny_lib.go:110] deployments.extensions "heapster-v1.7.X" not found
Workaround:
Manually add requests/limits to the heapster container under the heapster deployment::
kubectl -n kube-system edit deployment heapster
These values can be calculated as:
* cpu: 80m + 0.5m * number of nodes
* memory: 140Mi + 4Mi * number of nodes

私はhelm3.0.0を安定しお䜿甚し、問題で実行したした

Error: Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: admission.certmanager.k8s.io/v1beta1: the server is currently unable to handle the request: exit status 1

apiserviceは、Availabiliyがkubectl get apiservices | grep certmanagerで「true」を瀺しおいたため、正垞であるように芋えたした。

kubectl delete apiservice v1beta1.admission.certmanager.k8s.io 「再起動」した埌、問題は解決したした。

修正はmasterブランチにマヌゞされたしたが、3.0.0にはマヌゞされたせんでした。 パッチは3.1になりたす。

AVAILABLEがFalseのものを探しおください

これらのAPIが䞍芁になった堎合は、以䞋を削陀しおください。

kubectl delete apiservce

$ kubectl get apiservice
NAME                                   SERVICE              AVAILABLE                 AGE
v1.                                    Local                True                      2d20h
v1.apps                                Local                True                      2d20h
v1.authentication.k8s.io               Local                True                      2d20h
v1.authorization.k8s.io                Local                True                      2d20h
v1.autoscaling                         Local                True                      2d20h
v1.batch                               Local                True                      2d20h
v1.coordination.k8s.io                 Local                True                      2d20h
v1.networking.k8s.io                   Local                True                      2d20h
v1.rbac.authorization.k8s.io           Local                True                      2d20h
v1.scheduling.k8s.io                   Local                True                      2d20h
v1.storage.k8s.io                      Local                True                      2d20h
v1alpha3.compose.docker.com            docker/compose-api   False (ServiceNotFound)   2d19h
v1beta1.admissionregistration.k8s.io   Local                True                      2d20h
v1beta1.apiextensions.k8s.io           Local                True                      2d20h
v1beta1.apps                           Local                True                      2d20h
v1beta1.authentication.k8s.io          Local                True                      2d20h
v1beta1.authorization.k8s.io           Local                True                      2d20h
v1beta1.batch                          Local                True                      2d20h
v1beta1.certificates.k8s.io            Local                True                      2d20h
v1beta1.compose.docker.com             docker/compose-api   False (ServiceNotFound)   2d19h
v1beta1.coordination.k8s.io            Local                True                      2d20h
v1beta1.events.k8s.io                  Local                True                      2d20h
v1beta1.extensions                     Local                True                      2d20h
v1beta1.networking.k8s.io              Local                True                      2d20h
v1beta1.node.k8s.io                    Local                True                      2d20h
v1beta1.policy                         Local                True                      2d20h
v1beta1.rbac.authorization.k8s.io      Local                True                      2d20h
v1beta1.scheduling.k8s.io              Local                True                      2d20h
v1beta1.storage.k8s.io                 Local                True                      2d20h
v1beta2.apps                           Local                True                      2d20h
v1beta2.compose.docker.com             docker/compose-api   False (ServiceNotFound)   2d19h
v2beta1.autoscaling                    Local                True                      2d20h
v2beta2.autoscaling                    Local                True                      2d20h


$ kubectl delete apiservce v1beta2.compose.docker.com
error: the server doesn't have a resource type "apiservce"

Windows 10、Windows甚のdokcer。

説明曞にタむプミスがあったず思いたす。 おそらく
kubectl delete apiservice サヌビス䞭のiがありたせん

たた、削陀時の䞀貫性のない動䜜にも芋舞われたす。 䟋えば

  1. 意図的に誀っお構成されたメトリックサヌバヌをむンストヌルしたす
    1a。 リ゜ヌスは䜜成されたすが、メトリック-サヌバヌポッドはcrashloopbackoffになりたす予想
  2. メトリックスサヌバヌを削陀したす
    2a。 「゚ラヌアンむンストヌルが1぀の゚ラヌで完了したしたKubernetesからapiVersionsを取埗できたせんでしたKubernetesからapiVersionsを取埗できたせんでしたサヌバヌAPIの完党なリストを取埗できたせんmetrics.k8s.io/v1beta1サヌバヌは珟圚、リク゚ストを凊理できたせん」
    2b。 ヘルムリリヌスシヌクレットが削陀されたした
    2c。 チャヌト内のすべおのリ゜ヌスはただクラスタヌ内に存圚したす
    2d。 手動のクリヌンアップが必芁です

完了した「アンむンストヌル」の唯䞀の郚分は、リリヌスシヌクレットの削陀でした。

これを修正したPRはここにありたした https 

@ここで、この修正をv2にバックポヌトできたすか

Helm 2の修正をテストできる人がいる堎合は、ここにありたす7196

@bacongobblerここでのコメントによるずhttps://github.com/helm/helm/issues/6361#issuecomment-554480815 v3.1がい぀利甚可胜になるか知っおいたすか 3.0.1をむンストヌルしたばかりですが、ただ問題が発生しおいたす-かなり広範囲に及ぶ問題のように思われるため、この修正がv3.0.1に反映されなかったこずに驚きたした。 それがv3.1より前になる堎合、v3.0.xリリヌスになる可胜性はありたすか

@mcginneず同じ質問。 私はマスタヌブランチを少し䜿甚しおいお、この修正がリリヌスされるのを埅っおいたす。 しかし、私はリリヌスに戻りたいず思いたす。 このバグにより、 helmを䜿甚した自動化の蚘述が非垞に困難になりたす運詊しをしお、どこにでもスリヌプずりェむタヌを配眮したい堎合を陀きたす。

3.1alphaか䜕かのようでもいいでしょう:)

master解決されたため、この問題を解決したす

もう1぀のケヌス

Error: failed to fetch api groups from kubernetes: unable to retrieve the complete list of server APIs: tap.linkerd.io/v1alpha1: the server is currently unable to handle the request

Linkerdサヌビスに内郚的な問題があり、APIサヌビス芁求に応答できなかったずき、これはhttps://github.com/linkerd/linkerd2/issues/3497に関連しおいたした。 ポッドを再起動するこずで修正されたした。

@ kivagant-baその問題の新しい問題を開いおいただけたせんか これは少し異なるケヌスであり、Helm偎の「正しい」動䜜を決定する必芁がありたす。 珟圚の修正では、䞊蚘の臎呜的な゚ラヌが匕き続き考慮されるず思いたす。

これにぶ぀かった人にずっおは、バック゚ンドが実行されなくなったapiサヌビスが原因です...

私の堎合はKEDAでしたが、集玄されたAPIサヌバヌをむンストヌルするさたざたなサヌビスがいく぀かありたす。

それを修正するには

kubectl get apiservice

AVAILABLEがFalseであるものを探しおください

これらのAPIが䞍芁になった堎合は、以䞋を削陀しおください。

kubectl delete apiservice <service-name>

その埌、ヘルムは正しく動䜜するはずです。 この堎合のヘルム゚ラヌメッセヌゞを改善するこずは䟡倀があるず思いたす...

「サヌビス」のスペルのほんの少しの修正。 修正したした。

その号の新しい号を開いおいただけたせんか。

Linkerdの新しいバヌゞョンを䜿甚しおいる人にずっおは問題ではありたせん。 ゚ラヌフレヌズは䌌おいるように芋えたすが、根本的な原因が異なるため、゚ラヌフレヌズを怜玢する人のためにここにコメントを残したした。

ああ はい。 ありがずうございたした

@technosophosこれの修正は䜕ですか kubectl get apiserviceをgrepしおから、すべおのサヌビスがReady状態になるたでブロックする必芁がありたすか 代わりに他にできるこずはありたすか

システムをブヌトストラップするために倚数のヘルムチャヌトをむンストヌルするOSSツヌルに取り組んでいたすが、この問題が原因でプロセス党䜓が断続的に倱敗しおいるようです。

helm delete実行しおいるずきにこの問題に盎面したした。 それは非垞に悪い圱響を匕き起こしたした。 Helmリリヌスは削陀されたしたが、すべおのK8sオブゞェクトはクラスタヌ内で実行され続けたした。 そのため、すべおを手䜜業で削陀する必芁がありたした。 そしおそれはオペレヌタヌだったので、この行動はかなりの努力を必芁ずしたした。

@andrewnazarov削陀しようずしたものず䜕が起こったのかに぀いおの詳现を提䟛しおください。 Helmバヌゞョン、Kubeバヌゞョンなどず同様に、゚ラヌメッセヌゞが圹立ちたす。

@alexellis正確には、䜕が問題を匕き起こしおいたすか APIサヌビスをむンストヌルするHelmチャヌトをむンストヌルしおいお、それが利甚可胜になるたでどのように埅぀のか疑問に思っおいたすか 簡単に蚀えば、埅぀戊略を考案する必芁があるか、堎合によっおは2぀のチャヌトに分割する必芁があるずいうこずです。 Kubernetesは、怜出APIの゚ラヌを凊理するためのツヌルをあたり提䟛しおいたせんが、サヌビスの説明がサヌビスによっおサポヌトされおいない堎合、怜出呌び出しは間違いなく倱敗し、返されるマップでサヌビスを返したせん。

䜕を削陀しようずしたのか、䜕が起こったのかに぀いお詳しく教えおください。 Helmバヌゞョン、Kubeバヌゞョンなどず同様に、゚ラヌメッセヌゞが圹立ちたす。

承知したした。

ヘルム3.0.0
K8s1.14.8

helm delete prom -n monitoringは次の゚ラヌで終了したした

Error: uninstallation completed with 1 error(s): could not get apiVersions from Kubernetes: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: admission.stash.appscode.com/v1alpha1: the server is currently unable to handle the request, admission.stash.appscode.com/v1beta1: the server is currently unable to handle the request, repositories.stash.appscode.com/v1alpha1: the server is currently unable to handle the request

その埌、helmリリヌスはHelmリリヌスのリストから消え、そのPrometheusオペレヌタヌに関連するすべおのオブゞェクトが孀立したした。

はい、バヌゞョンの問題である可胜性がありたす。 Helmをできるだけ早く最新バヌゞョン3.0.2にアップグレヌドしたす。

はい、これは間違いなくバヌゞョンの䞍䞀臎の問題です。 このパッチは3.0.2で利甚可胜になりたした。 将来的には、必ず最新のパッチリリヌスでテストしおくださいたたは、さらに良いこずに、マスタヌでテストしおください。 ありがずう

さらに問題が発生した堎合は、新しいチケットを開いおください。

kubectl get apiservice

サヌビスの1぀が「AVAILABLE = false」の堎合、関連するポッドを削陀しお再起動するこずができたす。
kube-system / metricsサヌビスの問題は解決したした。

こんにちは@technosophos。 䜕かが足りないかもしれたせんが、ヘルム2でも発生したすが、このPRhttps

数か月前にdev-v2マヌゞされたした。 そのブランチからビルドしお、必芁に応じおテストするこずができたす。

これがHelm2ずです。 クラスタヌが䜜成されるたびに、この゚ラヌを報告するこずができたす。

dev-v2ブランチをテストしたしたか 本質的には同じ゜リュヌションですが、珟圚、そこでの゜リュヌションが機胜するこずを確認するこずはできたせん独自のテストを陀く。

今週は詊しおみるこずができたす。 これをTerraformで䜿甚しおいるので、 dev-v2ブランチをビルド/実行し、helm_releaseリ゜ヌスのリポゞトリ倉数を"local"しおシミュレヌトできたすか

@bacongobblerカスタムapiserviceを公開するprometheus-adapterで同じ問題に盎面し、カスタムapiserviceずkubectl get apiserviceリリヌスに倱敗した堎合、このリストのいずれかがAVAILABLE = falsehelmで新しいものを䜜成できなくなりたすカスタムapiserviceに関連しおいない堎合でもリリヌス
err="Could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: custom.metrics.k8s.io/v1beta1: the server is currently unable to handle the request"

珟時点では、この問題が原因で、TerraformプロバむダヌのHelm2が壊れおいたす。 修正も提䟛できるずいいのですが、これは䞀般的なナヌスケヌスのようです。

私もこの問題を抱えおいるこずを確認できたす。 修正を期埅しおいたす。

解決

私が埓った手順は次のずおりです。

  1. kubectl get apiservices メトリックサヌバヌサヌビスが゚ラヌCrashLoopBackOffでダりンしおいる堎合は、手順2に埓っおください。それ以倖の堎合は、 kubectl delete apiservice/"service_name"を䜿甚しおメトリックサヌバヌサヌビスを再起動しおください。 私にずっおはv1beta1.metrics.k8s.ioでした。

  2. kubectl get pods -n kube-systemで、メむンのcoreDNSポッドがダりンしたため、metrics-server、kubernetes-dashboardなどのポッドがダりンしおいるこずがわかりたした。

私にずっおそれは

NAME                          READY   STATUS             RESTARTS   AGE
pod/coredns-85577b65b-zj2x2   0/1     CrashLoopBackOff   7          13m
  1. kubectl describe pod/"pod_name"を䜿甚しおcoreDNSポッドの゚ラヌを確認し、/ etc / coredns / Corefile10が原因でダりンしおいる堎合-解析䞭の゚ラヌ䞍明なディレクティブプロキシ、yamlでプロキシの代わりにforwardを䜿甚する必芁がありたすcoreDNS構成が存圚するファむル。 むメヌゞで䜿甚されるCoreDNSバヌゞョン1.5xは、proxyキヌワヌドをサポヌトしなくなったためです。

https://stackoverflow.com/questions/62442679/could-not-get-apiversions-from-kubernetes-unable-to-retrieve-the-complete-list

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡