Как получить доступ к внешнему IP-адресу службы microk8s по сети?

Я запускаю экземпляр microk8s на сервере Ubuntu как обычную установку, настроенную с помощью MetalLB для динамического распределения 10.0.2.1 до 10.0.2.200 и включенного входного контроллера Nginx. Я установил таблицу управления WordPress в этом экземпляре ( https://github.com/bitnami/charts/tree/master/bitnami/wordpress/#install-the-chart ) с помощью следующей команды:

helm install wordpress \
  --set wordpressUsername=admin \
  --set wordpressPassword=password \
  --set mariadb.mariadbRootPassword=secretpassword \
  --set ingress.enabled=true \
  --set ingress.hostname=wordpress.internal \
    bitnami/wordpress

Служба запущена и работает успешно, и когда я запускаю

kubectl describe services wordpress

, я получаю следующее:

Name:                     wordpress
Namespace:                default
Labels:                   app.kubernetes.io/instance=wordpress
                          app.kubernetes.io/managed-by=Helm
                          app.kubernetes.io/name=wordpress
                          helm.sh/chart=wordpress-9.3.10
Annotations:              meta.helm.sh/release-name: wordpress
                          meta.helm.sh/release-namespace: default
Selector:                 app.kubernetes.io/instance=wordpress,app.kubernetes.io/name=wordpress
Type:                     LoadBalancer
IP:                       10.152.183.73
LoadBalancer Ingress:     10.0.2.1
Port:                     http  80/TCP
TargetPort:               http/TCP
NodePort:                 http  31799/TCP
Endpoints:                10.1.70.14:8080
Port:                     https  443/TCP
TargetPort:               https/TCP
NodePort:                 https  30087/TCP
Endpoints:                10.1.70.14:8443
Session Affinity:         None
External Traffic Policy:  Cluster
Events:
  Type    Reason        Age                  From                Message
  ----    ------        ----                 ----                -------
  Normal  IPAllocated   32m                  metallb-controller  Assigned IP "10.0.2.1"
  Normal  nodeAssigned  6m41s (x3 over 31m)  metallb-speaker     announcing from node "k8s"

Когда я SSH ' Находясь на узле, где установлен microk8s, экземпляр реагирует так, как я ожидал:

curl 10.0.2.1

<!DOCTYPE html>

<html class="no-js" lang="en-US">

    <head>

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0" >

        <link rel="profile" href="https://gmpg.org/xfn/11">

        <title>User&#039;s Blog! &#8211; Just another WordPress site</title>

Однако, когда я запускаю ту же команду на своем сетевом Macbook, я не могу получить ответ:

curl 10.0.2.1

curl: (7) Failed to connect to 10.0.2.1 port 80: Operation timed out
0
задан 9 June 2020 в 00:47

1 ответ

Отметив, что работают следующие две методологии:

  1. Доступ через portforward (перейдите к localhost: 8080 в браузере с помощью следующей команды)
kubectl port-forward *podname-here* 8080:8080 
  1. NodePort (переход к браузеру по адресу k8s-master-ip : 31799)

Я изолировал проблему с IP Диапазон я выделил на металлб. Проблема заключалась в том, что я выделил диапазон IP для metallb (10.0.2.1-10.0.2.200), который находился за пределами маски подсети, настроенной в моем потребительском маршрутизаторе (Apple Airport Extreme). После того, как я изменил диапазон IP-адресов в пределах подсети, разрешенной маршрутизатором (10.0.1.

0
ответ дан 19 June 2020 в 21:28

Другие вопросы по тегам:

Похожие вопросы: