0

目前我正在使用带有 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 我将使用随机 PORT 获得服务。

我希望能够修复这个端口。但我不知道这是否应该在 k8s 配置/skaffold/minikube/docker 中考虑?

典型用例:我想mysql从 sequel pro / workbench 或任何工具访问...因此,此配置使用端口保存在本地...不必更改此工具中的端口即可访问mysql的minikube服务...

当前设置有:操作系统系统中的 Virtualbox,带有 minikube 和 skaffold。服务被暴露为 k8s 服务节点端口。

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

4

1 回答 1

1

通过更改 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通过添加此选项暴露出来的,它不再是随机的,而是您需要的端口。

于 2020-06-08T12:33:47.830 回答