当前位置: 首页 > 知识库问答 >
问题:

配置代理后未执行KUBECTL命令

游安康
2023-03-14

我正在为自己建立一个实验室来学习,我正在尝试建立一个在Ubuntu 20.04虚拟机上运行的3节点集群。请耐心等待,因为我还在学习:slight_smile:希望我能提供所有需要的数据来诊断这个问题。

起初,我有我的集群,但3个节点处于未就绪状态,因为我没有运行任何CNI插件。

kubectl get nodes NAME STATUS ROLES AGE VERSION主节点NotReady控制平面,主节点2m17s v1.22.4 worker-node-1 NotReady 100s v1.22.4worker-nod-2 NotReady 97s v1.224

条件: 键入状态最后一次心跳时间上次转换时间原因消息

MemoryPressure False Tue,2021 11月23日16:13:31 0100 Tue,2021 11月23号16:08:25 0100 KubeletHasSufficientMemory kubelet有足够的内存可用DiskPressure False Tue,2021 11月23日电16:13:31 0100 Tue,2021 11月23日向16:08:25 0100 KubeletHasNoDiskPressure Kubeleth没有磁盘压力PIDPressure False Tue,2021 11月23日16:13:,2021 11月23日16:08:25 0100 KubeletHasSufficientPID kubelet有足够的PID可用就绪False Tue,2021 11月23日电16:13:31 0100 Tue,2021 11月23电16:08:25 0100 KubeletNotReady容器运行时网络未就绪:NetworkReady=False原因:NetworkPluginNotReady消息:docker:网络插件未就绪:cni配置未初始化

为了为CNI提取docker映像,我必须配置代理,我这样做了:slight_smile:

env|grep-i超文本传输协议

https_proxy=proxy.xyx.yyyy.com:8080

我现在确认我有外部可访问性,但是我的kubectl只是继续运行,最后它在相当长的时间后超时。

我首先想到重新启动deamon并重置kubelet docker,但没有帮助。当我取消设置代理变量时,一切都很好。

我只是担心,如果我用于创建pod的CIDR可能用于网络的其他部分(我使用的是10.244.0.0/16),但是代理应该只用于外部连接,因此我不确定这是否适用。

有什么想法吗?

Kubernetes version: kubectl version

客户端版本:版本。信息{主要:“1”, 次要:“22”, GitVersion:“v1.22.4”, GitCommit:“b695d79d4f967c403a96986f1750a35eb75e75f1”, GitTree状态:“clean”, BuildDate:“2021-11-17T15:48:33Z”, GoVersion:“go1.16.10”, 编译器:“gc”, Platform: “linux/amd64”}

服务器版本:version.Info{主要:“1”,次要:“22”,GitVersion:“v1.22.4”,GitCommit:“b695d79d4f967c403a96986f1750a35eb75e75f1”,GitTreeState:“干净”,BuildDate:“2021-11-17T15:42:41Z”,GoVersion:“go1.16.10”,编译器:“gc”,平台:“linux/amd64”}

正在使用的云:专用网络中的虚拟机 安装方法:kubeadm 主机操作系统

卡特彼勒/etc/OS-发布

名称=“Ubuntu”

版本="20.04.2 LTS(焦点窝)"

ID=ubuntu

ID_LIKE=德比安

PRETTY_NAME=“乌班图 20.04.2 LTS”

版本_ID=“20.04”

HOME_URL=“https://www.ubuntu.com/”

SUPPORT_URL=“https://help.ubuntu.com/”

BUG _ REPORT _ URL = " https://bugs . launch pad . net/Ubuntu/"

PRIVACY_POLICY_URL=“数据隐私|Ubuntu”

VERSION_CODENAME=焦点

UBUNTU_CODENAME=focal

共有1个答案

公羊招
2023-03-14

> < li>

kubectl通过API(http)与kubernetes集群通信,因此kubectl正试图通过代理访问API服务器,因此它继续等待。

就像你如何设置http_proxy变量一样,你需要设置另一个环境no_proxy

example :
export no_proxy=<masternode ip>,<workernode ip>,<pod CIDR in you case>,<kubernetes service CIDR>
 类似资料:
  • 我有一个名为truck的代理,它将执行一些操作(例如装载包裹)。这里的问题与执行动作的代理的随机序列有关。例如,假设我有三辆卡车,装载顺序是随机的。 如何确保代理(卡车)根据顺序执行操作,例如通过其id,以便我们始终可以从模拟中获得一致的结果。

  • 如何调度执行kubectl命令的cronjob? 我想每5分钟运行以下kubectl命令: 为此,我创建了一个cron工作如下: 但它无法启动容器,显示消息: 错误代码为 127: 根据我检查的结果,错误代码127表示该命令不存在。我怎么能将kubectl命令作为cron作业运行呢?我错过了什么吗? 注意:我发布了一个类似的问题(计划重启 Kubernetes pod 而不停机),但这更多的是将主

  • 非常好的一天, 任何帮助都很感激。提前谢了。

  • 我正在日蚀中构建PageTurner。并将其与Maven和ActionBarSherlcok集成。但是我在POM. xml中得到了这个单一的错误。 生命周期配置未涵盖插件执行:com。乱穿马路。专家插件。Android第二代:android maven插件:3.6.1:生成源代码(执行:默认-生成源代码,阶段:生成源代码)

  • 需要以下Eclipse m2e问题的帮助: 生命周期配置未涵盖插件执行:com。谷歌。appengine:appengine maven插件:1.8.3:endpoints\u get\u discovery\u doc(执行:默认,阶段:编译) 有什么想法吗?pom。xml看起来像:https://github.com/GoogleCloudPlatform/appengine-endpoint

  • 问题内容: 我想运行安装游览,但是找不到使用代理访问互联网的选项。我不仅仅为了旅游而需要它,而是为了总体上在Go中进行开发。 如何配置Go以使用代理。 问题答案: Go程序了解环境变量和,但这还不够,因为使用源代码管理器来检索代码。因此,您还必须为SCM设置HTTP代理设置。使用此为水银和这个 GIT中。 价值可以像。用户,密码和端口部分是可选的。是不应该通过代理服务器连接的服务器的逗号分隔列表。