我已经安装了Rancher 2并创建了一个内部vm的kubernetes集群(没有AWS / gcloud)。
群集已启动并正在运行。
我登录了其中一个节点。
1)安装Kubectl并执行kubectl cluster-info。它正确列出了我的群集信息。
2)安装掌舵
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh
root@lnmymachine # helm version
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}
3)配置helm引用Rancher Helm Init
kubectl -n kube-system create serviceaccount tiller
kubectl create clusterrolebinding tiller \
--clusterrole cluster-admin \
--serviceaccount=kube-system:tiller
helm init --service-account tiller
试图通过掌舵安装詹金斯
root@lnmymachine # helm ls
Error: Unauthorized
root@lnmymachine # helm install --name initial stable/jenkins
Error: the server has asked for the client to provide credentials
浏览了类似的问题,其中很少是由于多个集群。我只有一个集群。 kubectl正确地提供所有信息。
任何想法发生了什么。
在创建ClusterRoleBinding
时似乎有一个错误:
而不是--clusterrole cluster-admin
,你应该有--clusterrole=cluster-admin
您可以通过验证是否正确创建ServiceAccount,ClustrerRoleBinding来检查是否是这种情况。
kubectl describe -n kube-system sa tiller
kubectl describe clusterrolebinding tiller
好像他们已经在Rancher Helm Init页面上修复了这个问题。