Helm: يقول هيلم إن الحارث مثبت ولم يتمكن من العثور على الحراثة

تم إنشاؤها على ٢٢ سبتمبر ٢٠١٨  ·  32تعليقات  ·  مصدر: 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!

ناتج helm version :
إصدار الدفة
العميل: & version.Version {SemVer: "v2.10.0"، GitCommit: "9ad53aac42165a5fadc6c87be0dea6b115f93090"، GitTreeState: "clean"}
خطأ: لا يمكن العثور على الحارث

ناتج 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"}

مزود / منصة السحابة (AKS ، GKE ، Minikube وما إلى ذلك):
AWS / Kops

questiosupport

التعليق الأكثر فائدة

لقد استخدمت kubectl -n kube-system delete deployment tiller-deploy و kubectl -n kube-system delete service/tiller-deploy . ثم عمل helm --init . كنت أفتقد إزالة الخدمة سابقا.

ال 32 كومينتر

ما هو ناتج kubectl -n kube-system get pods ؟

يتحقق helm init فقط من إرسال بيان النشر إلى kubernetes. إذا كنت تريد التحقق مما إذا كانت الحراثة حية وجاهزة ، فاستخدم helm init --wait . :)

أتلقى رسالة Error: could not find tiller أيضًا ، باستخدام Kubernetes ضمن Docker for Desktop (Mac).

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

تشغيل kubectl -n kube-system get pods على السياق docker-for-desktop يعطيني:

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.)

توقف فقط ... لقد ضغطت على ctrl-c بعد دقيقتين

$ 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

مثير للإعجاب. ماذا عن kubectl -n kube-system get deployments ؟ ربما يكون هناك خطأ ما حيث لا يتم جدولة البودات الجديدة. تحقق من حالة هذا النشر ومعرفة ما إذا كان هناك شيء ما.

إذا قمت بتشغيل helm init --wait على Docker البسيط لإعداد k8s لسطح المكتب ، فإنه يتوقف فقط بدون إخراج.

$ 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.)

تشغيل kubectl -n kube-system get deployments يعطي:

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

أسف على هذا. هل يمكنكما تجربة kubectl -n kube-system describe deployment tiller-deploy ؟ من المحتمل أن تحصل على مزيد من المعلومات حول سبب عدم جدولة البود. إذا لم يكن الأمر كذلك ، يمكنك محاولة تصحيح أخطاء مجموعة النسخ المتماثلة التي نشرها نشر kubernetes (hehe: smile :).

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

إرجاع kubectl -n kube-system describe deployment tiller-deploy :

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>

ومجموعة المقلدة؟ انتقل إلى أسفل القائمة في هذا المستند ومعرفة ما إذا كنت تجد أي شيء مفيد.

شكرًا لي ، لقد تلقيت نفس الخطأ عند وصف المجموعة المتماثلة التي أعطت الخطأ الذي لم أقم بإنشاء حساب الخدمة. لقد حذفت النشر (الحارث) ، وأنشأت حساب الخدمة ثم أعدت تشغيله وعمل

إغلاق باعتبارها قضية مجموعة ، وليس قضية دفة

تعمل مجموعة Kubernetes بشكل رائع ، ولدي العديد من الخدمات التي تعمل تحتها. ما لا يعمل هو الدفة / الحارث.

لقد استخدمت kubectl -n kube-system delete deployment tiller-deploy و kubectl -n kube-system delete service/tiller-deploy . ثم عمل helm --init . كنت أفتقد إزالة الخدمة سابقا.

حل مبوشى يعمل!

يعمل حل mabushey ، ولكن باستخدام helm init بدلاً من helm --init

لقد صادفت مشكلة

بعد تشغيل kubectl -n kube-system describe deployment tiller-deploy حصلت على نفس الناتج. وإذا قرأت بعناية إخراج @ psychemedia فستجده

...

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>

الجزء المهم هو ReplicaFailure True FailedCreate والجزء التالي NewReplicaSet: tiller-deploy-55bfddb486 (0/1 replicas created) .

للعثور على المشكلة التي كان يجب أن يديرها

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

(أو فقط kubectl describe replicaser tiller-deploy-55bfddb486 اعتمادًا على ما إذا تم تعيين مساحة الاسم أم لا ... يمكنك العثور عليها من خلال سرد جميع _replicasets_ kubectl get replicaset --all-namespaces ).

يجب أن يكون سبب عدم إنشاء _replicaset_ مدرجًا هناك تحت Events: .

لقد واجهت بالفعل نفس المشكلة أثناء تشغيلها على مساحة اسم مختلفة عن kube-system .
راجع https://github.com/helm/helm/issues/3304#issuecomment -468997006

إشعار: لا يجب إغلاق هذه البطاقة نظرًا لعدم وجود حل منشور لهذه المشكلة ، مجرد مبالغة أنانية استنتجها عدد قليل من أعضاء هذا الموضوع من حالة فشل النسخ المتماثل والإقرار ضمنيًا لبعضهم البعض ولكن لم يتم تقديمها صراحة إلى السجل. لم يتم نشر خطوات الاستنساخ / الحل.

تم إغلاق هذه المشكلة في الأصل لأنه لم يتم توفير خطوات لإعادة إظهار المشكلة الأصلية. mabushey الصورة الحل في https://github.com/helm/helm/issues/4685#issuecomment -433209134 يبدو لإصلاح القضايا التي كان لها مع مجموعة له، ولكن من دون سلسلة من الخطوات لإعادة إنشاء المشكلة، لا يمكننا حدد أسباب حدوث هذا الموقف في المقام الأول ، وبالتالي قمنا بإغلاقه كتذكرة دعم تم حلها بدون حل قابل للتنفيذ.

لقد مرت 6 أشهر منذ فتح هذه المشكلة ، لذا أشك في أننا سنكون قادرين على اكتشاف الخطوات الدقيقة لإعادة إنتاج بيئةmabushey و psychemedia . ومع ذلك ، إذا كان بإمكانك إعادة إظهار المشكلة بشكل موثوق ، فلا تتردد في الرد هنا بخطواتك حتى نتمكن من فهم كيفية حدوث هذا الخطأ بشكل أفضل وتقديم حل أفضل (أو الأفضل تحديد حل لمعالجة المشكلة). يمكننا بعد ذلك إعادة فتح هذه المشكلة لتحديد ما إذا كان من الممكن توفير تصحيح أم لا.

إذا كنت مستمرا لديهم قضايا وmabushey الصورة الحل في https://github.com/helm/helm/issues/4685#issuecomment -433209134 لا عمل لك، يرجى فتح تذكرة دعم جديد الرجوع إلى هذا الموضوع.

تضمين التغريدة
تحدث المشكلة عندما يتم إنشاء Tiller بدون حساب خدمة مناسب. يحدث هذا لسببين أ. لا يقوم البرنامج النصي الخاص بالدفة بهذا الأمر لأنه يجب أن يفعل ذلك بالتأكيد ب. مساحة الاسم المعنية غير متطابقة مع تعريف حساب خدمة موجود.

للذهاب حوله ، يجب عليك أولاً تشغيل "helm delete" ثم إنشاء ملف rbac-config.yaml:

"
الإصدار: v1.0
النوع: ServiceAccount
البيانات الوصفية:
الاسم: الحارث

مساحة الاسم: kube-system

الإصدار: rbac.authorization.k8s.io/v1
النوع: ClusterRoleBinding
البيانات الوصفية:
الاسم: الحارث
الدور
apiGroup: rbac.authorization.k8s.io
النوع: ClusterRole
الاسم: مدير الكتلة
المواضيع:

  • النوع: ServiceAccount
    الاسم: الحارث
    مساحة الاسم: kube-system
    "

إذا كنت تحتاج إلى استخدام مساحة اسم مختلفة ، فتأكد من أنها تتوافق لاحقًا مع تثبيت Tiller الخاص بك وأن دور مسؤول المجموعة موجود (عادةً ما يكون كذلك!)

ثم
$ kubectl create -f rbac-config.yaml
تم إنشاء حساب الخدمة "الحارث"
تم إنشاء الربط العنقودي "الحارث"
$ helm init - service-account tiller - history-max 200

وأنت على ما يرام.

لذلك حاولت إنشاء حساب الخدمة كما هو موضح بواسطة @ datascienceteam01 - نجحت. هل بدا أن قائد الدفة - حساب الخدمة (وما إلى ذلك) - قد نجح.

لكن يبدو أن النشر فقط ... تدور. لا توجد أحداث ، أبرزها:

$ 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>

آسف لإحياء خيط ميت ، والأعراض تبدو مختلفة قليلاً. التكوين الخاص بي هو نوع من التنسيق الفرانك: Docker Desktop يعمل في نظام التشغيل Windows 10 ، تم تثبيت الدفة ضمن غلاف Ubuntu (خدمات Linux). يبدو Kubernetes سعيدًا ؛ يمكنني أن أفعل كل الأشياء المعتادة kubectl. أنا فقط أواجه بعض المشاكل في الحصول على دفة القيادة للعمل.

أي أفكار حول كيفية استكشاف الأخطاء وإصلاحها؟

سأحاول بدء تشغيل الدفة تحت النوافذ (إذا كان بإمكاني معرفة كيفية تثبيت الدفة في Windows!) إذا لم أتمكن من اكتشافها تحت غلاف Ubuntu bash ، لكنني أرغب حقًا في التأكد من أنها تعمل تحت نظام Linux shell ، لأن هذه هي بيئة التطوير "الحقيقية" الخاصة بي.

أيضًا ، آسف للتطوير على Windows. في الوقت الحالي ، على الأقل ، ليس لدي خيارات أخرى :)

هذه القضية مؤلمة لفترة طويلة. التفكير في الخروج من هيلم. تنهد!!. في كل مرة تفشل خطوط الأنابيب الخاصة بي بسبب هذا.

Tenseiga هل يمكنك توضيح المشكلة حتى نتمكن من مساعدتك؟ قد تعطينا معلومات مثل helm version output ، kubectl version output, and also check anything relating to the tiller pod logs, tiller deployment, tiller replica set using kubectl وصف`. سنبذل قصارى جهدنا لإصلاحه!

tomcanham ، يمكنك المساعدة هنا أيضًا ، لإعادة

أي تحديث على هذا؟

helm init (بدون أي خيارات إضافية) هو التذكرة التي قمت بتثبيتها / برنامج التثبيت. كل شيء على ما يرام بعد ذلك.

تحدث هذه المشكلة لي في كل مرة أحاول فيها التبديل من مجموعة إلى أخرى باستخدام "config set-Context" ، فإن Kubernetes يغير السياق بشكل جيد ولكن الدفة لا تفعل ذلك ، وبدلاً من ذلك ينبعث "خطأ: تعذر العثور على الحارث" ، عندما أحاول "helm init" I get "تحذير: Tiller مثبت بالفعل في المجموعة".
إذا قمت بالتغيير مرة أخرى ، تعمل قيادة السياق مرة أخرى. لست متأكدًا مما إذا كانت المجموعة ذات صلة ولكن المجموعة التي تعمل عليها هي PKS وتلك التي لا تعمل عليها هي EKS.

بعد الكثير من ضرب رأسي في الحائط ، اكتشفت سبب رؤيتي لهذه المشكلة ... وفقًا لوثائق aws لـ EKS HERE ، قمت بتعيين متغير البيئة TILLER_NAMESPACE على tiller . كان هذا يتسبب في قيام ثنائي الدفة بنشر أداة الحرث في مساحة الاسم tiller (اذهب إلى الشكل).

بعد إلغاء ضبط هذا المتغير وإعادة النشر ، كان كل شيء على ما يرام ...

يمكنك أيضًا تجاوز هذه الإعدادات باستخدام قوائم سطر الأوامر الموثقة هنا

HTH

لماذا يتم إغلاق هذا إذا كان هناك الكثير من الأشخاص يواجهون مشكلات مع هذا؟

لقد فتحت سؤالاً حول stackoverflow: https://stackoverflow.com/questions/57906429/helm-init-says-tiller-is-already-on-cluster-but-its-not

هل جربتم جميعًا:

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

الحارث. 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

هذا جزء من البرنامج النصي up.sh لبدء مجموعة مطوري البرامج من البداية. كانت العلامة --upgrade ضرورية للسماح بتنفيذها عدة مرات. أعتقد أن الخطأ الأصلي المتعلق بعدم القدرة على العثور على أداة الحرث مرتبط بتثبيتها ولكن لم يتم العثور على الكبسولة tiller-deploy-* في kube-system .

عملت من أجلي باتباع https://helm.sh/docs/using_helm/#tiller -and-role-based-access-control
فقط قم بإنشاء yaml وقم بتشغيل الأمر

النقطة هي أن الخطأ مضلل. هذه هي القضية في عيني.

حصلت على الخطأ أدناه

kubeflow @ masternode : ~ $ helm init --service-accountILLer --upgrade
تم تكوين HELM_HOME $ في /home/kubeflow/.helm.
خطأ: خطأ في التثبيت: تعذر على الخادم العثور على المورد المطلوب
kubeflow @ masternode : ~ $

نقدر أي مساعدة

kubectl -n kube-system حذف أداة نشر النشر

إنه يعمل ولكن مع تغيير بسيط

استخدم $ helm init

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات