Docker 库伯内特斯无法通过谷歌云平台访问格拉法纳和普罗米修斯
我遵循这一点在谷歌云库伯内特斯中安装了Grafana/Prometheus。我希望它部署成功,请找到以下响应以供参考 已成功创建服务:Docker 库伯内特斯无法通过谷歌云平台访问格拉法纳和普罗米修斯,docker,kubernetes,google-cloud-platform,grafana,prometheus,Docker,Kubernetes,Google Cloud Platform,Grafana,Prometheus,我遵循这一点在谷歌云库伯内特斯中安装了Grafana/Prometheus。我希望它部署成功,请找到以下响应以供参考 已成功创建服务: kubectl --namespace=monitoring get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE grafana NodePort 10.27.249.8 <none> 300
kubectl --namespace=monitoring get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
grafana NodePort 10.27.249.8 <none> 3000:32703/TCP 1h
prometheus NodePort 10.27.249.233 <none> 9090:31939/TCP 1h
kubectl get namespaces
NAME STATUS AGE
default Active 19h
kube-public Active 19h
kube-system Active 19h
monitoring Active 1h
kubectl --namespace=monitoring get pods
NAME READY STATUS RESTARTS AGE
grafana-1323121529-8614m 1/1 Running 0 1h
node-exporter-lw8cr 0/1 CrashLoopBackOff 17 1h
node-exporter-nv85s 0/1 CrashLoopBackOff 17 1h
node-exporter-r2rfl 0/1 CrashLoopBackOff 17 1h
prometheus-3259208887-x2zjc 1/1 Running 0 1h
PODS响应:
kubectl --namespace=monitoring get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
grafana NodePort 10.27.249.8 <none> 3000:32703/TCP 1h
prometheus NodePort 10.27.249.233 <none> 9090:31939/TCP 1h
kubectl get namespaces
NAME STATUS AGE
default Active 19h
kube-public Active 19h
kube-system Active 19h
monitoring Active 1h
kubectl --namespace=monitoring get pods
NAME READY STATUS RESTARTS AGE
grafana-1323121529-8614m 1/1 Running 0 1h
node-exporter-lw8cr 0/1 CrashLoopBackOff 17 1h
node-exporter-nv85s 0/1 CrashLoopBackOff 17 1h
node-exporter-r2rfl 0/1 CrashLoopBackOff 17 1h
prometheus-3259208887-x2zjc 1/1 Running 0 1h
现在我正试图公开Grafana的外部Ip,但我无法继续获得以下异常“服务器错误(AlreadyExists)”:服务“prometheus”已经存在
已编辑
因为您已经在监视命名空间中部署了Prometheus服务清单文件。但是,您正试图在同一命名空间中部署具有相同名称的服务。这是不可接受的,因为两个服务不能在具有相同名称的同一命名空间中共存 解决问题的方法 我将使用以下命令编辑已部署的服务
kubectl -n monitoring edit service prometheus
然后你最喜欢的文本编辑器会弹出,你只需要更新
类型:负载平衡器
基本上,您的服务将被编辑
已编辑
如果无法使用上述命令,请执行以下步骤:
您需要编辑普罗米修斯服务清单文件,并使用类型:LoadBalancer进行更新
现在您需要应用
kubectl apply-f prometheus service.yaml
,因为您已经在监视命名空间中部署了prometheus服务清单文件。但是,您正试图在同一命名空间中部署具有相同名称的服务。这是不可接受的,因为两个服务不能在具有相同名称的同一命名空间中共存
解决问题的方法
我将使用以下命令编辑已部署的服务
kubectl -n monitoring edit service prometheus
然后你最喜欢的文本编辑器会弹出,你只需要更新
类型:负载平衡器
基本上,您的服务将被编辑
已编辑
如果无法使用上述命令,请执行以下步骤:
您需要编辑普罗米修斯服务清单文件,并使用类型:LoadBalancer进行更新
现在您需要应用
kubectl apply-f prometheus服务。yaml
我使用了上面的注释并编辑了该文件,但它显示“编辑已取消”。编辑文件后,我是否需要重新启动服务?负载平衡器将公开外部IP权限?基本上,如果您可以更新类型:LoadBalancer,它将在网络Loadbacalncer上创建一个外部IP(例如Amazon上的ELB等)。我已将答案编辑为well,但无法保存此文件…我正在使用google Cloud您需要编辑服务清单文件。检查更新的回答我们。我使用了上面的评论并编辑了文件,但上面写着“编辑已取消”。编辑文件后,我是否需要重新启动服务?负载平衡器将显示外部IP权限?基本上,如果您可以更新类型:LoadBalancer,它将在网络Loadbacalncer(例如亚马逊上的ELB)上创建外部IP。我已将答案编辑为well,但无法保存此文件…我正在使用google Cloud您需要编辑服务清单文件。检查更新的回答让我们看看。