helm version
出力:
Client: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.0", GitCommit:"79d07943b03aea2b76c12644b4b54733bc5958d6", GitTreeState:"clean"}
kubectl version
出力:
Client Version: version.Info{Major:"1", Minor:"8", GitVersion:"v1.8.0", GitCommit:"0b9efaeb34a2fc51ff8e4d34ad9bc6375459c4a4", GitTreeState:"clean", BuildDate:"2017-09-29T05:56:06Z", GoVersion:"go1.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"12+", GitVersion:"v1.12.5-gke.10", GitCommit:"d0686b9f0adfcf759cde9f1d2d80fd52ab01d58f", GitTreeState:"clean", BuildDate:"2019-02-22T20:02:13Z", GoVersion:"go1.10.8b4", Compiler:"gc", Platform:"linux/amd64"}
クラウドプロバイダー/プラットフォーム(AKS、GKE、Minikubeなど):
GKE
問題:
helm install --name jenkins stable/jenkins
出力:
Error: release jenkins failed: namespaces "default" is forbidden: User "system:serviceaccount:kube-system:default" cannot get resource "namespaces" in API group "" in the namespace "default"
チャートをインストールするときにヘルムし、名前空間が指定されていない場合、クラスターのデフォルトの名前空間(通常は「デフォルト」)にインストールされます。 この名前空間にアクセスできないようです。
次のように、クラスター内の名前空間のリストを取得できます: kubectl get namespaces
。 次の引数をinstall
に渡して、特定の名前空間を使用できます: --namespace <namespace>
。
私がしたことは:
1)サービスアカウントを作成します(すでに存在する場合は何も起こりません)
kubectl -n kube-system create serviceaccount tiller
2)そのserviceaccountをロールcluster-adminにバインドしますkubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3)すでに展開されているため、「-upgrade」を使用してTillerを初期化します。
helm init --upgrade --service-account tiller
それは私のために働いた。
答えられたように閉じます。
最も参考になるコメント
私がしたことは:
1)サービスアカウントを作成します(すでに存在する場合は何も起こりません)
kubectl -n kube-system create serviceaccount tiller
2)そのserviceaccountをロールcluster-adminにバインドします
kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
3)すでに展開されているため、「-upgrade」を使用してTillerを初期化します。
helm init --upgrade --service-account tiller
それは私のために働いた。