使用 Kubeadm 为 Helm 初始化 Tiller - Kubernetes
Initializing Tiller for Helm with Kubeadm - Kubernetes
我正在使用 Kubeadm 创建一个包含 3 个节点的集群
- 一位大师
- 两个工人
我正在使用 weave 作为网络 pod
我的集群状态是这样的:
NAME STATUS ROLES AGE VERSION
darthvader Ready <none> 56m v1.12.3
jarjar Ready master 60m v1.12.3
palpatine Ready <none> 55m v1.12.3
我尝试在我的集群中初始化 helm 和 tiller
helm init
结果是这样的:
$HELM_HOME has been configured at /home/ubuntu/.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
Happy Helming!
我的 pods 状态是这样的:
NAME READY STATUS RESTARTS AGE
coredns-576cbf47c7-8q6j7 1/1 Running 0 54m
coredns-576cbf47c7-kkvd8 1/1 Running 0 54m
etcd-jarjar 1/1 Running 0 54m
kube-apiserver-jarjar 1/1 Running 0 54m
kube-controller-manager-jarjar 1/1 Running 0 53m
kube-proxy-2lwgd 1/1 Running 0 49m
kube-proxy-jxwqq 1/1 Running 0 54m
kube-proxy-mv7vh 1/1 Running 0 50m
kube-scheduler-jarjar 1/1 Running 0 54m
tiller-deploy-845cffcd48-bqnht 0/1 ContainerCreating 0 12m
weave-net-5h5hw 2/2 Running 0 51m
weave-net-jv68s 2/2 Running 0 50m
weave-net-vsg2f 2/2 Running 0 49m
问题是 tiller 卡在 ContainerCreating 状态。
而我运行
kubectl describe pod tiller-deploy -n kube-system
查看tiller的状态,发现下一个错误:
创建 Pod 沙箱失败:rpc 错误:代码 = DeadlineExceeded desc = 上下文截止日期已超出
Pod 沙箱已更改,它将被杀死并重新创建。
如何才能成功创建 tiller deploy pod?我不明白为什么 pod 沙盒 失败了。
您似乎 运行 this。
很可能由于网络连接问题,您的节点无法拉取容器映像。像这样的图像:gcr.io/kubernetes-helm/tiller:v2.3.1
或暂停容器 gcr.io/google_containers/pause
(如果您的其他 pods 是 运行,则不太可能)。您可以尝试登录到您的节点(darthvader、palpatine)并手动调试:
$ docker pull gcr.io/kubernetes-helm/tiller:v2.3.1 <= Use the version on your tiller pod spec or deployment (tiller-deploy)
$ docker pull gcr.io/google_containers/pause
可能问题出在您部署 Tiller 的方式上。我刚刚重新创建了这个并且在 GCP 上使用 Weave 和 Compute Engine 实例没有任何问题。
您应该使用不同的方法重试安装 helm,因为可能存在一些问题(您没有提供有关如何安装它的详细信息)。
重置 helm 并删除 tiller pod:
helm reset --force
(如果 tiller 持续存在,请使用 tiller kubectl get all --all-namespaces
和 kubectl delete rs/name
检查副本集的名称)
现在尝试使用不同的方法部署 helm 和 tiller。例如通过脚本 运行ning 它:
As explained here.
您还可以 运行 头盔 without Tiller。
我正在使用 Kubeadm 创建一个包含 3 个节点的集群
- 一位大师
- 两个工人
我正在使用 weave 作为网络 pod
我的集群状态是这样的:
NAME STATUS ROLES AGE VERSION
darthvader Ready <none> 56m v1.12.3
jarjar Ready master 60m v1.12.3
palpatine Ready <none> 55m v1.12.3
我尝试在我的集群中初始化 helm 和 tiller
helm init
结果是这样的:
$HELM_HOME has been configured at /home/ubuntu/.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
Happy Helming!
我的 pods 状态是这样的:
NAME READY STATUS RESTARTS AGE
coredns-576cbf47c7-8q6j7 1/1 Running 0 54m
coredns-576cbf47c7-kkvd8 1/1 Running 0 54m
etcd-jarjar 1/1 Running 0 54m
kube-apiserver-jarjar 1/1 Running 0 54m
kube-controller-manager-jarjar 1/1 Running 0 53m
kube-proxy-2lwgd 1/1 Running 0 49m
kube-proxy-jxwqq 1/1 Running 0 54m
kube-proxy-mv7vh 1/1 Running 0 50m
kube-scheduler-jarjar 1/1 Running 0 54m
tiller-deploy-845cffcd48-bqnht 0/1 ContainerCreating 0 12m
weave-net-5h5hw 2/2 Running 0 51m
weave-net-jv68s 2/2 Running 0 50m
weave-net-vsg2f 2/2 Running 0 49m
问题是 tiller 卡在 ContainerCreating 状态。
而我运行
kubectl describe pod tiller-deploy -n kube-system
查看tiller的状态,发现下一个错误:
创建 Pod 沙箱失败:rpc 错误:代码 = DeadlineExceeded desc = 上下文截止日期已超出
Pod 沙箱已更改,它将被杀死并重新创建。
如何才能成功创建 tiller deploy pod?我不明白为什么 pod 沙盒 失败了。
您似乎 运行 this。
很可能由于网络连接问题,您的节点无法拉取容器映像。像这样的图像:gcr.io/kubernetes-helm/tiller:v2.3.1
或暂停容器 gcr.io/google_containers/pause
(如果您的其他 pods 是 运行,则不太可能)。您可以尝试登录到您的节点(darthvader、palpatine)并手动调试:
$ docker pull gcr.io/kubernetes-helm/tiller:v2.3.1 <= Use the version on your tiller pod spec or deployment (tiller-deploy)
$ docker pull gcr.io/google_containers/pause
可能问题出在您部署 Tiller 的方式上。我刚刚重新创建了这个并且在 GCP 上使用 Weave 和 Compute Engine 实例没有任何问题。
您应该使用不同的方法重试安装 helm,因为可能存在一些问题(您没有提供有关如何安装它的详细信息)。
重置 helm 并删除 tiller pod:
helm reset --force
(如果 tiller 持续存在,请使用 tiller kubectl get all --all-namespaces
和 kubectl delete rs/name
检查副本集的名称)
现在尝试使用不同的方法部署 helm 和 tiller。例如通过脚本 运行ning 它:
As explained here.
您还可以 运行 头盔 without Tiller。