Helm: Helm mengatakan anakan dipasang DAN tidak dapat menemukan anakan

Dibuat pada 22 Sep 2018  ·  32Komentar  ·  Sumber: helm/helm

helm init --service-account tiller
$HELM_HOME has been configured at /home/ubuntu/.helm.
Warning: Tiller is already installed in the cluster.
(Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)
Happy Helming!

Output dari helm version :
versi $ helm
Klien: & version.Version {SemVer: "v2.10.0", GitCommit: "9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState: "clean"}
Kesalahan: tidak dapat menemukan penggarap

Output dari kubectl version :

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.2", GitCommit:"bb9ffb1654d4a729bb4cec18ff088eacc153c239", GitTreeState:"clean", BuildDate:"2018-08-07T23:17:28Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T17:53:03Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

Penyedia / Platform Cloud (AKS, GKE, Minikube, dll.):
AWS / Kops

questiosupport

Komentar yang paling membantu

Saya menggunakan kubectl -n kube-system delete deployment tiller-deploy dan kubectl -n kube-system delete service/tiller-deploy . Kemudian helm --init bekerja. Saya melewatkan menghapus layanan sebelumnya.

Semua 32 komentar

Apa keluaran dari kubectl -n kube-system get pods ?

helm init hanya memeriksa bahwa manifes penerapan telah dikirim ke kubernetes. Jika Anda ingin memeriksa apakah tiller aktif dan siap, gunakan helm init --wait . :)

Saya mendapatkan pesan Error: could not find tiller juga, menggunakan Kubernetes di bawah Docker untuk Desktop (Mac).

helm version
Client: &version.Version{SemVer:"v2.10.0", GitCommit:"9ad53aac42165a5fadc6c87be0dea6b115f93090", GitTreeState:"clean"}
Error: could not find tiller

Menjalankan kubectl -n kube-system get pods pada konteks docker-for-desktop memberi saya:

etcd-docker-for-desktop                      1/1       Running   1          8m
kube-apiserver-docker-for-desktop            1/1       Running   1          8m
kube-controller-manager-docker-for-desktop   1/1       Running   1          8m
kube-dns-86f4d74b45-t8pq8                    3/3       Running   0          11m
kube-proxy-d6c4q                             1/1       Running   0          9m
kube-scheduler-docker-for-desktop            1/1       Running   1          8m
$ helm init --wait
$HELM_HOME has been configured at /home/ubuntu/.helm.
Warning: Tiller is already installed in the cluster.
(Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)

Hanya hang ... Saya menekan ctrl-c setelah 2 menit

$ kubectl -n kube-system get pods
NAME                                                                 READY     STATUS    RESTARTS   AGE
coredns-59558d567-6qgbv                                              1/1       Running   0          7d
coredns-59558d567-s6w7t                                              1/1       Running   0          7d
dns-controller-b76dfc754-f9vlj                                       1/1       Running   0          7d
etcd-server-events-ip-10-132-1-49.us-west-2.compute.internal         1/1       Running   3          7d
etcd-server-events-ip-10-132-2-171.us-west-2.compute.internal        1/1       Running   0          7d
etcd-server-events-ip-10-132-3-80.us-west-2.compute.internal         1/1       Running   0          7d
etcd-server-ip-10-132-1-49.us-west-2.compute.internal                1/1       Running   3          7d
etcd-server-ip-10-132-2-171.us-west-2.compute.internal               1/1       Running   0          7d
etcd-server-ip-10-132-3-80.us-west-2.compute.internal                1/1       Running   0          7d
kube-apiserver-ip-10-132-1-49.us-west-2.compute.internal             1/1       Running   1          7d
kube-apiserver-ip-10-132-2-171.us-west-2.compute.internal            1/1       Running   1          7d
kube-apiserver-ip-10-132-3-80.us-west-2.compute.internal             1/1       Running   1          7d
kube-controller-manager-ip-10-132-1-49.us-west-2.compute.internal    1/1       Running   0          7d
kube-controller-manager-ip-10-132-2-171.us-west-2.compute.internal   1/1       Running   0          7d
kube-controller-manager-ip-10-132-3-80.us-west-2.compute.internal    1/1       Running   0          7d
kube-proxy-ip-10-132-1-103.us-west-2.compute.internal                1/1       Running   0          7d
kube-proxy-ip-10-132-1-49.us-west-2.compute.internal                 1/1       Running   0          7d
kube-proxy-ip-10-132-2-171.us-west-2.compute.internal                1/1       Running   0          7d
kube-proxy-ip-10-132-2-175.us-west-2.compute.internal                1/1       Running   0          7d
kube-proxy-ip-10-132-3-115.us-west-2.compute.internal                1/1       Running   0          7d
kube-proxy-ip-10-132-3-80.us-west-2.compute.internal                 1/1       Running   0          7d
kube-scheduler-ip-10-132-1-49.us-west-2.compute.internal             1/1       Running   0          7d
kube-scheduler-ip-10-132-2-171.us-west-2.compute.internal            1/1       Running   0          7d
kube-scheduler-ip-10-132-3-80.us-west-2.compute.internal             1/1       Running   0          7d

Menarik. Bagaimana dengan kubectl -n kube-system get deployments ? Mungkin ada yang salah saat pod baru tidak dijadwalkan. Periksa status penerapan itu dan lihat apakah ada sesuatu yang terjadi.

Jika saya menjalankan helm init --wait pada Docker sederhana saya untuk pengaturan k8s Desktop, itu hanya hang tanpa keluaran.

$ helm init --wait
$HELM_HOME has been configured at ~/.helm.
Warning: Tiller is already installed in the cluster.
(Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.)

Menjalankan kubectl -n kube-system get deployments memberikan:

kubectl -n kube-system get deployments
NAME            DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
kube-dns        1         1         1            1           10h
tiller-deploy   1         0         0            0           10h
$ kubectl -n kube-system get deployments
NAME             DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
coredns          2         2         2            2           7d
dns-controller   1         1         1            1           7d
tiller-deploy    1         0         0            0           7d

Maaf soal ini. Bisakah Anda berdua mencoba kubectl -n kube-system describe deployment tiller-deploy ? Anda mungkin akan mendapatkan lebih banyak informasi tentang mengapa pod tidak dijadwalkan. jika tidak, Anda dapat mencoba men-debug set replika yang telah di-deploy oleh kubernetes (hehe: smile :).

https://kubernetes.io/docs/tasks/debug-application-cluster/debug-application/#debugging -replication-controllers

kubectl -n kube-system describe deployment tiller-deploy kembali:

kubectl -n kube-system describe deployment tiller-deploy
Name:                   tiller-deploy
Namespace:              kube-system
CreationTimestamp:      Tue, 25 Sep 2018 23:36:14 +0100
Labels:                 app=helm
                        name=tiller
Annotations:            deployment.kubernetes.io/revision=2
Selector:               app=helm,name=tiller
Replicas:               1 desired | 0 updated | 0 total | 0 available | 1 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  1 max unavailable, 1 max surge
Pod Template:
  Labels:           app=helm
                    name=tiller
  Service Account:  tiller
  Containers:
   tiller:
    Image:       gcr.io/kubernetes-helm/tiller:v2.10.0
    Ports:       44134/TCP, 44135/TCP
    Host Ports:  0/TCP, 0/TCP
    Command:
      /tiller
      --listen=localhost:44134
    Liveness:   http-get http://:44135/liveness delay=1s timeout=1s period=10s #success=1 #failure=3
    Readiness:  http-get http://:44135/readiness delay=1s timeout=1s period=10s #success=1 #failure=3
    Environment:
      TILLER_NAMESPACE:    kube-system
      TILLER_HISTORY_MAX:  0
    Mounts:                <none>
  Volumes:                 <none>
Conditions:
  Type             Status  Reason
  ----             ------  ------
  Available        True    MinimumReplicasAvailable
  ReplicaFailure   True    FailedCreate
  Progressing      False   ProgressDeadlineExceeded
OldReplicaSets:    <none>
NewReplicaSet:     tiller-deploy-55bfddb486 (0/1 replicas created)
Events:            <none>

dan set replika? pada dasarnya turun daftar di dokumen itu dan lihat apakah Anda menemukan sesuatu yang berguna.

terima kasih untuk saya, saya mendapat kesalahan yang sama saat menjelaskan replika set itu memberikan kesalahan bahwa saya belum membuat akun layanan. Saya menghapus penerapan (anakan), membuat akun layanan, lalu menjalankan ulang dan berhasil

menutup sebagai masalah cluster, bukan masalah helm

Cluster Kubernetes berfungsi dengan baik, saya memiliki banyak layanan yang berjalan di bawahnya. Yang tidak berhasil adalah helm / anakan.

Saya menggunakan kubectl -n kube-system delete deployment tiller-deploy dan kubectl -n kube-system delete service/tiller-deploy . Kemudian helm --init bekerja. Saya melewatkan menghapus layanan sebelumnya.

solusi mabushey, berhasil!

Solusi @mabushey berfungsi, tetapi dengan helm init bukan helm --init

Saya juga menemukan masalah @psychemedia .

Setelah menjalankan kubectl -n kube-system describe deployment tiller-deploy saya memiliki output yang sama. Dan jika Anda membaca dengan cermat keluaran @psychemedia dikatakan

...

Conditions:
  Type             Status  Reason
  ----             ------  ------
  Available        True    MinimumReplicasAvailable
  ReplicaFailure   True    FailedCreate
  Progressing      False   ProgressDeadlineExceeded
OldReplicaSets:    <none>
NewReplicaSet:     tiller-deploy-55bfddb486 (0/1 replicas created)
Events:            <none>

Bit yang penting adalah ReplicaFailure True FailedCreate dan berikut NewReplicaSet: tiller-deploy-55bfddb486 (0/1 replicas created) .

Untuk menemukan masalah apa yang seharusnya dia jalankan

kubectl -n kube-system describe replicaser tiller-deploy-55bfddb486

(atau hanya kubectl describe replicaser tiller-deploy-55bfddb486 tergantung apakah namespace disetel atau tidak ... Anda dapat menemukannya dengan mencantumkan semua _replicasets_ kubectl get replicaset --all-namespaces ).

Alasan mengapa _replicaset_ tidak dibuat seharusnya terdaftar di sana di bawah Events: .

Saya sebenarnya mengalami masalah yang sama saat menjalankan namespace berbeda dari kube-system .
Lihat https://github.com/helm/helm/issues/3304#issuecomment -468997006

PEMBERITAHUAN: Tiket ini tidak boleh ditutup karena tidak ada solusi yang dipublikasikan untuk masalah ini, hanya pernyataan berlebihan yang egois bahwa beberapa anggota utas ini menyimpulkan dari status ReplicaFailure dan mengakui secara diam-diam satu sama lain tetapi tidak pernah diberikan secara eksplisit ke log. Tidak ada langkah reproduksi / solusi yang diterbitkan.

Masalah ini awalnya ditutup karena tidak ada langkah yang diberikan untuk mereproduksi masalah aslinya. Solusi @mabushey di https://github.com/helm/helm/issues/4685#issuecomment -433209134 tampaknya memperbaiki masalah yang dia alami dengan clusternya, tetapi tanpa serangkaian langkah untuk mereproduksi masalah tersebut, kami tidak dapat mengidentifikasi apa yang menyebabkan situasi ini terjadi sejak awal, dan oleh karena itu kami menutupnya sebagai tiket dukungan yang diselesaikan tanpa resolusi yang dapat ditindaklanjuti.

Sudah 6 bulan sejak edisi ini dibuka, jadi saya ragu kami akan dapat menemukan langkah yang tepat untuk mereproduksi lingkungan @mabushey dan @psychemedia . Namun, Jika Anda dapat mereproduksi masalah dengan andal, silakan menanggapi di sini dengan langkah-langkah Anda sehingga kami dapat lebih memahami bagaimana bug ini terjadi dan memberikan solusi yang lebih baik (atau lebih baik lagi, mengidentifikasi perbaikan untuk mengatasi masalah). Kami kemudian dapat membuka kembali masalah ini untuk menentukan apakah tambalan dapat diberikan.

Jika Anda terus memiliki masalah dan solusi @mabushey 's di https://github.com/helm/helm/issues/4685#issuecomment -433.209.134 tidak bekerja untuk Anda, silahkan buka tiket dukungan baru referensi masalah ini.

@bayu_joo
Masalah terjadi saat Tiller dibuat tanpa akun layanan yang tepat. Ini terjadi karena dua alasan a. skrip helm init tidak melakukan ini sebagaimana mestinya b. namespace yang dipermasalahkan tidak sesuai dengan definisi akun layanan yang ada.

Untuk mengelilinginya, pertama-tama Anda harus menjalankan "helm delete" dan kemudian membuat rbac-config.yaml:

`
apiVersion: v1
jenis: ServiceAccount
metadata:
nama: anakan

namespace: sistem kube

apiVersion: rbac.authorization.k8s.io/v1
Jenis: ClusterRoleBinding
metadata:
nama: anakan
roleRef:
apiGroup: rbac.authorization.k8s.io
Jenis: Peran Gugus
nama: cluster-admin
subyek:

  • jenis: ServiceAccount
    nama: anakan
    namespace: sistem kube
    `

jika Anda perlu menggunakan namespace yang berbeda, pastikan nanti cocok dengan penginstalan Tiller Anda dan bahwa peran cluster-admin ada (biasanya memang demikian!)

Kemudian
$ kubectl buat -f rbac-config.yaml
serviceaccount "tiller" dibuat
clusterrolebinding "tiller" dibuat
$ helm init --service-account tiller --history-max 200

Dan Anda siap untuk pergi.

Jadi saya mencoba membuat akun layanan seperti yang dijelaskan oleh @ datasetcienceteam01 - berhasil. Apakah helm init --service-account (etc.) - sepertinya berhasil.

Tapi penerapannya tampaknya hanya ... berputar. Tidak ada acara, terutama:

$ kubectl -n kube-system describe deployment tiller-deploy
Name:                   tiller-deploy
Namespace:              kube-system
CreationTimestamp:      Sun, 28 Apr 2019 10:26:24 -0700
Labels:                 app=helm
                        name=tiller
Annotations:            <none>
Selector:               app=helm,name=tiller
Replicas:               1 desired | 0 updated | 0 total | 0 available | 0 unavailable
StrategyType:           RollingUpdate
MinReadySeconds:        0
RollingUpdateStrategy:  1 max unavailable, 1 max surge
Pod Template:
  Labels:           app=helm
                    name=tiller
  Service Account:  tiller
  Containers:
   tiller:
    Image:       gcr.io/kubernetes-helm/tiller:v2.13.1
    Ports:       44134/TCP, 44135/TCP
    Host Ports:  0/TCP, 0/TCP
    Liveness:    http-get http://:44135/liveness delay=1s timeout=1s period=10s #success=1 #failure=3
    Readiness:   http-get http://:44135/readiness delay=1s timeout=1s period=10s #success=1 #failure=3
    Environment:
      TILLER_NAMESPACE:    kube-system
      TILLER_HISTORY_MAX:  200
    Mounts:                <none>
  Volumes:                 <none>
OldReplicaSets:            <none>
NewReplicaSet:             <none>
Events:                    <none>

Maaf untuk menghidupkan kembali utas mati, dan gejalanya terlihat sedikit berbeda. Konfigurasi saya agak frankenconfig: Docker Desktop berjalan di Windows 10, helm diinstal di bawah shell Ubuntu (Layanan untuk Linux). Kubernetes tampak senang; Saya bisa melakukan semua hal kubectl biasa. Saya hanya mengalami beberapa masalah mendapatkan kemudi untuk bekerja.

Ada pemikiran tentang cara memecahkan masalah?

Saya akan mencoba helm init di bawah windows (jika saya bisa mengetahui cara memasang helm di windows!) Jika saya tidak bisa mengetahuinya di bawah shell bash Ubuntu, tetapi saya benar-benar ingin memastikannya berfungsi di bawah shell Linux, karena itulah lingkungan dev "nyata" saya.

Juga, maaf karena telah merusak Windows. Saat ini, setidaknya, saya tidak punya pilihan lain :)

masalah ini menyakitkan untuk waktu yang lama. Berpikir untuk keluar dari Helm. mendesah!!. Setiap kali saluran pipa saya gagal karena ini.

@Tenseiga Bisakah Anda menjelaskan masalah ini agar kami dapat membantu Anda? Dapat memberi kita info seperti helm version output, kubectl version output, and also check anything relating to the tiller pod logs, tiller deployment, tiller replica set using kubectl menggambarkan`. Kami akan mencoba sebaik mungkin untuk memperbaikinya!

@tomcanham Anda juga dapat membantu di sini, untuk mereproduksi masalah, jika Anda masih menghadapi masalah!

Ada pembaruan tentang ini?

helm init (tanpa opsi tambahan) adalah tiket untuk saya yang memasang / menyiapkan anakan. semuanya baik-baik saja setelah itu.

Masalah ini terjadi pada saya setiap kali saya mencoba untuk beralih dari cluster ke cluster dengan menggunakan "config set-context", Kubernetes mengubah konteks dengan baik tetapi helm tidak, sebaliknya ia mengeluarkan "Error: tidak dapat menemukan anakan", ketika saya mencoba "helm init" Saya mendapat "Peringatan: Tiller sudah terpasang di cluster".
Jika saya mengubah kembali konteks helm berfungsi lagi. tidak yakin apakah relevan tetapi cluster yang dikerjakan adalah PKS dan cluster yang tidak dikerjakan adalah EKS.

Setelah BANYAK memukuli kepala saya ke dinding, saya menemukan mengapa saya melihat masalah ini ... Menurut dokumentasi aws untuk EKS HERE , Anda menyetel variabel lingkungan TILLER_NAMESPACE ke tiller . Hal ini menyebabkan biner helm untuk menyebarkan anakan di namespace tiller (go figure).

Setelah menghapus variabel itu dan menerapkan kembali, semuanya baik-baik saja ...

Anda juga dapat mengganti pengaturan tersebut dengan argumen baris perintah yang didokumentasikan DI SINI

HTH

Mengapa ini ditutup jika begitu banyak orang mengalami masalah dengan ini?

Saya telah membuka pertanyaan tentang stackoverflow: https://stackoverflow.com/questions/57906429/helm-init-says-tiller-is-already-on-cluster-but-its-not

Sudahkah Anda semua mencoba:

kubectl apply -f tiller.yaml
helm init --service-account tiller --upgrade

tiller.yaml:

kind: ServiceAccount
apiVersion: v1
metadata:
  name: tiller
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: tiller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
  - kind: ServiceAccount
    name: tiller
    namespace: kube-system

Ini adalah bagian dari skrip up.sh saya untuk memulai cluster dev saya dari awal. Flag --upgrade diperlukan agar dapat dijalankan beberapa kali. Saya yakin kesalahan asli tentang tidak dapat menemukan anakan terkait dengan pemasangannya tetapi pod tiller-deploy-* tidak ditemukan di kube-system .

Bekerja untuk saya dengan mengikuti https://helm.sh/docs/using_helm/#tiller -and-role-based-access-control
Cukup buat yaml dan jalankan perintah

Intinya, kesalahan itu menyesatkan. ITULAH masalah di mata saya.

saya mendapatkan kesalahan di bawah ini

kubeflow @ masternode : ~ $ helm init --service-account tiller --upgrade
$ HELM_HOME telah dikonfigurasi di /home/kubeflow/.helm.
Kesalahan: kesalahan pemasangan: server tidak dapat menemukan sumber daya yang diminta
kubeflow @ masternode : ~ $

menghargai bantuan apapun

kubectl -n kube-system menghapus penerapan tiller-deploy

Ini berhasil tetapi dengan perubahan kecil

gunakan $ helm init

Apakah halaman ini membantu?
0 / 5 - 0 peringkat