Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

570
Vistas
Exponer el contenedor Nginx y ver el servicio

1.) Ejecute el siguiente comando para generar un número aleatorio que se utiliza en los pasos posteriores

 NUMBER=$[ ( $RANDOM % 1000 ) + 1 ] echo $NUMBER

Nota : Reemplace la oración de su número aleatorio con el número que ha generado donde haya encontrado la oración.

Su tarea es iniciar un Kubernetes Engine administrado por Kubernetes Cluster con el nombre mycluster, su número aleatorio, y configurarlo para ejecutar 2 nodos.

2.) Ejecutar e implementar un contenedor Aquí, debe iniciar una sola instancia del contenedor Nginx (con la versión 1.10.0) desde el shell de la nube.

Ejecute el siguiente comando para ver el pod que se está ejecutando en el contenedor nginx.**

3.) Primero, debe exponer el contenedor Nginx a Internet.

Kubernetes creará un servicio con un balanceador de carga externo con una dirección IP pública. Puede ver su servicio ejecutando el siguiente comando.

 kubectl get services

Ahora, obtendrá la dirección IP externa del clúster de Nginx. Abra la nueva pestaña del navegador web y pegue la dirección IP externa del clúster. Debería obtener la página de inicio predeterminada del navegador Nginx.

He usado el siguiente código hasta ahora, pero lb no funciona:

 gcloud container clusters create mycluster-5 --zone=us-central1-a kubectl create deployment mycluster --image=gcr.io/cloud-marketplace/google/nginx1 kubectl set image deployment nginx nginx=nginx:1.9.1 kubectl expose deployment mycluster-727 --type LoadBalancer --port 80 --target-port 8080 service/mycluster-727 exposed
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

La razón por la que no funciona es que el puerto no está expuesto por el Pod. Ejecute el siguiente comando en lugar del segundo comando.

kubectl run mycluster --image=gcr.io/cloud-marketplace/google/nginx1 --port=80

Este comando debería crear la implementación y exponer el containerPort en 80 también, que su servicio podría alcanzar.

over 4 years ago · Santiago Trujillo Denunciar

0

¡Bienvenido a Stack Overflow!

Los comandos que ha publicado no funcionan porque tiene un error tipográfico y los puertos de los contenedores no coinciden.

Explicación del problema:

Aquí está creando una nueva implementación llamada mycluster pero no está exponiendo ningún puerto. kubectl create deployment mycluster --image=gcr.io/cloud-marketplace/google/nginx1

Aquí está exponiendo una implementación denominada mycluster-727 en el puerto 80 y en el puerto de destino 8080 :

kubectl expose deployment mycluster-727 --type LoadBalancer --port 80 --target-port 8080

Aquí está configurando la imagen en diferentes nginx de implementación y con una versión diferente que se solicitó 1.10.0 : kubectl set image deployment nginx nginx=nginx:1.9.1

arreglando el problema

Lo he comprobado, y las imágenes gcr.io/cloud-marketplace/google/nginx1 y nginx:1.10.0 y ambas usan el puerto 80 para exponer la aplicación, así que en lugar de usar --targer-port=8080 necesitas usar port 80 , pero también debe exponer el contenedor por al crear la implementación.

Según la respuesta de @nischay goayl , el siguiente comando creará una implementación y la expondrá en el puerto 80: kubectl run mycluster --image=nginx:1.10.0 --port=80

Luego, cree un servicio que exponga la aplicación: kubectl expose deployment mycluster --type LoadBalancer --port 80 --target-port 80

Espere a EXTERANL-IP e intente llegar a su aplicación.

Si desea realizar una prueba interna , use un módulo de prueba con una imagen curl para llegar al servicio:

 apiVersion: v1 kind: Pod metadata: name: curl namespace: default spec: containers: - name: curl image: curlimages/curl command: - sleep - "3600" imagePullPolicy: IfNotPresent restartPolicy: Always

Y luego usa el comando:

kubectl exec -it curl -- curl -IL http://mycluster

respuesta:

 HTTP/1.1 200 OK Server: nginx/1.10.0 Date: Mon, 30 Mar 2020 09:30:07 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 26 Apr 2016 15:17:57 GMT Connection: keep-alive ETag: "571f86a5-264" Accept-Ranges: bytes
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda