Kubernetes 我应该如何配置我的服务以使用minikube通过:localhost:3000访问grafana

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

我已经在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
  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的仪表板。然而,你需要使用头盔来部署东西。