如何修复 minikube 的服务端口 - skaffold 本地环境?

How to fix service PORT for minikube - skaffold local environment?

目前我使用的是带有 Skaffold + Minikube 的本地环境,每次我启动集群时都是这样的:

skaffold dev -f='./skaffold-cluster.yaml' --no-prune=false --cache-artifacts=false --status-check=false

我得到了一堆属于我的 skaffold 清单的服务,但这些服务中的每一个都使用随机端口公开。 ip是一样的,因为minikube已经启动了。

如果我这样做:minikube service nice-service --url我将使用随机端口获得服务。

我希望能够修复这个端口。但是我看不出这是否应该在 k8s 配置 / skaffold / minikube / docker ??

中考虑

典型用例: 我想从 sequel pro / workbench 或任何工具访问 mysql...因此此配置通过端口保存在本地...不必更改会很棒此工具中的端口,用于访问 mysql...

的 minikube 服务

当前设置有:OS 系统中的 Virtualbox,带有 minikube 和 skaffold。服务作为 k8s 服务节点端口公开。

是否可以修复此端口服务?

通过更改 nodePort 选项:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  type: NodePort
  selector:
    app: MyApp
  ports:
      # By default and for convenience, the `targetPort` is set to the same value as the `port` field.
    - port: 80
      targetPort: 80
      # Optional field
      # By default and for convenience, the Kubernetes control plane will allocate a port from a range (default: 30000-32767)
      nodePort: 30007

nodePort 是 minikube service my-service --url 暴露的端口,加上这个选项就不再是随机的了,而是你需要的端口。