在Minikube中创build部署时指定nodeport

这个要求主要针对开发环境。

当我更新一个Docker镜像,通过Minikube创build和展示部署时,我必须删除并重新创build这个部署和服务。 但是,我想维护分配给该特定服务的同一个nodeport。 我知道,如果离开Minikube,一个随机端口被分配。 但是,我可以指定的NodePort?

我使用以下Yaml文件创build部署,并通过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' 

您可以通过创buildtypes为NodePort的服务并在该.yamlconfiguration中指定nodePort值来公开该部署:

 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 

这将指定始终使用nodePort值: 30000