helm
,但遇到了麻烦。首先,我以
cluster-admin
角色创建了帐户。 (根据https://github.com/kubernetes/helm/blob/master/docs/rbac.md#example-service-account-with-cluster-admin-role)。之后我已经使用
helm
初始化了全新的helm init --service-account=tiller
分till,并且成功。现在当我尝试安装某些东西时:
首先尝试:
$ helm repo add gitlab https://charts.gitlab.io
$ helm install --name gitlab-runner -f gitlab-runner-values.yaml gitlab/gitlab-runner
其中
gitlab-runner-values.yaml
看起来像这样:gitlabUrl: https://my-gitlab.domain.com
runnerRegistrationToken: "MY_GITLAB_RUNNER_TOKEN"
concurrent: 10
第二次尝试(由于我不确定自定义存储库是否存在问题,因此我尝试从官方进行尝试):
$ helm install stable/kibana
我遇到此错误:
Error: forwarding ports: error upgrading connection: error dialing backend: dial tcp 192.168.0.18:10250: getsockopt: connection timed out
我注意到
192.168.0.18
在pod列表中可见:相同的节点:kube-system kube-proxy-kzflh 1/1 Running 0 7d 192.168.0.18 kube-worker-7
kube-system weave-net-jq4n4 2/2 Running 2 7d 192.168.0.18 kube-worker-7
有人告诉我我可能没有
tiller
和pods/port-forward
的权限,但是list pods
告诉我我可以这样做(与kubectl auth can-i create pods/portforward
相同) )list pods
也抛出相同的错误ror为helm list
。#1 楼
您已经找到了Kubernetes的问题#22770,在这里提到了一种解决方法,它的处理方法如下:您遇到的是k8s的已知问题,它预期在某些操作中能够实现在全局DNS中解析您的节点名称。 />在主服务器上安装dnsmasq(例如apt install -y dnsmasq)
在主服务器上杀死k8s api服务器容器(kubelet将重新创建它)
然后systemctl重启docker(或重新启动主服务器)到拾取/etc/resolv.conf的更改
关于问题#22770的最后评论是,
我可以确认添加我们的名称kubernetes master上/ etc / hosts的节点也为我们解决了这个问题:)
,因此在即将发布的任何版本的k8中都没有修复。至少从这张票上可以。
评论
非常感谢你!那不是问题,但是您让我明白了。我将在单独的答案中提供适当的解决方案。感谢您关注我对IP的关注!
–森ish
18年3月12日在9:34
#2 楼
问题在于,在kubeadm init
中注册的节点正在向集群主机提供其私有IP。这引起了问题,因为主服务器试图到达192.0.*.*
的地址,而从地址的角度来看,这些地址没有被解析为节点。我需要编辑
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
并在--node-ip=<public-node-ip>
参数上指定节点的公共IP。重新加载服务并按照https://github.com/kubernetes/kubeadm/issues/203#issuecomment-335416377 中所述重新启动服务,然后我再次注册节点,一切正常。 />
评论
酷吧,现在可以使用!
–mico
18年3月12日在10:07
评论
现在,当我尝试安装某些东西时,出现此错误。请添加您正在使用的命令和文件。@ 030我用您想要的信息更新了问题。
好吧,我来看一下。我也在设置它。
你尝试过吗?
不,我没有修补分till部署部署。我会尝试的,但是很遗憾在星期一。