with tag quiet name example different compile and docker kubernetes virtualization

quiet - docker build with name and tag



servicio de kubernetes ip externa pendiente (10)

Creé un clúster de nodo único k8s usando kubeadm. Cuando probé PortForward y kubectl proxy , mostró IP externa como pendiente.

$ kubectl get svc -n argocd argocd-server NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE argocd-server LoadBalancer 10.107.37.153 <pending> 80:30047/TCP,443:31307/TCP 110s

En mi caso, parcheé el servicio así:

kubectl patch svc <svc-name> -n <namespace> -p ''{"spec": {"type": "LoadBalancer", "externalIPs":["172.31.71.218"]}}''

Después de esto, comenzó a servir sobre la IP pública

$ kubectl get svc argo-ui -n argo NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE argo-ui LoadBalancer 10.103.219.8 172.31.71.218 80:30981/TCP 7m50s

Estoy tratando de implementar nginx en kubernetes, la versión de kubernetes es v1.5.2, he implementado nginx con 3 réplicas, el archivo YAML está debajo,

apiVersion: extensions/v1beta1 kind: Deployment metadata: name: deployment-example spec: replicas: 3 revisionHistoryLimit: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.10 ports: - containerPort: 80

y ahora quiero exponer su puerto 80 en el puerto 30062 del nodo, para eso creé un servicio a continuación,

kind: Service apiVersion: v1 metadata: name: nginx-ils-service spec: ports: - name: http port: 80 nodePort: 30062 selector: app: nginx type: LoadBalancer

Este servicio funciona bien como debería, pero se muestra como pendiente no solo en el panel de control de Kubernetes sino también en la terminal.

así que ayúdame a resolver este problema. Gracias ...


Para acceder a un servicio en minikube , debe ejecutar el siguiente comando:

minikube service [-n NAMESPACE] [--url] NAME

Más información aquí: Minikube GitHub


Parece que está usando un Clúster Kubernetes personalizado (usando minikube , kubeadm o similar). En este caso, no hay LoadBalancer integrado (a diferencia de AWS o Google Cloud). Con esta configuración predeterminada, solo puede usar NodePort o un controlador de entrada. Con el controlador de ingreso puede configurar un nombre de dominio que se asigna a su pod.



Si no está utilizando GCE o EKS (usó kubeadm ), puede agregar una especificación de kubeadm externalIPs a su servicio YAML. Puede usar la IP asociada con la interfaz principal de su nodo, como eth0 . Luego puede acceder al servicio externamente, utilizando la IP externa del nodo.

... spec: type: LoadBalancer externalIPs: - 192.168.0.10


Si se ejecuta en minikube , no olvide mencionar el espacio de nombres si no está utilizando el predeterminado.

servicio minikube << service_name >> --url --namespace = << namespace_name >>


Verifique los registros del controlador Kube. Pude resolver este problema estableciendo las etiquetas de clusterID en la instancia ec2 en la que implementé el clúster.


eliminar el servicio existente y crear un mismo servicio nuevo resolvió mis problemas. Mi problema es que el equilibrio de carga que define Ip I se usa para que el punto final externo esté pendiente. Cuando cambié una nueva IP de equilibrio de carga, todavía no funcionaba. Finalmente, eliminar el servicio existente y crear uno nuevo resolvió mi problema.


mismo problema:

os> kubectl get svc right-sabertooth-wordpress

NOMBRE TIPO CLUSTER-IP EXTERNAL-IP PUERTO (S)
right-sabertooth-wordpress LoadBalancer 10.97.130.7 "pendiente" 80: 30454 / TCP, 443: 30427 / TCP

os> lista de servicio de minikube

| ------------- | ---------------------------- | ------ -------------------------- |

El | NAMESPACE | NOMBRE | URL |

| ------------- | ---------------------------- | ------ -------------------------- |

El | por defecto | kubernetes | Sin puerto de nodo |

El | por defecto | right-sabertooth-mariadb | Sin puerto de nodo |

El | por defecto | right-sabertooth-wordpress | http://192.168.99.100:30454 |

El | El | El | http://192.168.99.100:30427 |

El | sistema kube | kube-dns | Sin puerto de nodo |

El | sistema kube | despliegue del timón | Sin puerto de nodo |

| ------------- | ---------------------------- | ------ -------------------------- |

Sin embargo, es accesible a través de esa http://192.168.99.100:30454 .


Utilice NodePort:

kubectl ejecutar inicio de sesión de usuario --replicas = 2 - etiquetas = "ejecutar = inicio de sesión de usuario" --imagen = kingslayerr / teamproject: versión2 --port = 5000

kubectl expone la implementación de inicio de sesión de usuario --type = NodePort --name = user-login-service

kubectl describe los servicios user-login-service (anote el puerto)

kubect cluster-info (IP-> Obtener la IP donde se ejecuta el maestro)

Se puede acceder a su servicio en (IP) :( puerto)