docker - 添加代理后 Kubectl 命令不起作用
问题描述
我在 unbuntu 18.04 上安装了 docker 版本 20.10.8 的 Kubenetes 部署(版本:1.19.14)。
我能够安装它并且工作正常。由于某种原因,主机上的互联网连接丢失,并且在一些发现中我发现代理设置已被删除。当我添加代理时,互联网连接开始工作,但奇怪的是我不能再给 kubernetes kubectl 命令了。
在导出代理后尝试 kubectl 命令时,弹出以下错误:
无法连接到服务器:net/http:请求在等待连接时取消(Client.Timeout 在等待标头时执行)
我们以以下方式导出代理:
导出 http_proxy=http://proxy.example.com:80
导出 https_proxy=$http_proxy
我搜索并被建议在某个地方通过 http-proxy.conf 使代理持久化并重新加载守护进程:
sudo systemctl daemon-reload
sudo systemctl 重启 docker
即使这样做了,kubectl 命令也不起作用。
请让我知道如何解决此问题。
解决方案
Kubectl 只是一个与 Kubernetes 控制平面的 api-server 通信的 CLI。首先,您需要确保 api-server 正在运行且健康,并且这不是问题的根源。
当 Kubectl 不工作时,您可以使用工具 crictl 调试 pod。如果您使用 Docker,它将直接进入底层容器运行时,该运行时将被容器化。
推荐阅读
- logging - 我可以将 puppet 代理输出重定向到不同的日志文件吗?
- android - 在改变方向之前,带有 RecyclerView 的片段不会第二次显示
- javascript - 是否可以返回 json_encode() 但作为数组而不是对象,所以我可以轻松使用 `.filter()` 或 `.forEach()` 方法
- swift - 由于 403,GetStream 添加活动失败
- javascript - 在运行子事件之前删除事件
- php - 在带有 fpm 上游的 nginx 上显示 500 和错误而不是 502
- json - 如何将 Azure cosmos Db 中的非结构化 json 文件转换为结构化表?
- sql - 如何在具有“超出资源”问题的大型 BigQuery 表中连接和分组行
- python - numpy中的超对角非方阵?
- android - 如何在 Locale 上添加测试条件