Jak*_*cey 8 docker kubernetes minikube
我正在尝试公开我的api所以我可以向它发送请求.但是,当我使用命令时,minikube service api --url我什么都没得到.我所有的豆荚都运行得很好,kubectl get pods所以我坚持认为这可能是什么.
api-1007925651-0rt1n 1/1 Running 0 26m
auth-1671920045-0f85w 1/1 Running 0 26m
blankit-app 1/1 Running 5 5d
logging-2525807854-2gfwz 1/1 Running 0 26m
mongo-1361605738-0fdq4 1/1 Running 0 26m
jwl:.build jakewlace$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
api 10.0.0.194 <none> 3001/TCP 23m
auth 10.0.0.36 <none> 3100/TCP 23m
kubernetes 10.0.0.1 <none> 443/TCP 5d
logging 10.0.0.118 <none> 3200/TCP 23m
mongo 10.0.0.132 <none> 27017/TCP 23m
jwl:.build jakewlace$
jwl:.build jakewlace$ minikube service api --url
jwl:.build jakewlace$
Run Code Online (Sandbox Code Playgroud)
任何帮助都将受到大力赞赏,谢谢.
我意识到这里的问题可能被认为是微不足道的,但那是因为我不确定我从教程中可以看到的更多信息我应该只是工作.如果您需要更多信息,请告诉我,我会通知您.
编辑:
API-service.yml
apiVersion: v1
kind: Service
metadata:
creationTimestamp: null
labels:
io.kompose.service: api
name: api
spec:
ports:
- name: "3001"
port: 3001
targetPort: 3001
selector:
io.kompose.service: api
status:
loadBalancer: {}
Run Code Online (Sandbox Code Playgroud)
API-deployment.yml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
creationTimestamp: null
labels:
io.kompose.service: api
name: api
spec:
replicas: 1
strategy: {}
template:
metadata:
creationTimestamp: null
labels:
io.kompose.service: api
spec:
containers:
- image: blankit/web:0.0.1
name: api
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3001
resources: {}
restartPolicy: Always
status: {}
Run Code Online (Sandbox Code Playgroud)
Aym*_*ine 10
你的配置很好,但只缺少一件事.
Kubernetes中有许多类型的服务,但在这种情况下,您应该了解其中两种:
ClusterIP服务:
在集群内部IP上公开服务.选择此值使服务只能从群集中访问.这是默认值.NodePort:
在静态端口(NodePort)上的每个Node的IP上公开服务.将自动创建NodePort服务将路由到的ClusterIP服务.您可以通过请求从群集外部联系NodePort服务<NodeIP>:<NodePort>.
注意:
如果您有一个多节点群集并且您已公开NodePort服务,则可以从同一端口上的任何其他节点进行访问,而不一定是部署该pod的同一节点.
因此,回到您的服务,您应该在您的规范中指定服务类型:
kind: Service
apiVersion: v1
metadata:
...
spec:
type: NodePort
selector:
...
ports:
- protocol: TCP
port: 3001
Run Code Online (Sandbox Code Playgroud)
现在,如果你minikube service api --url,它应该返回一个像这样的URL http://<NodeIP>:<NodePort>.
注意:默认的Kubernetes配置将从30000-32767中选择一个随机端口.但是如果需要,你可以覆盖它.
有用的参考:
| 归档时间: |
|
| 查看次数: |
2464 次 |
| 最近记录: |