kubernetes - 无法通过 kubectl 代理使用服务访问 kubernetes pod
问题描述
我有一个 deamonset 定义
ports:
- containerPort: 24231
在规格中。
部署一组后,我可以/metrics
在本地主机(在容器中)上卷曲端点,并且可以从同一组的另一个容器中卷曲一个容器的端点。
然后我定义一个这样的服务:
apiVersion: v1
kind: Service
metadata:
name: fluentd
labels:
app: fluentd
spec:
ports:
- name: prometheus
port: 80
targetPort: 24231
selector:
app: fluentd
我希望这将使我能够:
kubectl proxy --port=8001
在点击链接之后:
http://127.0.0.1:8001/api/v1/namespaces/default/services/fluentd:prometheus/proxy/metrics
我看到的是这样的:
Error: 'dial tcp 10.136.4.30:24231: i/o timeout'
Trying to reach: 'http://10.136.4.30:24231/metrics'
但http://127.0.0.1:8001/api/v1/namespaces/default/services/fluentd
按预期返回我的服务信息,其中包括:
"spec": {
"ports": [
{
"name": "prometheus",
"protocol": "TCP",
"port": 80,
"targetPort": 24231
我究竟做错了什么。该服务在一周前工作,但在重新部署后停止工作。
解决方案
这是我必须在他们的支持下解决的 GKE 问题。
推荐阅读
- excel - Excel vba 代码另存为 pdf 不再适用于 excel 365(Windows 10)
- c# - 动态从 Xamarin Forms Picker 生成 FontSize
- microsoft-teams - 加载示例应用程序 microsoft-teams-sample-meetings-token 时清单解析失败
- ios - 如何在没有致命错误的情况下覆盖按钮选择
- reactjs - 调用 document.onpaste 后更新 React 状态?
- android - 在移动应用程序中安全调用 API 函数的适当 Google 服务是什么?
- javascript - Webservice 代理在一段时间后失去身份验证
- javascript - 如何通过 io-ts (typescript) 验证 Date 对象?
- python - 如何修复 plt.subplots 以使图更靠近?
- django - Django 使用 Big Integer 作为主键添加多对多