minikube 在特定端口上公开服务

Ale*_*ler 4 minikube

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

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

minikube service my-deployment --url

结果如下:

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

Ale*_*ler 13

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

我能够指定一个特定的端口(此处: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 
Run Code Online (Sandbox Code Playgroud)

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 
Run Code Online (Sandbox Code Playgroud)

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