Estudio de CKDA – Día 17

Entonces si fueron 3 ejercicios en un dia, asi me recuperare los 15 que tengo en deficit.


En el namespace exam-ns, crea un Deployment llamado frontend con 3 réplicas usando la imagen nginx:stable, y expónlo con un Service de tipo ClusterIP al puerto 80.


Bueno mi clusterIP no funciona, asi que necesito otra estrategia. Gracias Podman. Usare NodePort y asi estudio de ello.


Bueno dos cosas interesantes

No puedo usar Cluster IP porque el estupido Minikube + Podman

Y NodePort no deja acceder directamente por Minikube + Podman

Hay que hacer una jugadita para exponer y crear un tunel del terminal al cluster y alli si deja usar 127.0.0.1


# En el namespace exam-ns, 
# crea un Deployment llamado frontend con 3 réplicas 
# usando la imagen nginx:stable, 
# y expónlo con un Service de tipo ClusterIP al puerto 80. / NodePort
---
apiVersion: v1
kind: Namespace
metadata:
  name: exam-ns
  labels:
    app: frontend
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: frontend
  namespace: exam-ns
spec:
  replicas: 3
  selector:
    matchLabels:
      app: frontend
  template:
    metadata:
      labels:
        app: frontend
    spec:
      containers:
      - name: frontend
        image: nginx:stable
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: frontendsvc
  namespace: exam-ns
spec:
  type: NodePort
  selector:
    app: frontend   # ¿Asi busco los pods?
  ports:
  - port: 80        # Este es el puerto del cluster
    targetPort: 80  # este es el puerto del contenedor
    nodePort: 30080 # Este es el puerto externo - Dice que es opcional

# Para hacer funcionar esto hay que hacer un tunel de mi host a minikube, es algo propio de minikube
# minikube service frontendsvc -n exam-ns

Todavia tengo mis temas con los servicios, y los mapeos, voy a tratar de probarlos todos poco a poco.

Ya cada vez me acuerdo mas de la caracteristicas del deployment, aunque lo tuve que buscar nuevamente.

  • Selector
  • Template

Son importantes.