Установите шлем на виртуальной коробке - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть три виртуальные машины в виртуальной коробке, каждая из которых имеет 2 интерфейса:

  • enp0s3 идет в Интернет;
  • enp0s8 - это связь между виртуальными машинами.

Я инициировал Kubernetes, принудительно установив связь узлов Kubernetes на интерфейсе enp0s8 с аргументом --apiserver-advertise-address=192.168.56.100, поскольку по умолчанию он принимал интерфейс enp0s3 и кластер Kubernetes работает нормально.

Я хотел бы установить Хелм таким же образом: заставляет общаться по интерфейсу enp0s8. Если я просто helm init, а затем helm init --upgrade я получаю, что он пытается подключиться к Tiller на enp0s3, а не на 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 без ошибок, но 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?

Спасибо, Джордж

1 Ответ

0 голосов
/ 14 апреля 2020

Чтобы выяснить, где может быть проблема, выполните следующую команду:

$ 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-эмиссионный руль .

...