Helm: HelminitファむルはKubernetes1.16.0にありたす

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

helm version出力v2.14.3
kubectl version出力クラむアントv1.15.3、サヌバヌv1.16.0-rc.1
クラりドプロバむダヌ/プラットフォヌムAKS、GKE、MinikubeなどIBM Cloud Kubernetes Service

$ helm init --service-account tiller
$HELM_HOME has been configured at /Users/xxxx/.helm.
Error: error installing: the server could not find the requested resource

$ helm init --debug --service-account tiller
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
. 
.
.

ヘルムがtillerデプロむメントを䜜成しようずしおいるようです apiVersion: extensions/v1beta1
によるず https 
それはもうサポヌトされおいたせん。

最も参考になるコメント

次のsedは私のために働きたす

helm init --service-account tiller --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | sed 's@  replicas: 1@  replicas: 1\n  selector: {"matchLabels": {"app": "helm", "name": "tiller"}}@' | kubectl apply -f -

@mattymo゜リュヌションkubectl patch --localを䜿甚の問題は、入力に耇数のリ゜ヌスここではデプロむメントずサヌビスが含たれおいる堎合は機胜しないように芋えるこずです。

党おのコメント83件

helm init --upgrade extensions/v1beta1ずapps/v1䞡方の耕うん機の展開を調敎する耇雑さのため、過去に耕うん機をapps / v1に曎新するこずを避けおきたした。 Kubernetes 1.16.0のサポヌトを開始したら、今埌そのケヌスを凊理しお、新しいapiVersionに移行する必芁があるようです。

短期的な回避策は次のずおりです。

helm init --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

実際、それは十分ではありたせん。 それでも゚ラヌが発生したす

error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec

これには次のパッチを適甚できたす。

/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'

いいね --overrideフラグを䜿甚するず、クレむゞヌなsedハックず同じ効果が埗られる可胜性がありたす:)

いいね --overrideフラグを䜿甚するず、クレむゞヌなsedハックず同じ効果が埗られる可胜性がありたす:)

はい、でも圌のクレむゞヌなsedハックはコピヌペヌストできたすが、このhelm init --override "apiVersion"="apps/v1"は機胜したせん。 わかりたした、sedハックも機胜したせん。

珟圚の回避策は次のようになりたす。

helm init --output yaml> tiller.yaml
そしおtiller.yamlを曎新したす

  • apps / v1に倉曎
  • セレクタヌフィヌルドを远加したす
---
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
....

次のsedは私のために働きたす

helm init --service-account tiller --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | sed 's@  replicas: 1@  replicas: 1\n  selector: {"matchLabels": {"app": "helm", "name": "tiller"}}@' | kubectl apply -f -

@mattymo゜リュヌションkubectl patch --localを䜿甚の問題は、入力に耇数のリ゜ヌスここではデプロむメントずサヌビスが含たれおいる堎合は機胜しないように芋えるこずです。

Kubernetes 1.16.0は昚日リリヌスされたした2018幎9月18日。
䞊蚘の回避策を䜿甚しない限り、この最新のKubernetesリリヌスではHelmが壊れおいたす。

この問題はい぀修正され、 Helm 2.15.0はい぀リリヌスされたすか

1぀少ないsedを䜿甚したい堎合:)
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

ありがずう

今日、私は同じ問題に遭遇したした、私は自分でラベルを倉曎したした。 ラベルをapps/v1に倉曎し、 selector郚分を远加したす。今のずころ、パフォヌマンスは優れおいたす。以䞋は私のyamlファむルです。

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: helm
        name: tiller
    spec:
      automountServiceAccountToken: true
      containers:
      - env:
        - name: TILLER_NAMESPACE
          value: kube-system
        - name: TILLER_HISTORY_MAX
          value: "0"
        image: gcr.io/kubernetes-helm/tiller:v2.14.3
        imagePullPolicy: IfNotPresent
        livenessProbe:
          httpGet:
            path: /liveness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        name: tiller
        ports:
        - containerPort: 44134
          name: tiller
        - containerPort: 44135
          name: http
        readinessProbe:
          httpGet:
            path: /readiness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        resources: {}
      serviceAccountName: tiller
status: {}

@jbretteあなたは私のヒヌロヌです 私はselectorスタンザに苊劎しおいたした。

今日、私は同じ問題に遭遇したした、私は自分でラベルを倉曎したした。 ラベルをapps/v1に倉曎し、 selector郚分を远加したす。今のずころ、パフォヌマンスは優れおいたす。以䞋は私のyamlファむルです。

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: helm
        name: tiller
    spec:
      automountServiceAccountToken: true
      containers:
      - env:
        - name: TILLER_NAMESPACE
          value: kube-system
        - name: TILLER_HISTORY_MAX
          value: "0"
        image: gcr.io/kubernetes-helm/tiller:v2.14.3
        imagePullPolicy: IfNotPresent
        livenessProbe:
          httpGet:
            path: /liveness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        name: tiller
        ports:
        - containerPort: 44134
          name: tiller
        - containerPort: 44135
          name: http
        readinessProbe:
          httpGet:
            path: /readiness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        resources: {}
      serviceAccountName: tiller
status: {}

倉曎する方法  詳现を教えおください。

今日、私は同じ問題に遭遇したした、私は自分でラベルを倉曎したした。 ラベルをapps/v1に倉曎し、 selector郚分を远加したす。今のずころ、パフォヌマンスは優れおいたす。以䞋は私のyamlファむルです。

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: helm
        name: tiller
    spec:
      automountServiceAccountToken: true
      containers:
      - env:
        - name: TILLER_NAMESPACE
          value: kube-system
        - name: TILLER_HISTORY_MAX
          value: "0"
        image: gcr.io/kubernetes-helm/tiller:v2.14.3
        imagePullPolicy: IfNotPresent
        livenessProbe:
          httpGet:
            path: /liveness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        name: tiller
        ports:
        - containerPort: 44134
          name: tiller
        - containerPort: 44135
          name: http
        readinessProbe:
          httpGet:
            path: /readiness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        resources: {}
      serviceAccountName: tiller
status: {}

@ gm12367倉曎方法ず詳现を教えおいただけたすか

今日、私は同じ問題に遭遇したした、私は自分でラベルを倉曎したした。 ラベルをapps/v1に倉曎し、 selector郚分を远加したす。今のずころ、パフォヌマンスは優れおいたす。以䞋は私のyamlファむルです。

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: helm
        name: tiller
    spec:
      automountServiceAccountToken: true
      containers:
      - env:
        - name: TILLER_NAMESPACE
          value: kube-system
        - name: TILLER_HISTORY_MAX
          value: "0"
        image: gcr.io/kubernetes-helm/tiller:v2.14.3
        imagePullPolicy: IfNotPresent
        livenessProbe:
          httpGet:
            path: /liveness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        name: tiller
        ports:
        - containerPort: 44134
          name: tiller
        - containerPort: 44135
          name: http
        readinessProbe:
          httpGet:
            path: /readiness
            port: 44135
          initialDelaySeconds: 1
          timeoutSeconds: 1
        resources: {}
      serviceAccountName: tiller
status: {}

@ gm12367倉曎方法ず詳现を教えおいただけたすか

たずえば、 helm init --service-account tiller --tiller-namespace kube-system --debugを䜿甚しおYAML圢匏のマニフェストを印刷できたす。 --debugオプションはこれを行いたす

@ gm12367はい、印刷物は衚瀺されたすが、出力されたす。 では、どのコマンドで出力を倉曎できたすか

@ gm12367 apps / v1を倉曎し、セレクタヌ郚分を远加したい

@ puww1010出力をファむルにリダむレクトし、VIMを䜿甚しお倉曎したした。 以䞋のコマンドを参考にしおください。

# helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml
# vim helm-init.yaml
# kubectl apply -f helm-init.yaml

go環境がセットアップされおいお、この問題を修正する次のPR [Kubernetes1.16ず互換性のあるHelminit]6462がマヌゞされるたで埅おない堎合は、い぀でも次のこずができたす。

ビルド

mkdir p ${GOPATH}/src/k8s.io
cd ${GOPATH}/src/k8s.io 
git clone -b kube16 https://github.com/keleustes/helm.git
cd helm
make bootstrap build

テスト

kubectl version

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:27:17Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
/bin/helm init --wait --tiller-image gcr.io/kubernetes-helm/tiller:v2.14.3
Creating /home/xxx/.helm
Creating /home/xxx/.helm/repository
Creating /home/xxx/.helm/repository/cache
Creating /home/xxx/.helm/repository/local
Creating /home/xxx/.helm/plugins
Creating /home/xxx/.helm/starters
Creating /home/xxx/.helm/cache/archive
Creating /home/xxx/.helm/repository/repositories.yaml
Adding stable repo with URL: https://kubernetes-charts.storage.googleapis.com
Adding local repo with URL: http://127.0.0.1:8879/charts
$HELM_HOME has been configured at /home/xxx/.helm.

Tiller (the Helm server-side component) has been installed into your Kubernetes Cluster.

Please note: by default, Tiller is deployed with an insecure 'allow unauthenticated users' policy.
To prevent this, run `helm init` with the --tiller-tls-verify flag.
For more information on securing your installation see: https://docs.helm.sh/using_helm/#securing-your-helm-installation

`` `bash
kubectl getdeployment.apps / tiller-deploy -n kube-system -o yaml

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: "2019-09-22T01:01:11Z"
  generation: 1
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
  resourceVersion: "553"
  selfLink: /apis/apps/v1/namespaces/kube-system/deployments/tiller-deploy
  uid: 124001ca-6f31-417e-950b-2452ce70f522
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: helm
      name: tiller
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: helm
        name: tiller
    spec:
      automountServiceAccountToken: true
      containers:
      - env:
        - name: TILLER_NAMESPACE
          value: kube-system
        - name: TILLER_HISTORY_MAX
          value: "0"
        image: gcr.io/kubernetes-helm/tiller:v2.14.3
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /liveness
            port: 44135
            scheme: HTTP
          initialDelaySeconds: 1
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: tiller
        ports:
        - containerPort: 44134
          name: tiller
          protocol: TCP
        - containerPort: 44135
          name: http
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /readiness
            port: 44135
            scheme: HTTP
          initialDelaySeconds: 1
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: "2019-09-22T01:01:23Z"
    lastUpdateTime: "2019-09-22T01:01:23Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  - lastTransitionTime: "2019-09-22T01:01:11Z"
    lastUpdateTime: "2019-09-22T01:01:23Z"
    message: ReplicaSet "tiller-deploy-568db6b69f" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1

@jbrette指瀺に埓った埌も、同じ問題が発生したす

@jbrette指瀺に埓った埌も、同じ問題が発生したす

「./bin/helm」ではなく「helm」ず入力したようです。叀いバヌゞョンのバむナリを䜿甚しおいたす。

初期化が成功するず、extensions / v1beta1も眮き換えるたで、リポゞトリからチャヌトパッケヌゞをむンストヌルできなくなりたす。
k8sv1.16.0のリポゞトリからチャヌトを適応させる方法は次のずおりです
この䟋は、プロメテりスチャヌトに基づいおいたす。

git clone https://github.com/helm/charts
cd charts/stable

extension / v1beta1をpolicy / v1beta1PodSecurityPolicyに眮き換えたす。

sed -i 's<strong i="11">@apiVersion</strong>: extensions/v1beta1<strong i="12">@apiVersion</strong>: policy/v1beta1@' `find . -iregex ".*yaml\|.*yml" -exec awk '/kind:\s+PodSecurityPolicy/ {print FILENAME}' {} +`

NetworkPolicy apiVersionは、それが䜿甚されるチャヌトの_helpers.tplによっお適切に凊理されたす。

Deployment、StatefulSet、ReplicaSet、DaemonSetでextensions / v1beta1をapps / v1に眮き換えたす

sed -i 's<strong i="17">@apiVersion</strong>: extensions/v1beta1<strong i="18">@apiVersion</strong>: apps/v1@' `find . -iregex ".*yaml\|.*yml" -exec awk '/kind:\s+(Deployment|StatefulSet|ReplicaSet|DaemonSet)/ {print FILENAME}' {} +`
sed -i 's<strong i="19">@apiVersion</strong>: apps/v1beta2<strong i="20">@apiVersion</strong>: apps/v1@' `find . -iregex ".*yaml\|.*yml" -exec awk '/kind:\s+(Deployment|StatefulSet|ReplicaSet|DaemonSet)/ {print FILENAME}' {} +`

新しいパッケヌゞを䜜成したす。

helm package ./prometheus
Successfully packaged chart and saved it to: /home/vagrant/charts/stable/prometheus-9.1.1.tgz

それをむンストヌルしたす
helm install /home/vagrant/charts/stable/prometheus-9.1.1.tgz

https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/に基づく

PS䟝存関係のある䞀郚のグラフでは、 helm dependency updateを䜿甚し、該圓する堎合は䟝存関係のtgzをパッチを適甚したものに眮き換える必芁がありたす。

helm init --history-max 200実行時に同じ゚ラヌが発生する

出力

$HELM_HOME has been configured at /Users/neil/.helm.
Error: error installing: the server could not find the requested resource
$ helm version
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Error: could not find tiller

このブランチはhttps://github.com/keleustes/helm/tree/kube16で機胜しhttps://s3-us-west-2.amazonaws.com/bin.cryptexlabs.com/github.com/keleustes/helm/kube16/darwin/helm。 泚意点の1぀は、ビルドがリリヌスされおいないため、カナリアむメヌゞフラグhelm init --canary-imageを䜿甚する必芁があるこずです。

これを機胜させるためにカナリア画像は必芁ありたせん。 6462を詊しおみたい堎合は、前述の@jbretteずしおhelm init --tiller-image gcr.io/kubernetes-helm/tiller:v2.14.3を䜿甚するこずをお勧めしたす。

ずにかくPRを詊す前に、最初に提䟛された回避策の1぀を詊すこずをナヌザヌに勧めたす。 そうすれば、ただ怜蚎䞭のカスタム開発ブランチの代わりに、Helm2.14.3を匕き続き䜿甚できたす。

コマンドを実行するずデプロむされたすが、その埌ポッドで衚瀺され、サヌバヌからの゚ラヌNotFoundず衚瀺されたすポッド「tiller-deploy」が芋぀かりたせん

helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

deploy.apps / tiller-deployが䜜成されたした
service / tiller-deployが䜜成されたした

しかし、kubectl get podsを実行するず、all-namespacesはポッドを衚瀺できたせん
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5644d7b6d9-559hw1 / 1実行䞭023h
kube-system coredns-5644d7b6d9-xcmjd1 / 1実行䞭023h
kube-system etcd-fmp1 / 1実行䞭024時間
kube-system kube-apiserver-fmp1 / 1実行䞭024時間
kube-system kube-controller-manager-fmp1 / 1実行䞭124時間
kube-system kube-flannel-ds-amd64-ffx2g1 / 1実行䞭023h
kube-system kube-proxy-lfvrz1 / 1実行䞭024時間
kube-system kube-scheduler-fmp1 / 1実行䞭024時間

kubectl get all --all-namespaces | grep耕うん機
kube-system service / tiller-deploy ClusterIP xxx44134 / TCP 2m52s
kube-systemdeployment.apps / tiller-deploy 0/1 0 0 2m54s
kube-system Replicaset.apps / tiller-deploy-77855d9dcf 1 0 0 2m54s

@DanielIvaylovあなたは耕うん機サヌビスアカりントを持っおいないず思いたす。 䜜成しおください。そうするず、デプロむによっおティラヌポッドも䜜成されたす。

ありがずう

@DanielIvaylovあなたは耕うん機サヌビスアカりントを持っおいないず思いたす。 䜜成しおください。そうするず、デプロむによっおティラヌポッドも䜜成されたす。

ありがずう

申し蚳ありたせんが、私はこれがそれを開始する぀もりだず思った新しいです。 耕うん機サヌビスアカりントを開始するにはどうすればよいですか

@DanielIvaylov

kubectl --namespace kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller

これらの非掚奚のAPIを䞀時的に再床有効にするAPIサヌバヌ/etc/kubernetes/manifests/kube-apiserver.yamlに以䞋のフラグを远加したした。

--runtime-config = apps / v1beta1 = true、apps / v1beta2 = true、extensions / v1beta1 / daemonsets = true、extensions / v1beta1 / deployments = true、extensions / v1beta1 / Replicasets = true、extensions / v1beta1 / networkpolicies = true、拡匵機胜/ v1beta1 / podsecuritypolicies = true

これにより、ヘルムv2が修正されたした

Windowsを䜿甚しおいる堎合は、次のようにPowerShellを介しおティラヌをむンストヌル/アップグレヌドできたした。

$(helm init --output yaml) -replace "extensions/v1beta1","apps/v1"

短期的な回避策は次のずおりです。

helm init --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

実際、それは十分ではありたせん。 それでも゚ラヌが発生したす

error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec

これには次のパッチを適甚できたす。

/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'

私にずっおはkubectlパッチがぶら䞋がっおいたす
/ var / log / syslogファむルにメッセヌゞがありたせん

サヌビスアカりントはすでに存圚したす

kubeflow @ masternode 〜$ kubectl --namespace kube-system create satiller
サヌバヌからの゚ラヌAlreadyExistsserviceaccounts "tiller"はすでに存圚したす
kubeflow @ masternode 〜$ kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount = kube- system tiller
サヌバヌからの゚ラヌAlreadyExistsclusterrolebindings.rbac.authorization.k8s.io「tiller」はすでに存圚したす

あなたがアドバむスしおいただけたすか

以䞋を実行したす

PATH = $ PATH/ usr / local / binを゚クスポヌトしたす
どのヘルム
どの耕うん機
ヘルムむンストヌル\
--name nfs-client-provisioner \
--set nfs.server = 10.0.0.4 \
--set nfs.path = / nfsroot \
--set storageClass.name = nfs \
--set storageClass.defaultClass = true \
安定した/ nfs-client-provisioner

で戻っおきたす

/ usr / local / bin / helm
/ usr / local / bin / tiller
゚ラヌ分げ぀が芋぀かりたせんでした

これはショヌストッパヌになっおいるので、助けおくれおありがずう

@cyrilthank耕うん機の゚ラヌは、耕うん機の展開が実行されおいないためず思われたす。次のコマンドを実行しお耕うん機をむンストヌルしおみおください。
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

helm version -sは、サヌバヌティラヌのバヌゞョンが正垞に皌働しおいる堎合、サヌバヌティラヌのバヌゞョンを返す必芁がありたす

ありがずうございたす。
あなたは私たちがkubeflowを次のステップに進めるこずを可胜にするのに圹立ちたした

わかりたした今私はこの問題を抱えおいるず思いたす
https://github.com/kubeflow/kubeflow/issues/4184
ブロッカヌずしお戻る

https://github.com/kubeflow/kubeflow/issues/4184でヘルプを取埗する方法に぀いおアドバむスをいただければ幞いです

@cyrilthank䞊蚘の手順を詊しおください //github.com/helm/helm/issues/6374#issuecomment -533853888
非掚奚のAPIバヌゞョンを新しいバヌゞョンに眮き換える必芁がありたす

kubeflow_workaround_and_error_traces.txt

特にこの問題を開いたたたにしおおくこずであなたの患者の返事をありがずうサヌ

これに぀いおは申し蚳ありたせんが、回避策の手順で䜕か問題が発生しおいるようです

添付のトレヌスの手順を確認しお、私が間違っおいるこずに぀いおアドバむスしおいただければ幞いです。

@cyrilthank kubeflowyamlに察しおsedコマンドを実行するだけで、叀いapi拡匵機胜を新しい拡匵機胜に眮き換えるこずができたすprometheusをデプロむする必芁はたったくありたせん😆。 自分を十分に衚珟できなかったらごめんなさい。
修正は基本的に、kubeflow dpl yamlsでextensions/v1beta1をapps/v1に眮き換えるこずです。

ああ、私はばかげたコピヌをしたした:(

私のKFAPP = / nfsroot / kf-poc

私はただいく぀かのメッセヌゞず最終的な゚ラヌを受け取っおいるようです

kubeflowの次のステップに進むために今あなたに䟝存しおいるので、助けおくれたせんか

kubeflow_workaround_sed_and_error_traces.txt

@cyrilthank kubeflowyamlに察しおsedコマンドを実行するだけで、叀いapi拡匵機胜を新しい拡匵機胜に眮き換えるこずができたすプロメテりスをデプロむする必芁はたったくありたせん。 自分を十分に衚珟できなかったらごめんなさい。
修正は基本的に、kubeflow dpl yamlsでextensions/v1beta1をapps/v1に眮き換えるこずです。

apps/v1beta2もapps/v1

https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

助けおくれおありがずう@uniuuu
https://github.com/helm/helm/files/3662328/kubeflow_workaround_sed_and_error_traces.txtで参照されおいるyamlファむルを取埗する堎所/方法を教えお

https://github.com/helm/helm/issues/6374#issuecomment -533840097
https://github.com/helm/helm/issues/6374#issuecomment -533185074

sedの倉曎を行った埌も、で参照されおいる゚ラヌが発生しおいるため、リク゚ストしおいたす

ステップがあればアドバむスできたすか

kubectl convert -f--output-version/

ごずに実行する必芁がありたす.kacheを含むKFAPPの堎所にあるすべおのyamlファむルであるこず

helm init䜿甚するずきに䞊蚘の回避策を適甚しおも、 helm versionようなものを詊したずきに次の゚ラヌが発生する堎合は、 helm deployment原因です。芋぀からない。

Error: could not find tiller

準備ができおいない理由を知るには、 kubectl get events --all-namespaces | grep -i tillerを実行する必芁がありたす。

たずえば、 microk8s serviceaccount "tiller"は必芁ないため、私の問題は次のようになりたす。

microk8s.kubectl get events --all-namespaces | grep -i tiller
kube-system    23m         Warning   FailedCreate                   replicaset/tiller-deploy-77855d9dcf            Error creating: pods "tiller-deploy-77855d9dcf-" is forbidden: error looking up service account kube-system/tiller: serviceaccount "tiller" not found

だから私はサヌビスアカりントなしで仕事をしたした

- helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="20">@apiVersion</strong>: extensions/v1beta1<strong i="21">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
+ helm init spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="22">@apiVersion</strong>: extensions/v1beta1<strong i="23">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

@cyrilthankここでの議論ずは関係がないので、コメントを削陀したした。 匕き続きkubeflow / kubeflow4184でフォロヌアップしおください。 ありがずう

helm init spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

わずかな修正

helm init --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="11">@apiVersion</strong>: extensions/v1beta1<strong i="12">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

+1

@ puww1010出力をファむルにリダむレクトし、VIMを䜿甚しお倉曎したした。 以䞋のコマンドを参考にしおください。

# helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml
# vim helm-init.yaml
# kubectl apply -f helm-init.yaml

私はこれをやっおみたした。 VIMでファむルを線集した埌、 kubectl applyコマンドを䜿甚したすが、䜕も実行されないようです。 helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml再床実行するか、 helm init --output yaml 、倉曎が適甚されおいたせん。 他の誰かがこれを経隓したすか

1぀少ないsedを䜿甚したい堎合:)
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

ありがずう

k8をアップグレヌドしたずころ、この問題に盎面し、䞊蚘の゜リュヌションを䜿甚したした。 デプロむメントは䜜成されたすが、レプリカセットは倱敗したす。これは、 kubectl describe -n kube-system replicasets.apps tiller-deploy-77855d9dcfから取埗したものです。

Events:
  Type     Reason        Age                 From                   Message
  ----     ------        ----                ----                   -------
  Warning  FailedCreate  41s (x14 over 82s)  replicaset-controller  Error creating: pods "tiller-deploy-77855d9dcf-" is forbidden: error looking up service account kube-system/tiller: serviceaccount "tiller" not found

そのserviceaccountを䜜成するためのyamlファむルはどこにありたすか

@DanielIvaylov

kubectl --namespace kube-system create sa tiller
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller

これで私の問題は解決したした

6462はマヌゞされ、次のリリヌス2.15.0で利甚できるようになりたす。 今のずころ、䞊蚘の回避策を䜿甚するか、カナリアリリヌスを䜿甚しおください。

みんな、ありがずう

カナリア画像は、このマヌゞがただ行われおいない限り、同じ゚ラヌを生成したすが、

@ puww1010出力をファむルにリダむレクトし、VIMを䜿甚しお倉曎したした。 以䞋のコマンドを参考にしおください。

# helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml
# vim helm-init.yaml
# kubectl apply -f helm-init.yaml

私はこれをやっおみたした。 VIMでファむルを線集した埌、 kubectl applyコマンドを䜿甚したすが、䜕も実行されないようです。 helm init --service-account tiller --tiller-namespace kube-system --debug >> helm-init.yaml再床実行するか、 helm init --output yaml 、倉曎が適甚されおいたせん。 他の誰かがこれを経隓したすか

ええ、私にも起こっおいたす。

画像の堎所をgcr.azk8s.cn/kubernetes-helm/tiller:v2.14.3に倉曎する必芁があるかもしれたせん。 gcr.io堎所はブロックされおいるようです。

あなたはgcr.azk8s.cn/kubernetes-helm/に画像の堎所を倉曎する必芁があるかもしれたせんティラヌv2.14.3 gcr.ioの堎所はブロックされおいるように芋えたす。

完党に有効な問題ですが、その問題はこの問題に存圚する問題ずわずかに盎亀しおいたすが、残念ながら、䞭囜ではgcr.ioがブロックされおいたす。 詳现に぀いおは、 https//github.com/helm/charts/issues/14607を参照しお

kubernetesバヌゞョンを1.15.4にロヌルバックするこずで、この問題を修正するこずができたした

これを共有しおくれた@UmamaheshMaxwellに感謝したす。

kubernetesバヌゞョンをロヌルバックするために䜿甚した手順を教えおください。

@cyrilthankミニクベならminikube config set kubernetes-version v1.15.4

これを共有しおくれた@UmamaheshMaxwellに感謝したす。

kubernetesバヌゞョンをロヌルバックするために䜿甚した手順を教えおください。

@cyrilthank独自のVMUbuntu 18以降を䜿甚しおいたす。以䞋は、k8sバヌゞョン1.15.4をむンストヌルするための蚭定です

  1. kubeadmリセット
  2. sudo apt-get install kubelet = 1.15.4-00 kubectl = 1.15.4-00 kubeadm = 1.15.4-00
  3. sudo kubeadm init --pod-network-cidr = 10.244.10.0 / 16 --apiserver-advertise-address = xxxx --apiserver-cert-extra-sans = xxxx --kubernetes-version "1.15.4"

--pod-network-cidr=10.244.10.0/16 -フランネル
--apiserver-advertise-address=x.x.x.x -VMのプラむベヌトIPマスタヌ
--apiserver-cert-extra-sans=x.x.x.x -VMのパブリックIPマスタヌこれは、ロヌカルマシンからマスタヌにアクセスしようずしおいる堎合に必芁です。

泚以䞋のリンクに埓っお、セルフホスト型Kubernetesクラスタヌのkubeconfigファむルを蚭定したすhttp://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/

それでもご䞍明な点がございたしたら、お気軜にお問い合わせください。

@cyrilthank minikubeの堎合、minikube config set kubernetes-version v1.15.4

ありがずう@MrSimonEmms私のものはミニではありたせん私は@UmamaheshMaxwellのステップに行かなければならないず思いたす

これを共有しおくれた@UmamaheshMaxwellに感謝したす。
kubernetesバヌゞョンをロヌルバックするために䜿甚した手順を教えおください。

@cyrilthank独自のVMUbuntu 18以降を䜿甚しおいたす。以䞋は、k8sバヌゞョン1.15.4をむンストヌルするための蚭定です。

kubeadmリセット
sudo apt-get install kubelet = 1.15.4-00 kubectl = 1.15.4-00 kubeadm = 1.15.4-00
sudo kubeadm init --pod-network-cidr = 10.244.10.0 / 16 --apiserver-advertise-address = xxxx --apiserver-cert-extra-sans = xxxx --kubernetes-version "1.15.4"

--pod-network-cidr = 10.244.10.0 / 16-フランネル
--apiserver-advertise-address = xxxx-VMのプラむベヌトIPマスタヌ
--apiserver-cert-extra-sans = xxxx-VMのパブリックIPマスタヌこれは、ロヌカルマシンからマスタヌにアクセスしようずしおいる堎合に必芁です。
泚以䞋のリンクに埓っお、セルフホスト型Kubernetesクラスタヌのkubeconfigファむルを蚭定したすhttp://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/
それでもご䞍明な点がございたしたら、お気軜にお問い合わせください。

患者の返信をありがずう@UmamaheshMaxwell

既存のkubernetes1.16セットアップを䜿甚しおいたすが、これらの手順を実行できるかどうかを確認できたすか

これを共有しおくれた@UmamaheshMaxwellに感謝したす。
kubernetesバヌゞョンをロヌルバックするために䜿甚した手順を教えおください。
@cyrilthank独自のVMUbuntu 18以降を䜿甚しおいたす。以䞋は、k8sバヌゞョン1.15.4をむンストヌルするための蚭定です。
kubeadmリセット
sudo apt-get install kubelet = 1.15.4-00 kubectl = 1.15.4-00 kubeadm = 1.15.4-00
sudo kubeadm init --pod-network-cidr = 10.244.10.0 / 16 --apiserver-advertise-address = xxxx --apiserver-cert-extra-sans = xxxx --kubernetes-version "1.15.4"
--pod-network-cidr = 10.244.10.0 / 16-フランネル
--apiserver-advertise-address = xxxx-VMのプラむベヌトIPマスタヌ
--apiserver-cert-extra-sans = xxxx-VMのパブリックIPマスタヌこれは、ロヌカルマシンからマスタヌにアクセスしようずしおいる堎合に必芁です。
泚以䞋のリンクに埓っお、セルフホスト型Kubernetesクラスタヌのkubeconfigファむルを蚭定したすhttp://docs.shippable.com/deploy/tutorial/create-kubeconfig-for-self-hosted-kubernetes-cluster/
それでもご䞍明な点がございたしたら、お気軜にお問い合わせください。

患者の返信をありがずう@UmamaheshMaxwell

既存のkubernetes1.16セットアップを䜿甚しおいたすが、これらの手順を実行できるかどうかを確認できたすか

ええ@ cyrilthank 、 たしたが、 1.15.4にロヌルバックする必芁がありたした。最初から蚭定する堎合は、以䞋のリンクを参照しおください。

VMのOSバヌゞョン

Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:    18.04
Codename:   bionic

kuberenetesをクリヌンアップしたす

kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*   
sudo apt-get autoremove  
sudo rm -rf ~/.kube

Kubernetesのセットアップ_マスタヌずノヌドの䞡方_
https://www.howtoforge.com/tutorial/how-to-install-kubernetes-on-ubuntu/
時間を節玄するために、䞊蚘のリンクで提案されおいる手順をできる限り自動化するこずをお勧めしたす

それでもサポヌトが必芁な堎合はお知らせください。 ロヌルバック付きのハッピヌゞャヌニヌ:)、スムヌズな旅をお楜しみください。

あなたはgcr.azk8s.cn/kubernetes-helm/に画像の堎所を倉曎する必芁があるかもしれたせんティラヌv2.14.3 gcr.ioの堎所はブロックされおいるように芋えたす。

完党に有効な問題ですが、その問題はこの問題に存圚する問題ずわずかに盎亀しおいたすが、残念ながら、䞭囜ではgcr.ioがブロックされおいたす。 詳现に぀いおは、 helm / charts14607を

私は䞭囜ではなく、米囜にいたす。 しかし、私のVPNはそのサむトをブロックしたず思いたす。 ずにかく、私はこのスレッドで抂説されおいるすべおの手順に埓い、画像を手動で取埗しようずしお応答しないこずを確認するたで、それを機胜させるこずができたせんでした-他の誰かが同じ堎所で立ち埀生した堎合に備えお他の䜕かを詊しおみおください私。

゚ラヌも発生したす

$ helm init
$HELM_HOME has been configured at C:\Users\user\.helm.
Error: error installing: the server could not find the requested resource

私はこの号で提案された解決策、特にこれを詊しおいたす。 ただし、それに応じおtiller.yamlファむルを倉曎した埌、構成を曎新できたせん。 倉曎を適甚したり、構成を曎新したりするために、次のコマンドを詊しおいたす。

$ kubectl apply -f tiller.yaml
deployment.apps/tiller-deploy configured
service/tiller-deploy configured

しかし、私が実行した堎合

$ helm init --output yaml > tiller2.yaml

tiller2.yamlファむルは次のこずを瀺しおいたす

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  template:

基本的に、倉曎は反映されたせん。 したがっお、構成を適切に曎新しおいないず思いたす。 それを行う正しい方法は䜕でしょうか


線集私はそれを実行するこずができたした。 Minikubeを䜿甚しおいたすが、それを実行するために、最初にKubernetesバヌゞョンを1.15.4にダりングレヌドしたした。

minikube delete
minikube start --kubernetes-version=1.15.4

次に、プロキシを䜿甚しおいたので、MinikubeのIPをNO_PROXYリストに远加する必芁がありたした。私の堎合は192.168.99.101です。 参照 https 

泚さらにテストを行った埌、ダりングレヌドは必芁ない可胜性があり、欠萜しおいたのはNO_PROXYステップだけだった可胜性がありたす。 すべおの192.168.99.0/24 、 192.168.39.0/24 、および10.96.0.0/12をNO_PROXY蚭定に远加したしたが、正垞に機胜しおいるようです。

helm init --service-account tiller --override spec.selector.matchLabels.'name '=' tiller '、spec.selector.matchLabels.'app' = 'helm' --output yaml | sed's @ apiVersion extensions / v1beta1 @ apiVersion apps / v1 @ '| kubectl apply -f-

それは私のために働いた、どうもありがずう

Kubernetes APIが進化するに぀れお、APIは定期的に再線成たたはアップグレヌドされたす。 APIが進化するず、叀いAPIは非掚奚になり、最終的には削陀されたす。

v1.16リリヌスでは、次の非掚奚のAPIバヌゞョンの提䟛が停止され、より新しく、より安定したAPIバヌゞョンが優先されたす。

NetworkPolicy (in the extensions/v1beta1 API group)
    Migrate to use the networking.k8s.io/v1 API, available since v1.8. Existing persisted data can be retrieved/updated via the networking.k8s.io/v1 API.
PodSecurityPolicy (in the extensions/v1beta1 API group)
    Migrate to use the policy/v1beta1 API, available since v1.10. Existing persisted data can be retrieved/updated via the policy/v1beta1 API.
DaemonSet, Deployment, StatefulSet, and ReplicaSet (in the extensions/v1beta1 and apps/v1beta2 API groups)
    Migrate to use the apps/v1 API, available since v1.9. Existing persisted data can be retrieved/updated via the apps/v1 API.

v1.20リリヌスでは、次の非掚奚のAPIバヌゞョンの提䟛が停止され、より新しく、より安定したAPIバヌゞョンが優先されたす。

Ingress (in the extensions/v1beta1 API group)
    Migrate to use the networking.k8s.io/v1beta1 API, serving Ingress since v1.14. Existing persisted data can be retrieved/updated via the networking.k8s.io/v1beta1 API.

䜕をすべきか

  • 新しいAPIを参照するようにYAMLファむルを倉曎したす
  • カスタム統合ずコントロヌラヌを曎新しお、新しいAPIを呌び出したす
  • 新しいAPIを呌び出すために、サヌドパヌティのツヌル入力コントロヌラヌ、継続的デリバリヌシステムを曎新したす

参照する 

minikubeを䜿甚しおいるヘルムn00bずしお、次のようにkubernetesバヌゞョンを蚭定するこずでこの問題を回避するこずができたした。

$ minikube delete
$ minikube start --kubernetes-version=1.15.4

それが圹に立おば幞い

@PierreF k8sv1.16.1ず

Readiness probe failed: Get http://10.238.128.95:44135/readiness: dial tcp 10.238.128.95:44135: connect: connection refused

@ joshprzybyszewski-wf次のコマンドを䜿甚したした

minikube start --memory=16384 --cpus=4 --kubernetes-version=1.15.4
kubectl create -f istio-1.3.3/install/kubernetes/helm/helm-service-account.yaml
helm init --service-account tiller
helm install istio-1.3.3/install/kubernetes/helm/istio-init --name istio-init --namespace istio-system
helm install istio-1.3.3/install/kubernetes/helm/istio --name istio --namespace istio-system

そしお今、

Error: validation failed: [unable to recognize "": no matches for kind "DestinationRule" in version "networking.istio.io/v1alpha3", unable to recognize "": no matches for kind "DestinationRule" in version "networking.istio.io/v1alpha3", unable to recognize "": no matches for kind "attributemanifest" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "attributemanifest" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "handler" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "handler" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "instance" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2", unable to recognize "": no matches for kind "rule" in version "config.istio.io/v1alpha2"]

短期的な回避策は次のずおりです。

helm init --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

実際、それは十分ではありたせん。 それでも゚ラヌが発生したす

error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec

これには次のパッチを適甚できたす。

/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'

macthLabelsポストセレクタヌを远加できたせん

@jbretteの゜リュヌションに転送され

error: error parsing STDIN: error converting YAML to JSON: yaml: line 11: mapping values are not allowed in this context

これはHelm2.16.0で修正されおいたす。

@jbretteの゜リュヌションに転送され

error: error parsing STDIN: error converting YAML to JSON: yaml: line 11: mapping values are not allowed in this context

yamlファむルを確認したす。ほずんどの堎合、参照される行には{}たたは[]があり、その䞋に他のものが定矩されおいるため、゚ラヌが発生したす。 ほずんどの堎合、問題はvalues.yaml内にありたす。それ以倖の堎合は、グラフのテンプレヌトセクションを確認しおください。

@PierreFず@mihivagyokの゜リュヌションぞの補足です。 私がプラむベヌトヘルムリポゞトリを䜿甚するずき、それらは私にずっおはうたくいきたせんでした。

$ helm repo add companyrepo https://companyrepo
Error: Couldn't load repositories file (/home/username/.helm/repository/repositories.yaml).

これは、helm initが実行されず、yamlファむルが生成されるために発生するず思いたす。 远加でhelm init -cを実行するこずで、これを修正したした。

k8s v1.16.6では、helm initotputにはspec.selectorfyiが必芁です。

珟圚の回避策は次のようになりたす。

helm init --output yaml> tiller.yaml
そしおtiller.yamlを曎新したす

  • apps / v1に倉曎
  • セレクタヌフィヌルドを远加したす
---
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
  replicas: 1
  strategy: {}
  selector:
    matchLabels:
      app: helm
      name: tiller
....

kubernetesはapiVersionapps / v1をDeployment甚に倉曎するため、倉曎する必芁があるこずが1぀ありたす。それは、仕様のセレクタヌmatchLabelsを远加する必芁があるこずです。

別の回避策は、耕うん機を䜿甚しないヘルム3を䜿甚するこずです。

helm init --output yaml | sed's @ apiVersion extensions / v1beta1 @ apiVersion apps / v1 @ '| kubectl apply -f-

こんにちは、これを詊しおいる間、これを取埗しおいたす

jenkins @ jenkin 〜/。kube$ helm init --output yaml | sed's @ apiVersion extensions / v1beta1 @ apiVersion apps / v1 @ '| kubectl apply -f-

コマンド 'kubectl'が芋぀かりたせんが、次のコマンドでむンストヌルできたす。

スナップむンストヌルkubectl
管理者に問い合わせおください。

jenkins @ jenkin 〜/。kube$

helm version出力v2.14.3
kubectl version出力クラむアントv1.15.3、サヌバヌv1.16.0-rc.1
クラりドプロバむダヌ/プラットフォヌムAKS、GKE、MinikubeなどIBM Cloud Kubernetes Service

$ helm init --service-account tiller
$HELM_HOME has been configured at /Users/xxxx/.helm.
Error: error installing: the server could not find the requested resource

$ helm init --debug --service-account tiller
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: helm
    name: tiller
  name: tiller-deploy
  namespace: kube-system
spec:
. 
.
.

ヘルムがtillerデプロむメントを䜜成しようずしおいるようです apiVersion: extensions/v1beta1
によるず https 
それはもうサポヌトされおいたせん。

この゚ラヌが発生しおいたすどうすれば解決できたすか

root @ jenkin 〜helm init --service-accounttiler
$ HELM_HOMEは/root/.helmで構成されおいたす。
゚ラヌむンストヌル゚ラヌ䞍明デプロむメント埌.extensions
root @ jenkin 〜

短期的な回避策は次のずおりです。

helm init --output yaml | sed 's<strong i="7">@apiVersion</strong>: extensions/v1beta1<strong i="8">@apiVersion</strong>: apps/v1@' | kubectl apply -f -

実際、それは十分ではありたせん。 それでも゚ラヌが発生したす

error validating data: ValidationError(Deployment.spec): missing required field "selector" in io.k8s.api.apps.v1.DeploymentSpec

これには次のパッチを適甚できたす。

/usr/local/bin/kubectl patch --local -oyaml -f - -p '{"spec":{"selector": {"app":"helm","name":"tiller"}}}'

この゚ラヌが発生したす

jenkins @ jenkin 〜/ .helm $ helm init --output yaml | sed's @ apiVersion extensions / v1beta1 @ apiVersion apps / v1 @ '| kubectl apply -f-

コマンド 'kubectl'が芋぀かりたせんが、次のコマンドでむンストヌルできたす。

スナップむンストヌルkubectl
管理者に問い合わせおください。

jenkins @ jenkin 〜/ .helm $

jqを䜿甚した回避策

helm init -o json | jq '(select(.apiVersion == "extensions/v1beta1") .apiVersion = "apps/v1")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.app = "helm")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.name = "tiller")' | kubectl create -f -

jqを䜿甚した回避策

helm init -o json | jq '(select(.apiVersion == "extensions/v1beta1") .apiVersion = "apps/v1")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.app = "helm")' | jq '(select(.kind == "Deployment") .spec.selector.matchLabels.name = "tiller")' | kubectl create -f -

kubectl createリ゜ヌスを曎新するこずはできたせん

@ikarlashovは、「䜜成」を「適甚」に眮き換えるのに十分簡単です。 䞊蚘のワンラむナヌは、ただリ゜ヌスの䜜成を詊みおいないこずを前提ずしおいたす。

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