问题标签 [weave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
861 浏览

kubernetes - weave-net pods 处于挂起状态,调度程序日志出错

我正在尝试建立一个新的 kubernetes 集群,并面临使用 weave 作为网络解决方案的问题。Weave pod 处于挂起状态,并且 kubectl 命令行中没有可用的事件/日志。

作为在线课程的一部分,我正在尝试从头开始设置 kubernetes 集群。我已经设置了主节点——API 服务器、控制器管理器和调度程序启动并运行。以及运行 kubelets 和 kube-proxy 的工作节点。

节点状态:

NAME STATUS ROLES AGE VERSION worker-1 NotReady <none> 25h v1.13.0 worker-2 NotReady <none> 9h v1.13.0

作为启用网络的下一步,我正在使用 weave。我已经在工作节点上安装并提取了 weave。

现在,当我尝试运行以下命令时:

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

我看到 DaemonSet 正在初始化,但创建的 pod 继续处于“待定状态”。

NAME READY STATUS RESTARTS AGE weave-net-ccrqs 0/2 Pending 0 73m weave-net-vrm5f 0/2 Pending 0 73m

以下命令: vagrant@master-1:~$ kubectl describe pods -n kube-system 不返回任何正在进行的事件。

从调度程序服务日志中,我可以看到记录了以下错误。

由于我对kubernetes还很陌生,如果我错过了添加相关信息,请原谅。将立即分享。需要帮助。

为调度程序添加了 kubeconfig:

添加调度器服务定义:

使用以下方式启动调度程序:

组件状态:

0 投票
1 回答
589 浏览

docker - Kubernetes:weave 在其中一个工作节点上选择了公共 IP

我有一个 2 master 和 2 worker kubernetes 集群。每个节点都有 192.168.5.X 范围内的私有 IP 和公共 IP。创建 weave 守护程序集后,weave pod 在一个节点上选择了正确的内部 IP,但在另一个节点上它选择了公共 IP。有什么方法可以指示 weave pod 选择节点上的私有 IP?

我通过在本地笔记本电脑上的 Virtual Box 上创建的虚拟机上手动执行所有操作来从头开始创建集群。我参考以下链接

https://github.com/mmumshad/kubernetes-the-hard-way

在工作节点上部署 weave pod 后,其中一个工作节点上的 weave pod 使用如下 NAT ip。

10.0.2.15 是 NAT IP,192.168.5.12 是内部 IP

0 投票
1 回答
6019 浏览

kubernetes - Kubernetes 部署时 networkPlugin cni 无法设置 pod 问题

我正在尝试将我的示例 Spring Boot 微服务部署到 Kubernetes 集群中。我的每个节点都显示就绪状态。当我尝试部署时,我的 pod 只显示ContainerCreating.

当我描述 pod 时,我会说 networkPlugin cni failed to set up pod and network unable to allocate IP address.

我的pod describe命令结果如下:

当我检查容器编织日志时,我得到如下所示,

当我运行命令 kubectl exec -n kube-system weave-net-fj9mm -c weave -- /home/weave/weave --local status ipam时,我收到类似“来自服务器的错误(未找到):未找到豆荚“weave-net-fj9mm””的响应

我该如何解决这个问题?

0 投票
2 回答
931 浏览

docker - Kubernetes 使用 flannel 创建容器时卡在“ContainerCreating”状态

语境

Docker按照说明安装在我的设备Ubuntu 18.04 LTS (Server)上,Kubernetes然后通过kubeadm. 在初始化 ( kubeadm init --pod-network-cidr=10.10.10.10/24) 并加入第二个节点后(我一开始有一个双节点集群),我无法让我的coredns以及后来应用的Web UI(仪表板)实际进入状态Running

作为 pod 网络,我尝试了Flannel ( kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/2140ac876ef134e0ed5af15c65e414cf26827915/Documentation/kube-flannel.yml) 和Weave Net - 没有任何改变。即使经过数小时的等待,它仍然显示状态ContainerCreating

在此处输入图像描述

问题

为什么容器创建没有按预期工作,这可能是什么根本原因?最重要的是:我该如何解决这个问题?

编辑

总结一下我的回答,原因如下:

  • 使用 Dockercgroups代替systemd
  • 我没有iptables正确配置
  • 我用错了kubeadm init,因为法兰绒标准 yaml--pod-network-cidr需要10.244.0.0/16
0 投票
2 回答
545 浏览

kubernetes - Kubernetes网络分配范围

在 Kubernetes 中有没有办法或者有一个网络插件可以限制 IP 分配的范围。例如,我正在尝试使用 weave 并使用子网192.168.16.0/24。我想将通过 Kubernetes 分配给 Pod 的 IP 限制在192.168.16.10-的范围内30

但是,我的应用程序可能会根据要求使用其余 IP,即我的应用程序可以从中启动一个虚拟 IP 192.168.16.31-50但我需要一些机制来确保我指定的 IP 范围不会由 K8s 分配,并且我的应用程序可以使用它.

我需要这样的东西:https ://www.weave.works/docs/net/latest/tasks/ipam/configuring-weave/ 。

0 投票
1 回答
558 浏览

kubernetes - 应该在什么公制编织网上发出警报?

WeaveNet公开了以下Prometheus 指标

在此处输入图像描述

以下警报看起来是否正确,可以收到警报?我们应该在这些指标的哪些值上提高警惕以监控编织网的健康状况?

  • WeaveNoFastDP weave_flows[5m] > 0
  • WeaveIPAMUnreachable weave_ipam_unreachable_percentage > 0
  • WeaveIPAMPendingAllocates weave_ipam_pending_allocates > 0
  • WeavePendingClaims weave_ipam_pending_claims > 0
  • WeaveConnecTerm weave_connection_terminations_total > 300
0 投票
1 回答
1352 浏览

kubernetes - 将 kubernetes CNI 从 weave 切换到 calico

我最初用 weave 安装了一个kubeadmv1.17 集群。我想把它改成使用印花布。但是,因为我最初没有安装集群

根据文档,但有一个简单的

我想知道我需要执行哪些步骤才能实现从编织到印花布的过渡?

0 投票
2 回答
3648 浏览

kubernetes - 如何在 Kubernetes 上摆脱此错误“network: stat /var/lib/calico/nodename: no such file or directory”

我使用以下命令卸载了 calico:'kubectl delete -f calico.yaml'

并使用以下命令安装 weave:'export kubever=$(kubectl version | base64 | tr -d '\n')' 'kubectl apply -f " https://cloud.weave.works/k8s/net?k8s-version= $库贝弗"'

当我部署我的 pod 时,它们保持在“ContainerCreating”状态。当我检查 pod 日志时,我看到以下错误:

'networkPlugin cni 无法设置 pod "saccofrontend-d7444fd6d-998gf_default" 网络:stat /var/lib/calico/nodename:没有这样的文件或目录:检查 calico/node 容器是否正在运行并已挂载 /var/lib/印花布/'

我手动删除了这个文件。重新安装 docker 和 kubeadm 也没有帮助。仍然出现相同的错误。

请告知什么可能促使 kubelet 仍然使用 calico 作为 cni,即使我取消了它。

0 投票
1 回答
2926 浏览

kubernetes - 来自 Kubernetes (K8S) 集群中的 pod 内部的“nslookup:读取:连接被拒绝”(DNS 问题)

问题

我在基于 Centos 7 的 AWS ec2 上自定义安装了具有 1 个主节点和 1 个节点的 k8s 集群。它使用 Core-DNS(pod 运行良好,日志中没有错误)调用时在节点 pod 内部,例如nslookup google.com 输出是nslookup: write to '10.96.0.10': Connection refused ;; connection timed out; no servers could be reached

例如,在 pod 内部 pingping 8.8.8.8可以正常工作:

/etc/resolv.conf在 pod 内,它看起来像:

此命令在节点本身上运行良好nslookup google.com

Kubelet 配置kubectl get configmap kubelet-config-1.17 -n kube-system -o yaml返回

kube 命名空间中的 Podkubectl get pods -n kube-system如下所示:

更新

如果我这样做,则从 podip route返回:

来自大师:

从节点:

CoreDNS 配置图kubectl -n kube-system get configmap coredns -oyaml是:

那么为什么nslookup google.com不能在吊舱内工作?

0 投票
1 回答
1227 浏览

kubernetes - 在新的 HA 集群上编织 CrashLoopBackOff

我按照以下指南使用 kubeadm 创建 HA 集群: https ://kubernetes.io/docs/setup/production-environment/tools/kubeadm/high-availability/ https://medium.com/faun/configuring-ha- kubernetes-cluster-on-bare-metal-servers-with-kubeadm-1-2-1e79f0f7857b

我已经启动并运行了 ETCD 节点,APIserver 通过 HAproxy 和 keepalive 运行。和 1 个使用 weave-net 网络运行的主节点。

我使用这个子网

但是当我将第二个主节点加入集群时,创建的 weave pod 得到了 CrashLoopBackOff。

我用这一行运行 weave-net 插件:

我还发现 /etc/cni/net.d 在应用 weave conf 时不是由 kubelet 创建的。

主节点

豆荚

主节点中的 IP 路由

在第二个主节点上运行的 weave pod 的描述

日志文件抱怨超时,但那是因为没有网络在运行。

有什么意见或建议吗?

问候。