【问题标题】:Install Helm on Virtual Box在 Virtual Box 上安装 Helm
【发布时间】:2020-04-30 00:52:44
【问题描述】:

我在 Virtual box 中有三个虚拟机,每个都有 2 个接口:

  • enp0s3 正在上网;
  • enp0s8 是 VM 之间的通信。

我通过使用--apiserver-advertise-address=192.168.56.100 参数强制enp0s8 接口上的Kubernetes 节点通信来启动Kubernetes,因为默认情况下它采用enp0s3 接口并且Kubernetes 集群工作正常。

我想以同样的方式安装 Helm:强制在 enp0s8 接口上通信。如果我只做helm init 然后helm init --upgrade 我得到它试图连接到enp0s3上的Tiller,而不是enp0s8:

george@kubernetes-master:~$ helm version
Client: &version.Version{SemVer:"v2.16.5", GitCommit:"89bd14c1541fa93a09492010030fd3699ca65a97", GitTreeState:"clean"}
Error: forwarding ports: error upgrading connection: error dialing backend: dial tcp 10.0.2.102:10250: connect: no route to host

我尝试了helm init的几个参数,但在第二个界面上我找不到成功的启动helm。 知道如何做以及是否可能吗?

更新

我已经成功安装了 Helm3,没有出现任何错误,但是我仍然从第一个界面而不是第二个界面获得了 pod 的 IP:

dante@kube-master:~$ kubectl get pods -o wide
NAME                                        READY   STATUS    RESTARTS   AGE   IP           NODE           NOMINATED NODE   READINESS GATES
my-release-nginx-ingress-57467494b4-z2g2w   1/1     Running   0          53s   10.244.2.2   kube-worker2   <none>           <none>

我已经使用以下命令部署了 nginx Helm 图表:

dante@kube-master:~/.kube$ kubectl config view
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: DATA+OMITTED
    server: https://192.168.56.100:6443
  name: kubernetes
contexts:
- context:
    cluster: kubernetes
    user: kubernetes-admin
  name: kubernetes-admin@kubernetes
current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: REDACTED
    client-key-data: REDACTED
dante@kube-master:~/.kube$ helm install my-ingress-controller nginx/nginx-ingress --kubeconfig /home/dante/.kube/config
NAME: my-ingress-controller
LAST DEPLOYED: Wed Apr 29 18:48:52 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The NGINX Ingress Controller has been installed.

知道如何使用 Helm 在第二个界面上部署 pod 吗?

谢谢, 乔治

【问题讨论】:

  • 您应该先修复“kubectl cluster-info”,然后再使用 helm。检查“kubectl config view”并可能将其调整为指向正确的 IP。看起来 Helm 不允许绑定到传出 IP。
  • 你也应该使用 helm v3 而不是 v2。
  • @AlexVorona:感谢您的回复。两个命令都提到集群在第二个接口上运行。我已经更新了这个问题。如果您有任何想法,请告诉我。
  • @FL3SH:感谢您的指点。 Helm3 它没有 Tiller,我通过了这个问题,但我仍然从第一个接口而不是第二个接口获得 pod 的 IP。我已经用更新更新了这个问题。如果您有任何想法,请告诉我。

标签: kubernetes kubernetes-helm


【解决方案1】:

要调查问题可能出在哪里,请执行以下命令:

$ kubectl cluster-info

执行$ kubectl config view - 调整它以指向正确的IP。看起来 Helm 不允许绑定到传出 IP。

然后检查防火墙状态:

$ systemctl status firewalld

运行以下命令来停止和禁用防火墙:

$ systemctl stop firewalld  
$ systemctl disable firewalld

建议:使用最新版本的 helm- 将 helm 升级到 v3.1.0。有一个特殊的插件可以做到这一点 - helm-2to3。 要升级 helm,请按照本文档中的步骤操作:helmv2-v3。 查看最新版本 helm 的变化:helm-v3

请看:helm-kubernetes

类似问题:conection-issue-helm.

【讨论】:

  • 感谢您的建议。我确实安装了 Helm3,但我仍然没有在第二个界面上获得 pod。我已经用更新更新了这个问题。如果您有任何想法,请告诉我。
猜你喜欢
  • 2017-01-27
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 2014-02-12
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多