热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何通过kubectl代理访问此Kubernetes服务?

如何解决《如何通过kubectl代理访问此Kubernetes服务?》经验,为你挑选了2个好方法。

我想通过kubectl代理服务器访问我的Grafana Kubernetes服务,但由于某种原因,即使我可以使其适用于其他服务,它也无法工作.鉴于以下服务定义,为什么它不能在http:// localhost:8001/api/v1/proxy/namespaces/monitoring/services/grafana上找到?

grafana-service.yaml
apiVersion: v1
kind: Service
metadata:
  namespace: monitoring
  name: grafana
  labels:
    app: grafana
spec:
  type: NodePort
  ports:
  - name: web
    port: 3000
    protocol: TCP
    nodePort: 30902
  selector:
    app: grafana
grafana-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: monitoring
  name: grafana
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:4.1.1
        env:
        - name: GF_AUTH_BASIC_ENABLED
          value: "true"
        - name: GF_AUTH_ANONYMOUS_ENABLED
          value: "true"
        - name: GF_SECURITY_ADMIN_USER
          valueFrom:
            secretKeyRef:
              name: grafana-credentials
              key: user
        - name: GF_SECURITY_ADMIN_PASSWORD
          valueFrom:
            secretKeyRef:
              name: grafana-credentials
              key: password
        volumeMounts:
        - name: grafana-storage
          mountPath: /var/grafana-storage
        ports:
        - name: web
          containerPort: 3000
        resources:
          requests:
            memory: 100Mi
            cpu: 100m
          limits:
            memory: 200Mi
            cpu: 200m
      - name: grafana-watcher
        image: quay.io/coreos/grafana-watcher:v0.0.5
        args:
          - '--watch-dir=/var/grafana-dashboards'
          - '--grafana-url=http://localhost:3000'
        env:
        - name: GRAFANA_USER
          valueFrom:
            secretKeyRef:
              name: grafana-credentials
              key: user
        - name: GRAFANA_PASSWORD
          valueFrom:
            secretKeyRef:
              name: grafana-credentials
              key: password
        resources:
          requests:
            memory: "16Mi"
            cpu: "50m"
          limits:
            memory: "32Mi"
            cpu: "100m"
        volumeMounts:
        - name: grafana-dashboards
          mountPath: /var/grafana-dashboards
      volumes:
      - name: grafana-storage
        emptyDir: {}
      - name: grafana-dashboards
        configMap:
          name: grafana-dashboards

我在访问上述URL时看到的错误是"没有端点可用于服务"grafana"",错误代码503.



1> 小智..:

正如迈克尔所说,很可能你的标签或命名空间不匹配.但是除此之外,请记住,即使您修复了端点,您所访问的URL(http:// localhost:8001/api/v1/proxy/namespaces/monitoring/services/grafana)也可能无法正常工作.

根据您的root_url和/或static_root_path grafana配置设置,当您尝试登录时,您可能会尝试将POST发送到http:// localhost:8001/login并获得404.

尝试使用kubectl port-forward代替:

kubectl -n monitoring port-forward [grafana-pod-name] 3000

然后通过http:// localhost:3000 /访问grafana

https://kubernetes.io/docs/tasks/access-application-cluster/port-forward-access-application-cluster/



2> aknuds1..:

问题是Grafana的端口名为web,因此需要将其附加:web到kubectl代理URL:http:// localhost:8001 / api / v1 / proxy / namespaces / monitoring / services / grafana:web。

另一种选择是,不命名Grafana端口,因为这样您就不必:web在服务的kubectl代理URL后面附加:http:// localhost:8001 / api / v1 / proxy / namespaces / monitoring / services / grafana:web。最后我选择了这个选项,因为它更容易。


我不知道为什么,但是我无法在AKS上使用此模式。相反,我必须遵循此模式(末尾使用代理):http:// localhost:8001 / api / v1 / namespaces / / services / / proxy /
推荐阅读
author-avatar
我是王美慧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有