Kubernates en la puerta de enlace incorrecta prem 502

Kubernates en la puerta de enlace incorrecta prem 502

Hola, instalé y configuré kubernates. Probé con minikube y kubeadm. Lo que instalé: flannel, nginx-ingress-controller, metalLB y luego configuré el servicio ngix-ingress-controller como loadBalancer.

Siempre obtengo 502 puerta de enlace incorrecta cuando intento exponer una aplicación de WordPress simple (usando clusterIp o incluso con nodePort)

SO: ubuntu 20.04 LTS instalado docker-ce, kubeadm y kubelt (tutorial oficial del sitio de kubernates)

Procedimiento de instalaciónHe seguido: Kube init:

kubeadm init --pod-network-cidr=10.244.0.0/16

kubectl taint nodes --all node-role.kubernetes.io/master-

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

franela:

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

nginx

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/static/provider/baremetal/deploy.yaml

metallb: tutorial seguido en el sitio

Intenté cambiar el servicio ingress-nginx-controller para que sea LoadBalancer y agregar la IP externa, pero nada cambia.

aquí están mis yamls: servicio

apiVersion: v1
kind: Service
metadata:
  labels:
    appcluster: kubernetes
    app: wordpress
  name: wordpress-service
spec:
  ports:
  - port: 80
    targetPort: 80
    name: http-port
  selector:
    app: wordpress
  type: ClusterIP

ingreso

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: wordpress-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
    - host: ethernial.com
      http:
        paths:
          - path: /?(.*)
            backend:
              serviceName: wordpress-service
              servicePort: 80

Respuesta1

Gracias a @Jakub, no pude configurar metalLB (crear un mapa de configuración), luego configuré ingress-nginx-controller para que loadBalancer funcione perfectamente.

Respuesta2

Sólo para aclarar qué estaba mal aquí.

Como se menciona en MetalLBdocumentación:

MetalLB permanece inactivo hasta que se configura. Esto se logra creando e implementando un mapa de configuración en el mismo espacio de nombres (metallb-system) que la implementación.

Hay un ejemploConfiguración de capa 2.

El modo de Capa 2 es el más sencillo de configurar: en muchos casos, no necesita ninguna configuración específica del protocolo, solo direcciones IP.

El modo de Capa 2 no requiere que las IP estén vinculadas a las interfaces de red de sus nodos trabajadores. Funciona respondiendo directamente a solicitudes ARP en su red local, para proporcionar la dirección MAC de la máquina a los clientes.

Por ejemplo, la siguiente configuración le da a MetalLB control sobre las IP desde 192.168.1.240 a 192.168.1.250 y configura el modo de Capa 2:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 192.168.1.240-192.168.1.250

Además, hay un excelente tutorial sobremedioque explica cómo configurarlo desde cero en minikube.

MetalLB contiene dos datos, un protocolo y un rango de direcciones IP. En esta configuración, MetalLB recibe instrucciones de distribuir direcciones de 192.168.99.95/105, es nuestro rango predefinido con respecto a la IP del nodo. En nuestro caso, para obtener la IP de nuestro minikube, usamos el comando minikube ip y configuramos el rango en consecuencia en el archivo de configuración.

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

información relacionada