No se puede acceder a los nodos de Kubernetes y no se puede acceder a la red local después de instalar cilio

No se puede acceder a los nodos de Kubernetes y no se puede acceder a la red local después de instalar cilio

Una pequeña introducción. Soy bastante nuevo en Kubernetes, así que soy un poco rudo. Déjame esbozar mi problema.

TLDR:Después de instalar cilium en kubernetes, no puedo acceder desde ni hacia ninguna otra máquina en mis redes locales

Tengo dos subredes:

10.0.0.0/24 > Para todas mis otras máquinas virtuales (DNS, Ansible)

10.8.0.0/24 > Para mi clúster K8s

Tengo 3 nodos, 1 controlador y 2 trabajadores. y es principalmente para probar y jugar con él.

Inicié el cluster usando

kubeadm init --skip-phases=addon/kube-proxy (I also wanted to use cilium for the proxy)

Después de eso, lo único que configuro es Helm para poder obtener fácilmente el paquete cilium.

En esta configuración sin cilio puedo conectarme a todo bien. DNS, Ansible no hay problema.

Después de instalar cilio a través de Helm usando los siguientes valores:

- name: helm install cilium
  kubernetes.core.helm:
    name: cilium
    chart_ref: cilium/cilium 
    chart_version: 1.11.5
    release_namespace: kube-system
    values:
      k8sServiceHost: 10.8.0.1
      k8sServicePort: 6443
      kubeProxyReplacement: strict

Ya no puedo conectarme a mis nodos desde ninguna otra máquina y mis nodos no pueden acceder a nada dentro de mi subred local 10.0.0.0/24, por ejemplo.

cuando intento hacer NSlookup

nslookup google.com 10.0.0.1
;; connection timed out; no servers could be reached

Sin embargo, cuando lo hago a una IP fuera del rango 10.0.0.0/8

nslookup google.com 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 142.250.179.174
Name:   google.com
Address: 2a00:1450:400e:802::200e

funciona al instante

Todos los servicios parecen funcionar bien cuando se usan

cuando usas:

Cilium status 

Cuando miro todos los servicios, parecen estar bien también.

    /¯¯\
 /¯¯\__/¯¯\    Cilium:         OK
 \__/¯¯\__/    Operator:       OK
 /¯¯\__/¯¯\    Hubble:         disabled
 \__/¯¯\__/    ClusterMesh:    disabled
    \__/

DaemonSet         cilium             Desired: 3, Ready: 3/3, Available: 3/3
Deployment        cilium-operator    Desired: 2, Ready: 2/2, Available: 2/2
Containers:       cilium             Running: 3
                  cilium-operator    Running: 2
Cluster Pods:     3/3 managed by Cilium
Image versions    cilium             quay.io/cilium/cilium:v1.11.5@sha256:79e66c3c2677e9ecc3fd5b2ed8e4ea7e49cf99ed6ee181f2ef43400c4db5eef0: 3
                  cilium-operator    quay.io/cilium/operator-generic:v1.11.5@sha256:8ace281328b27d4216218c604d720b9a63a8aec2bd1996057c79ab0168f9d6d8: 2
kube-system   cilium-2xhvn                                       1/1     Running   0               78m   10.8.0.3     kube-worker02   <none>           <none>
kube-system   cilium-hk8f7                                       1/1     Running   1 (2m23s ago)   78m   10.8.0.1     kube-master00   <none>           <none>
kube-system   cilium-m26jx                                       1/1     Running   0               78m   10.8.0.2     kube-worker01   <none>           <none>
kube-system   cilium-operator-5484444455-4g7pz                   1/1     Running   1 (2m29s ago)   78m   10.8.0.3     kube-worker02   <none>           <none>
kube-system   cilium-operator-5484444455-9v5dv                   1/1     Running   1 (2m24s ago)   78m   10.8.0.2     kube-worker01   <none>           <none>
kube-system   coredns-6d4b75cb6d-v6gzl                           1/1     Running   1 (2m23s ago)   80m   10.0.0.106   kube-master00   <none>           <none>
kube-system   coredns-6d4b75cb6d-w42pk                           1/1     Running   1 (2m23s ago)   80m   10.0.0.28    kube-master00   <none>           <none>
kube-system   etcd-kube-master00                                 1/1     Running   1 (2m23s ago)   80m   10.8.0.1     kube-master00   <none>           <none>
kube-system   kube-apiserver-kube-master00                       1/1     Running   1 (2m23s ago)   80m   10.8.0.1     kube-master00   <none>           <none>
kube-system   kube-controller-manager-kube-master00              1/1     Running   1 (2m23s ago)   80m   10.8.0.1     kube-master00   <none>           <none>
kube-system   kube-scheduler-kube-master00                       1/1     Running   1 (2m23s ago)   80m   10.8.0.1     kube-master00   <none>           <none>

No sé porque las ips del core dns son esas. Creo que es solo de la red pod automáticamente, no sé la configuración exacta para especificar una subred diferente.

Tengo la sensación de que también tiene algo que ver con las rutas, que curiosamente enruta internamente ya que cilio también usa rangos dentro de 10.0.0.0/8, pero no tengo idea de cómo verificarlo o solucionarlo... y he estado jugando Sin intentarlo una y otra vez, pero parece que está sucediendo lo mismo, ¡así que pido ayuda!

Respuesta1

Volviendo a Freshminded unos días después, fue bastante fácil...

La configuración predeterminada es que las redes de pods y las redes internas de Kubernetes usan 10.0.0.0/8. Estas rutas básicamente estropean mis propias rutas creando pérdida de conexión.

Para solucionar este problema, le di a Ipam los siguientes valores al instalar el paquete helm, haciéndolo usar 172.16.0.0/12 en lugar de 10.0.0.0/8.

      ipam:
        mode: "cluster-pool"
        operator:
          clusterPoolIPv4PodCIDR: "172.16.0.0/12"
          clusterPoolIPv4PodCIDRList: ["172.16.0.0/12"]
          clusterPoolIPv4MaskSize: 24   

información relacionada