【问题标题】:How to fix service PORT for minikube - skaffold local environment?如何修复 minikube - skaffold 本地环境的服务端口?
【发布时间】:2020-06-11 22:28:56
【问题描述】:

目前我正在使用带有 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 中考虑??

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

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

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

【问题讨论】:

    标签: docker minikube skaffold


    【解决方案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 暴露的端口,加上这个选项就不再是随机的了,而是你需要的端口。

    【讨论】:

    • 我将使用此选项进行进一步测试,但肯定会是答案,在接下来的几个小时内会进行一些测试
    • 你应该也可以在服务上设置 NodePort,我猜......但这可能意味着你会有不同的开发和生产版本......kubernetes.io/docs/concepts/services-networking/service/…
    猜你喜欢
    • 2020-01-06
    • 2021-03-26
    • 1970-01-01
    • 2019-04-15
    • 2018-02-24
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多