{"id":21154,"date":"2025-10-16T08:46:04","date_gmt":"2025-10-16T14:46:04","guid":{"rendered":"https:\/\/sada.services\/?p=21154"},"modified":"2025-10-21T11:25:01","modified_gmt":"2025-10-21T17:25:01","slug":"okd-servicios","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=21154","title":{"rendered":"3 . OKD-udemy: Servicios"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>Un servicio es quien permite a un deployment ser accedido de diferentes formas <\/li>\n\n\n\n<li>Actualmente accedemos al servicio con rsh o la terminal, pero esto no es el proceso normal sino que debemos crear un servicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"650\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1683-1024x650.png\" alt=\"\" class=\"wp-image-21155\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1683-1024x650.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1683-300x191.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1683-768x488.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1683.png 1294w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Existen 3 tipos de servicios\n<ul class=\"wp-block-list\">\n<li>ClusterIp: como por ejemplo para un servicio mysql donde la bd no se debe exporner si no que otros cluster acceden a \u00e9l<\/li>\n\n\n\n<li>NodePort: para servicios como apache puerto 80 que habilita una ip y un puerto<\/li>\n\n\n\n<li>LoadBalancer: para servicios basados en nube donde se conectan a Loadbalancer de servicios como aws, google cloud,etc<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1684-1024x584.png\" alt=\"\" class=\"wp-image-21158\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1684-1024x584.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1684-300x171.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1684-768x438.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1684.png 1329w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Entonces el servicio apunta a los pod&#8217;s atrav\u00e9s de un SELECTOR ( es decir una etiqueta)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1685-1024x505.png\" alt=\"\" class=\"wp-image-21160\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1685-1024x505.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1685-300x148.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1685-768x379.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1685.png 1310w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Crear Servicio<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">1. Comando: <\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para crear el servicio vamos a trabar con el deploy de apache1 creado en la clase anterior<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"632\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1686-1024x632.png\" alt=\"\" class=\"wp-image-21164\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1686-1024x632.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1686-300x185.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1686-768x474.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1686.png 1112w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Este un servicio web debe ser accedido desde afuera del cluster por tanto tiene que ser tipo NodePort<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"164\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1687-1024x164.png\" alt=\"\" class=\"wp-image-21165\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1687-1024x164.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1687-300x48.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1687-768x123.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1687.png 1459w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verificamos que el deploy este corriendo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>eval \"$(ssh-agent -s)\"\nssh-add ~\/.ssh\/id_ed25519_openshift\nexport KUBECONFIG=\/home\/cgi\/okd-install\/auth\/kubeconfig\n\noc get deploy apache1<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"501\" height=\"91\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1688.png\" alt=\"\" class=\"wp-image-21167\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1688.png 501w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1688-300x54.png 300w\" sizes=\"(max-width: 501px) 100vw, 501px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos el servicio<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc expose --name=apache1-svc deploy apache1 --type=NodePort<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#8211;name=apache1-svc: nombre del servicio, si no se pone se crea con el mismo nombre del deploy svc = servicio<\/li>\n\n\n\n<li>deploy apache1: nombre del deploy asociado<\/li>\n\n\n\n<li>&#8211;type=NodePort: tipo de servicio<\/li>\n\n\n\n<li>Resultado<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"839\" height=\"53\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1689.png\" alt=\"\" class=\"wp-image-21168\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1689.png 839w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1689-300x19.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1689-768x49.png 768w\" sizes=\"(max-width: 839px) 100vw, 839px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y podemos consultar los servicios<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get svc<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"786\" height=\"99\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1690-1.png\" alt=\"\" class=\"wp-image-21171\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1690-1.png 786w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1690-1-300x38.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1690-1-768x97.png 768w\" sizes=\"(max-width: 786px) 100vw, 786px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aqu\u00ed vemos que mapea el puerto 80 del servicio al puerto 30706<\/li>\n\n\n\n<li>Ahora para acceder y probar el servicio normalmente se hace con router pero todavia no vamos a entrar en esto<\/li>\n\n\n\n<li>Por esto para ver si el servicio esta corriendo de manera correcta <\/li>\n\n\n\n<li>Primero obtenemos la informaci\u00f3n de los pods para ver en que worker se estan publicando  <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get pods --show-labels -o wide<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"151\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1691-1024x151.png\" alt=\"\" class=\"wp-image-21172\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1691-1024x151.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1691-300x44.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1691-768x113.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1691-1536x227.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1691.png 1861w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Con base en esto podemos ver que estan publicados en los workers compute1 y compute3<\/li>\n\n\n\n<li>y si ahora obtenemos la informaci\u00f3n de los nodos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get nodes -o wide<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>podemos las ips de los nodos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"101\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1692-1024x101.png\" alt=\"\" class=\"wp-image-21173\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1692-1024x101.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1692-300x30.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1692-768x76.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1692-1536x151.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1692.png 1896w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Por tanto ahora podriamos abrir el navegador con las ip&#8217;s de los nodos y el n\u00famero de puerto del servicio <\/li>\n\n\n\n<li>vemos como funciona<\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.241:30706\/\">http:\/\/10.0.2.241:30706\/<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.243:30706\/\">http:\/\/10.0.2.243:30706\/<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"460\" height=\"158\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1693.png\" alt=\"\" class=\"wp-image-21174\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1693.png 460w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1693-300x103.png 300w\" sizes=\"(max-width: 460px) 100vw, 460px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Esto lo podemos ver en la web en Redes -&gt; Servicios<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"999\" height=\"485\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1694.png\" alt=\"\" class=\"wp-image-21176\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1694.png 999w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1694-300x146.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1694-768x373.png 768w\" sizes=\"(max-width: 999px) 100vw, 999px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aqu\u00ed podemos notar que ha heredado las etiquetas del deploy<\/li>\n\n\n\n<li>Y que en el SELECTOR ha establecido que va a trabajar con los pods que tengan la etiqueta app=ejemplo-apache<\/li>\n\n\n\n<li>Y la ip y puerto que esta escuchando<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"127\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1695-1024x127.png\" alt=\"\" class=\"wp-image-21178\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1695-1024x127.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1695-300x37.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1695-768x95.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1695.png 1229w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si ingresamos al servicio<\/li>\n\n\n\n<li>Podemos ver sus etiquetas (y modificarlas)<\/li>\n\n\n\n<li>El selector <\/li>\n\n\n\n<li>y el mapeo<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"431\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1696-1024x431.png\" alt=\"\" class=\"wp-image-21180\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1696-1024x431.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1696-300x126.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1696-768x323.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1696-1536x646.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1696.png 1577w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y si vamos a pods podemos ver los pods que tienen la etiqueta app=ejemplo-apache<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"398\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1697-1024x398.png\" alt=\"\" class=\"wp-image-21181\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1697-1024x398.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1697-300x117.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1697-768x298.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1697.png 1483w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">2. Desde la Web<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para crear un servicio desde la web <\/li>\n\n\n\n<li>Primero vamos a crear un nuevo deplyment utilizando nginx<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code># Crear deplyoyment\noc create deployment nginx-dep --image=nginx\n\n# consultar\noc get deply <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"824\" height=\"350\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1698.png\" alt=\"\" class=\"wp-image-21183\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1698.png 824w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1698-300x127.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1698-768x326.png 768w\" sizes=\"(max-width: 824px) 100vw, 824px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>y consultamos los pods<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get pod<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"299\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1699.png\" alt=\"\" class=\"wp-image-21184\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1699.png 643w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1699-300x140.png 300w\" sizes=\"(max-width: 643px) 100vw, 643px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora hay que recordar que el servicio necesita encontrar los pods por un SELECTOR <\/li>\n\n\n\n<li>Por tanto necesitamos saber las etiquetas que tienen los pods del deploy <\/li>\n\n\n\n<li>para esto ejecutamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get pods -o wide --show-labels<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podemos observar que a los pods que pertenecen a un deploy siempre les pone la etiqueta app=nombre_deploy para esta caso app=nginx-dep<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"163\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1701-1024x163.png\" alt=\"\" class=\"wp-image-21187\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1701-1024x163.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1701-300x48.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1701-768x122.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1701-1536x244.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1701.png 1871w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora vamos a la web Redes -&gt; Servicios -&gt; Crear Servicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"284\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1700-1024x284.png\" alt=\"\" class=\"wp-image-21186\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1700-1024x284.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1700-300x83.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1700-768x213.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1700-1536x426.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1700.png 1866w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Solo se puede crear atrav\u00e9s de un yaml<\/li>\n\n\n\n<li>Aqu\u00ed debemos modificar\n<ul class=\"wp-block-list\">\n<li>name: nginx-svc: nombre del servicio<\/li>\n\n\n\n<li>namespace: desa1: verificar el namespace<\/li>\n\n\n\n<li>app: nginx-dep: el selector de los pods<\/li>\n\n\n\n<li>port: 80:<\/li>\n\n\n\n<li>targetPort: 80: puerto a la escucha en los pods<\/li>\n\n\n\n<li>nodePort: 31800: puerto para ingresar al servicio<\/li>\n\n\n\n<li>type: NodePort: tipo de servicio<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"has-palette-color-8-color has-vivid-red-background-color has-text-color has-background has-link-color wp-elements-d0eaebd7f6ae000cf04c317363affbe4\">NOTA:<br>* Es bueno copiar el codigo y pegarlo en un bloc de notas ya que cuando se le da crear y da alg\u00fan error esto se borra entonces para no perder el trabajo es bueno guardarlo<br><br>* En la parte de la selecci\u00f3n del puerto es bueno realizar una parte de planificaci\u00f3n del servicio para definir cual puerto utilizar y tener un inventario de estos puertos<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pegamos el c\u00f3digo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>apiVersion: v1\nkind: Service\nmetadata:\n  name: nginx-svc\n  namespace: desa1\nspec:\n  selector:\n    app: nginx-dep\n  ports:\n    - protocol: TCP\n      port: 80\n      targetPort: 80\n      nodePort: 31800\n  type: NodePort<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le damos crear<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"726\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1702-1024x726.png\" alt=\"\" class=\"wp-image-21189\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1702-1024x726.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1702-300x213.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1702-768x545.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1702.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Se crea el servicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"458\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1703-1024x458.png\" alt=\"\" class=\"wp-image-21190\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1703-1024x458.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1703-300x134.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1703-768x343.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1703-1536x687.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1703.png 1575w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ya podriamos comprobar el servicio\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/10.0.2.241:31800\/\">http:\/\/10.0.2.241:31800\/<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.243:31800\/\">http:\/\/10.0.2.243:31800\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"988\" height=\"425\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1704.png\" alt=\"\" class=\"wp-image-21191\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1704.png 988w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1704-300x129.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1704-768x330.png 768w\" sizes=\"(max-width: 988px) 100vw, 988px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tambien podriamos ingresar a Cargas de trabajo -&gt; Topologia -&gt; deploy: nginx-dep -&gt; Recursos <\/li>\n\n\n\n<li>Y observar que tenemos los pods y los servicios relacionados<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"452\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1705-1024x452.png\" alt=\"\" class=\"wp-image-21192\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1705-1024x452.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1705-300x132.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1705-768x339.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1705-1536x678.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1705.png 1883w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>De igual forma si ejecuto <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc describe svc nginx-svc<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podemos ver sus endpoints<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"760\" height=\"442\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1707.png\" alt=\"\" class=\"wp-image-21194\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1707.png 760w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1707-300x174.png 300w\" sizes=\"(max-width: 760px) 100vw, 760px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3. Desde YAML<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>En el provisioner<\/li>\n\n\n\n<li>Creamos un yaml<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>nano \/home\/cgi\/okd-install\/yamlPruebas\/crear_deploy_y_servicio.yaml<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le pegamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>#Crear un Deployment\napiVersion: apps\/v1\nkind: Deployment\nmetadata:\n  name: web1\nspec:\n  selector:   \n    matchLabels:\n      app: web1\n  replicas: 2 # indica al controlador que ejecute 2 pods\n  template:   # Plantilla que define los containers\n    metadata:\n      labels:\n        app: web1\n    spec:\n      containers:\n      - name: nginx-tavo\n        image: nginx\n        ports:\n        - containerPort: 80\t\t\n---\n\n# Crear el servicio asociado\napiVersion: v1\nkind: Service\nmetadata:\n  name: web1-svc\n  labels:\n     app: web1\nspec:\n  type: NodePort\n  ports:\n  - port: 80\n    nodePort: 30002\n    protocol: TCP\n  selector:\n     app: web1<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Debemos notar que para separar al deploy del service est\u00e1n estas lineas<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>---<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"890\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1715.png\" alt=\"\" class=\"wp-image-21204\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1715.png 594w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1715-200x300.png 200w\" sizes=\"(max-width: 594px) 100vw, 594px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resultado<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"85\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1716-1024x85.png\" alt=\"\" class=\"wp-image-21207\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1716-1024x85.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1716-300x25.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1716-768x63.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1716.png 1114w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podemos verificar<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>oc get deploy web1\n\noc get rs\n\noc get pods\n\noc get svc<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"601\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1717-1024x601.png\" alt=\"\" class=\"wp-image-21209\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1717-1024x601.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1717-300x176.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1717-768x450.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2025\/10\/Seleccion_1717.png 1098w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y verificamos desde el navegador<\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.241:30002\/\">http:\/\/10.0.2.241:30002\/<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.242:30002\/\">http:\/\/10.0.2.242:30002\/<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.243:30002\/\">http:\/\/10.0.2.243:30002\/<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Crear Servicio 1. Comando: 2. Desde la Web NOTA:* Es bueno copiar el codigo y pegarlo en un bloc de notas ya que cuando se le da crear y da alg\u00fan error esto se borra entonces para no perder el trabajo es bueno guardarlo * En la parte de la selecci\u00f3n del puerto es bueno [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-21154","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/21154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=21154"}],"version-history":[{"count":20,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/21154\/revisions"}],"predecessor-version":[{"id":21211,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/21154\/revisions\/21211"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=21154"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21154"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}