Este requisito es principalmente para un entorno de desarrollo.
A medida que actualizo una imagen acoplable mediante la cual se crea y expone una implementación a través de Minikube, tengo que eliminar y volver a crear esta implementación y servicio. Sin embargo, me gustaría mantener el mismo puerto de nodo que se asignó a ese servicio en particular. Sé que si se deja a Minikube, se asigna un puerto aleatorio. Pero, ¿puedo especificar el NodePort?
Creo la implementación usando el siguiente archivo Yaml y expongo el servicio a través del comando de expose .
apiVersion: extensions/v1beta1 kind: Deployment metadata: name: dpl_name spec: template: metadata: labels: app: app_name spec: containers: - name: ctr_name image: 192.168.42.22:80/imagename:latest ports: - containerPort: 8090 volumeMounts: - mountPath: /var/containerdata name: vlm volumes: - name: vlm hostPath: path: '/data/vlm'Puede exponer la implementación creando un servicio de tipo NodePort y especificando el valor de nodePort en esa configuración .yaml:
kind: Service apiVersion: v1 metadata: name: app_name labels: app: app_name spec: type: NodePort ports: - port: 80 targetPort: 8090 nodePort: 30000 # <-- selector: app: app_name Esto especificará usar siempre el valor de nodePort : 30000