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
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
apiVersion: rbac.authorization.k8s.io/v1
Jenis: ClusterRoleBinding
metadata:
nama: anakan
roleRef:
apiGroup: rbac.authorization.k8s.io
Jenis: Peran Gugus
nama: cluster-admin
subyek:
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
Komentar yang paling membantu
Saya menggunakan
kubectl -n kube-system delete deployment tiller-deploy
dankubectl -n kube-system delete service/tiller-deploy
. Kemudianhelm --init
bekerja. Saya melewatkan menghapus layanan sebelumnya.