helm:Error: could not find tiller
6853 단어 Helm
root@8:~# helm version
Client: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Error: could not find tiller
root@8:~# ./get_helm.sh --version v2.14.1
Downloading https://get.helm.sh/helm-v2.14.1-linux-amd64.tar.gz
Preparing to install helm and tiller into /usr/local/bin
helm installed into /usr/local/bin/helm
tiller installed into /usr/local/bin/tiller
Run 'helm init' to configure helm.
root@8:~# helm init
Creating /root/.helm
Creating /root/.helm/repository
Creating /root/.helm/repository/cache
Creating /root/.helm/repository/local
Creating /root/.helm/plugins
Creating /root/.helm/starters
Creating /root/.helm/cache/archive
Creating /root/.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 /root/.helm.
Error: error installing: the server could not find the requested resource
Kubernetes v1.16.0 이상의 버전에서 Error: error installing: the servercould not find the requested resource 오류가 발생할 수 있습니다.이것은 extensions/v1beta1이 apps/v1로 대체되었기 때문입니다.2.15나 3버전이 발표된 후에는 이 문제에 부딪히지 않을 것이라고 믿는다.역시 생태가 느린 이유다.
해결 방법은 다음과 같은 문장을 사용하여 설치하는 것이다
helm init -i registry.cn-hangzhou.aliyuncs.com/google_containers/tiller:v2.14.3 --stable-repo-url http://mirror.azure.cn/kubernetes/charts/ --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 -
설정 --tiller-image --서비스-account 매개 변수 설치helm
설치가 성공했는지 확인해 보세요.
kubectl get pods -n kube-system | grep tiller
root@rancherk8sm1:~# helm version
Client: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.1", GitCommit:"02a47c7249b1fc6d8fd3b94e6b4babf9d818144e", GitTreeState:"clean"}
리포를 아리 렌즈로 교체합니다. 위의 명령이 이미 이 단계를 수행했기 때문에 할 필요가 없습니다.이것은 아직 리포가 교체되지 않은 상황에서 리포가 어떻게 교체되는지에 대한 소개입니다.
root@rancherk8sm1:~# helm repo list
NAME URL
stable https://kubernetes-charts.storage.googleapis.com
local http://127.0.0.1:8879/charts
root@rancherk8sm1:~# helm repo remove stable
"stable" has been removed from your repositories
root@rancherk8sm1:~# helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"stable" has been added to your repositories
root@rancherk8sm1:~# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈
root@rancherk8sm1:~# helm repo list
NAME URL
local http://127.0.0.1:8879/charts
stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
root@rancherk8sm1:~#
########################################################### ###########################################################
1. Helm 클라이언트 설치
방식 1: 공유 클라우드 환경은 공식 설치 스크립트를 사용하여 원클릭으로 설치할 수 있으며 다음과 같은 명령만 실행할 수 있다.
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get |bash
방식 2: 인트라넷 환경에서는 수동으로 설치를 다운로드하고 주소를 다운로드할 수 있습니다.https://github.com/kubernetes/helm/releases
tar -zxvf helm-2.14.1.tar.gz
mv helm-2.14.1/helm /usr/local/bin/helm
helmversion 명령 검증 실행: 현재 클라이언트의 버전만 볼 수 있고 서버가 설치되지 않았습니다.
[root@master1 helm]# helm version
Client: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Error: could not find a ready tiller pod
helm의 bash 명령 보완 스크립트 설치:
helm completion bash > .hermrc ;echo "source .helmrc" >> .bashrc
2. Tiller 서버 설치
정상적인 상황에서helm init를 실행하면 되지만,kubernetes 1.16.0 및 이후 버전에서 실행하면 다음과 같은 오류가 발생합니다.
helm init $HELM_HOME has been configured at/root/.helm. Error: error installing: the server could not find the requested resource
1.16.0 이후의 deployment의 apiversion의 endpoint가 바뀌었기 때문에 다음과 같이 처리해야 한다.
tiller 정의 파일 내보내기
> helm init --output yaml > tiller.yaml
# apiVersion apps/v1, selector :
> vim tiller.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
...
#
> kubectl apply -f tiller.yaml
실행 후helmversion을 사용하여 서버가 성공적으로 설치되었음을 발견합니다.
> helm version
Client: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.1", GitCommit:"5270352a09c7e8b6e8c9593002a73535276507c0", GitTreeState:"clean"}
helm list를 실행하면 다음과 같은 오류가 표시됩니다.
> helm list
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "kube-system"
다음 명령을 수행합니다.
# kube-system tiller
kubectl create serviceaccount --namespace kube-system tiller
# cluster-admin
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
# kubectl patch API
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
helm init --service-account tiller --upgrade
# , tiller
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 -
실행 후tiller 설치에 성공했습니다.
주: 이 오류에 관해서Error: error installing: the servercould not find the requested resource는 다음 명령으로 해결할 수 있습니다. rbacx와 관련된 오류를 다시 보고하지 않습니다.
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 -
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: