Я запускаю экземпляр 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's Blog! – 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
Отметив, что работают следующие две методологии:
kubectl port-forward *podname-here* 8080:8080
Я изолировал проблему с IP Диапазон я выделил на металлб. Проблема заключалась в том, что я выделил диапазон IP для metallb (10.0.2.1-10.0.2.200), который находился за пределами маски подсети, настроенной в моем потребительском маршрутизаторе (Apple Airport Extreme). После того, как я изменил диапазон IP-адресов в пределах подсети, разрешенной маршрутизатором (10.0.1.