Kubernetes 我应该如何配置我的服务以使用minikube通过:localhost:3000访问grafana
我已经在minikube部署了grafana,但无法在url:Kubernetes 我应该如何配置我的服务以使用minikube通过:localhost:3000访问grafana,kubernetes,minikube,Kubernetes,Minikube,我已经在minikube部署了grafana,但无法在url:127.0.0.1:3000上访问它 这是我的服务文件: apiVersion: v1 kind: Service metadata: name: grafana-local namespace: monitoring labels: app: grafana-local component: core spec: type: NodePort ports: - port: 3000 s
127.0.0.1:3000上访问它
这是我的服务文件:
apiVersion: v1
kind: Service
metadata:
name: grafana-local
namespace: monitoring
labels:
app: grafana-local
component: core
spec:
type: NodePort
ports:
- port: 3000
selector:
app: grafana-local
component: core
当我执行minikube服务列表时,我得到以下信息:
| monitoring | grafana-local | 3000 | http://172.17.0.3:32113 |
当我通过http://172.17.0.3:32113
,它正在工作。但它不应该将其转发到主机上的端口3000,并带有以下部分:
spec:
type: NodePort
ports:
- port: 3000
?尝试使用主机名/IP和节点端口
http://<host IP>:3000
http://:3000
Kubernetes服务有几种不同的端口配置:
Port
在集群内指定的端口上公开Kubernetes服务。群集中的其他POD可以通过指定端口与此服务器通信
TargetPort
是服务将向其发送请求的端口,您的pod将监听该端口。容器中的应用程序也需要侦听此端口
节点端口
通过目标节点IP地址和节点端口
向集群外部公开服务<如果未指定端口字段,则代码>节点端口
是默认设置
从上面的示例来看,grafana local
服务将在端口3000上的集群应用程序内部公开,在32113上的节点IP地址上的集群外部公开。您的配置未指定NodePort
,因此它是从预定义的NodePort
默认范围30000-32767分配给32113的
您可以通过以下方式查看服务的详细信息:
kubectl describe service grafana-local
如果要将
节点端口更改为不同于默认范围30000-32767的值,则需要更新文件/etc/kubernetes/manifests/kube apiserver.yaml
,并添加行--服务节点端口范围=xxx yyy
(在此处选择您的值)。由于目录由kubelet
监控任何更改,因此无需执行更多操作。将使用新设置重新创建kube apiserver
。但是,请记住,选择默认范围是为了避免网络冲突,因此您需要确保它不会覆盖要在群集中使用的其他端口。无论您配置什么,我都认为是正确的。如果您想访问localhost:3000,那么使用
kubectl port-forward pod_name 3000:3000
然后转到http://localhost:3000
这不是我想要的,我已经用http://172.17.0.3:32113
它正在工作我的意思是说NodePort与主机IPthis一起工作,但有没有办法将其放入配置文件中?我有10个服务,不想对每个本地服务执行10次这个命令。我想建议一下,我以前用它来配置grafana的仪表板。然而,你需要使用头盔来部署东西。