【问题标题】:minikube expose service on specific portminikube 在特定端口上公开服务
【发布时间】:2019-04-15 18:31:57
【问题描述】:

是否可以使用minikube 在特定端口上公开服务?

kubectl expose deployment my-deployment --type=NodePort --port=80 不抛出错误,但在调用时

minikube service my-deployment --url

结果如下:

http://192.168.99.100:31512 在端口 80 上不可用,而是在端口 31512 上可用。

【问题讨论】:

    标签: minikube


    【解决方案1】:

    根据https://kubernetes.io/docs/concepts/services-networking/service/#nodeportnodePort 类型的minikube 的有效端口默认为30000-32767

    我能够指定一个特定的端口(这里:30000 在该范围内使用这个services.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: my-deployment 
      labels:
        app: my-deployment 
    spec:
      type: NodePort
      ports:
      - port: 80
        targetPort: 80
        nodePort: 30000
        protocol: TCP
      selector:
        app: my-deployment 
    

    以这种方式启动minikube时:

    minikube start --extra-config=apiserver.service-node-port-range=80-30000,端口80也可以使用:

    apiVersion: v1
    kind: Service
    metadata:
      name: my-deployment 
      labels:
        app: my-deployment 
    spec:
      type: NodePort
      ports:
      - port: 80
        targetPort: 80
        nodePort: 80
        protocol: TCP
      selector:
        app: my-deployment 
    

    minikube service my-deployment --url 现在按预期返回http://192.168.99.100:80,并且应用程序在端口80 上可用。

    【讨论】:

    • 如果我想更改 minikube 之外的节点端口的范围怎么办?我正在尝试这个 kubernetes.io/docs/tasks/administer-cluster/reconfigure-kubelet ,更改端口,但即使重新启动 kubelet 服务,也没有任何变化
    • 我很确定我遵循了这个但它不起作用。也就是说,它一直给我一个随机端口,而不是“nodePort”中指定的端口。是否有可能发生了一些变化?
    • 这个答案解决了我的问题:stackoverflow.com/a/55110218/1708543
    猜你喜欢
    • 2020-06-17
    • 2020-05-05
    • 2022-01-28
    • 2020-07-19
    • 2022-12-12
    • 2021-07-29
    • 1970-01-01
    • 2017-09-07
    相关资源
    最近更新 更多