Estoy aprendiendo sobre Kubernetes y los controladores de ingreso, pero no obtengo este error cuando intento aplicar el manifiesto de ingreso de kong ...

ingress-kong-7dd57556c5-bh687   0/2     Init:0/1   0          29s
kong-migrations-gzlqj           0/1     Init:0/1   0          28s
postgres-0                      0/1     Pending    0          28s

¿Es posible ejecutar esta entrada en mi servidor doméstico sin minikube? Si es así, ¿cómo?

Nota: tengo un FQDN que apunta a mi servidor doméstico.

-1
Wilson López 7 oct. 2019 a las 02:39

1 respuesta

La mejor respuesta

Supongo que ejecuta el manifiesto desde Github

Problemas con los pods

He reproducido tu caso. Como tiene 3 pods, ha utilizado la opción con DB. Si describe las vainas usando $ kubectl describe pod <podname> -n kong recibirá una salida de error:

Events:
  Type     Reason            Age               From               Message
  ----     ------            ----              ----               -------
  Warning  FailedScheduling  7s (x4 over 17s)  default-scheduler  pod has unbound immediate PersistentVolumeClaims (repeated 2 times)

También puede marcar job en el espacio de nombres kong. Funciona correctamente en un clúster Minikube nuevo, así que supongo que podría aplicar los mismos cambios a la clase de almacenamiento.

¿Es posible ejecutar esta entrada en mi servidor doméstico sin minikube? Si es así, ¿cómo?

Tienes que usar Kubernetes para hacerlo. Dado que Minikube es compatible con LoadBalancer, puede usarlo en Inicio. Puede consultar este hilo sobre FQDN. Como se mencionó:

La máquina host debería poder resolver el nombre de ese FQDN. Puede agregar un registro en / etc / hosts en el host de Mac para lograr eso: 10.0.0.2 mydb.mytestdomain

Pero en su caso, debería ser la dirección IP de LoadBalancer, kong-proxy.

Obtenga la IP de LoadBalancer en Minikube

Si vas a desplegar todo correctamente puedes comprobar tus servicios. $ kubectl get svc -n kong Verá el servicio kong-proxy con el tipo LoadBalancer con <pending> EXTERNAL-IP. Para obtener ExternalIP, debe utilizar minikbue tunnel.

Tenga en cuenta que debe tener $ sudo minikube tunnel ejecutado en una consola todo el tiempo.

Antes del túnel de Minikube

$ kubectl get svc -n kong
NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)                      AGE
kong-proxy                LoadBalancer   10.110.218.74    <pending>     80:31881/TCP,443:31319/TCP   103m
kong-validation-webhook   ClusterIP      10.108.204.137   <none>        443/TCP                      103m
postgres                  ClusterIP      10.105.9.54      <none>        5432/TCP                     103m

Después

$ kubectl get svc -n kong
NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP     PORT(S)                      AGE
kong-proxy                LoadBalancer   10.110.218.74    10.110.218.74   80:31881/TCP,443:31319/TCP   104m
kong-validation-webhook   ClusterIP      10.108.204.137   <none>          443/TCP                      104m
postgres                  ClusterIP      10.105.9.54      <none>          5432/TCP                     104m

Probando Kong

Aquí puede encontrar cómo empezar con Kong. Le mostrará cómo crear Ingress. Más tarde, como mencioné, debe editar ingress y agregar una regla (host) similar a Documentos de K8s.

1
PjoterS 7 oct. 2019 a las 13:12