minikube在特定端口上公开服务

时间:2018-11-13 01:04:47

标签: minikube

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

kubectl expose deployment my-deployment --type=NodePort --port=80不会引发错误,但是在调用时

minikube service my-deployment --url

其结果类似于:

http://192.168.99.100:31512,它在端口80上不可用,但在端口31512上不可用。

1 个答案:

答案 0 :(得分:2)

根据https://kubernetes.io/docs/concepts/services-networking/service/#nodeport,默认情况下minikube类型的nodePort的有效端口为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上可用。