Как выставить миникуб в GCP VM - PullRequest
0 голосов
/ 05 апреля 2020

Я создал виртуальную машину Debian в GCP и установил kubectl и minikube. Я развернул одно изображение в kubectl. Я выставил сервис с помощью команды kubectl expose deployment hw --type=NodePort --port=80. Это выставлено в порту 31343. Но это не доступно, используя внешний ip VM. Я добавил правило брандмауэра в traffi c для порта. Но все равно это не работает. Как я могу получить доступ к сайту с помощью внешнего ip виртуальной машины.

Я знаю, я могу использовать GKE. Но мне нужно попробовать kubernetes установку и настройку. Вот почему я следую за этими шагами.

Ответы [ 2 ]

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

Я нашел решение, используя nginx прокси. Может быть, использование kubeadm, как упоминалось в предыдущем ответе, было стандартным методом. Но я не получил достаточно ссылок в Интернете. Мы можем использовать внешний ip GCP vm для подключения к серверу nginx, и он перенаправит запрос в мини-куб. Также верните ответ обратно.

  1. Установите nginx в linux vm, используя sudo apt install nginx
  2. Создайте nginx файл конфигурации sudo vim /etc/nginx/conf.d/upstream.conf
  3. Добавить следующие строки в файл. Замените и.

    upstream app_server_32108 {
        server <minikube ip>:<port>;
    }    
    server {
        listen 80;
        location /proxy {
           proxy_pass http://app_server_32108/;
        }
    }
    
  4. sudo nginx -t

  5. Перезапустите nginx сервер, используя sudo systemctl reload nginx

  6. Теперь доступ к содержимому, размещенному в minikube, можно получить с помощью http://<vm ip>/proxy

Если он недоступен, отредактируйте nginx файл конфигурации sudo vim /etc/nginx/nginx.conf и добавьте комментарий к строке include /etc/nginx/sites-enabled/*; добавив # в качестве префикса.

#include /etc/nginx/sites-enabled/*;

Перезапустите nginx и повторите попытку. (Выполните шаги 4, 5 и 6).

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

Minikube - это, по сути, виртуальная машина, поэтому вы запускаете виртуальную машину внутри виртуальной машины.

Вы выставили deployment из Minikube на виртуальную машину, вы можете проверить, что адрес вашего Minikube, используя $ minikube ip или $ minikube status.

Для того, чтобы это работало сейчас, вам нужно настроить proxy на виртуальной машине GCP, который будет отправлять трафик c на minikube .

Я бы порекомендовал использовать kubeadm и настроить одиночный кластер плоскости управления с kubeadm .

...