docker - Minikube / Grafana:连接被拒绝
问题描述
我正在尝试在 minikube 本地集群中安装 Grafanaminikube 1.13.0
这是整个过程:
minikube start # this step is OK
我使用以下方式部署 Grafana:
kubectl config use-context minikube
kubectl create namespace monitoring --dry-run=client -o yaml | kubectl apply -f -
kubectl create secret generic grafana-env --from-env-file=.env.local --namespace=monitoring --dry-run=client -o yaml | kubectl apply -f -
kubectl apply -f deployment/local/grafana-pvc.yml
kubectl apply -f deployment/local/grafana-secret.yml
kubectl apply -f deployment/local/grafana-deployment.yml
kubectl apply -f deployment/local/grafana-svc.yml
kubectl apply -f deployment/local/grafana-ingress-local.yml
部署:
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
reloader.stakater.com/auto: "true"
name: grafana-core-local
namespace: monitoring
labels:
app: grafana-local
component: core
spec:
selector:
matchLabels:
app: grafana-local
replicas: 1
template:
metadata:
labels:
app: grafana-local
component: core
spec:
dnsConfig:
options:
- name: ndots
value: "0"
initContainers:
- name: init-chown-data
image: grafana/grafana:7.0.0
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0
command: ["chown", "-R", "472:472", "/var/lib/grafana"]
volumeMounts:
- name: grafana-persistent-storage
mountPath: /var/lib/grafana
containers:
- image: grafana/grafana:7.0.0
name: grafana-core-local
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 472
# env:
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 100Mi
requests:
cpu: 100m
memory: 100Mi
envFrom:
- secretRef:
name: grafana-env
env:
# The following env variables set up basic auth twith the default admin user and admin password.
- name: GF_AUTH_BASIC_ENABLED
value: "true"
- name: GF_SECURITY_ADMIN_USER
valueFrom:
secretKeyRef:
name: grafana
key: admin-username
- name: GF_SECURITY_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: grafana
key: admin-password
- name: GF_AUTH_ANONYMOUS_ENABLED
value: "false"
- name: GF_SERVER_ROOT_URL
value: "http://grafana.local"
readinessProbe:
httpGet:
path: /login
port: 3000
volumeMounts:
- name: grafana-persistent-storage
mountPath: /var/lib/grafana
- name: grafana-datasources
mountPath: /etc/grafana/provisioning/datasources
volumes:
- name: grafana-persistent-storage
persistentVolumeClaim:
claimName: grafana-storage
- name: grafana-datasources
configMap:
name: grafana-datasources
服务 :
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
和入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: grafana-ingress
namespace: monitoring
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: grafana.local
http:
paths:
- backend:
serviceName: grafana-local
servicePort: 3000
我还添加了一个 grafana.local 条目以/etc/hosts
将其链接到127.0.0.1
Pod、service 和 ingress 部署成功,我没有看到任何错误。
但是当我尝试通过 chrome 访问它时,我得到了一个ERR_CONNECTION_REFUSED
错误。
重要的是要说之前,我用 none 驱动程序启动 minikube,它运行良好:
sudo minikube start --vm-driver none
另外,当我这样做时:
minikube dashboard
我可以毫无问题地访问仪表板。
我缺少什么?
解决方案
只需kubectl port-forward
在单独的终端中运行:
kubectl -n monitoring port-forward svc/grafana-local 3000
然后您就可以在http://127.0.0.1:3000上访问 Grafana 。
推荐阅读
- python - 如何获取 Python 类型的签名,如 Exception
- data-conversion - 国际金融公司所需数据
- c++11 - 未对重载的 operator+ 的参数执行隐式转换?
- amazon-web-services - AWS Glue - Avro snappy 压缩读取错误 - HIVE_CANNOT_OPEN_SPLIT:打开 Hive 拆分时出错
- javascript - Jquery load() 表单
- java - Solr在具有范围的属性内搜索
- java - Jenkinsfile 中的 Docker 代理正确语法和命令未在输出日志中找到错误
- java - Spring集成JMS消息Driven Channel Adapter使用java配置连接IBM MQ
- billing - 禁用 Cloud Bigtable 集群以避免计费,但不会删除数据
- php - Laravel 5.6 记录时没有这样的文件或目录错误