问题标签 [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 投票
10 回答
63555 浏览

kubernetes - Kubernetes - Pod 保持 ContainerCreating 状态

我对 Kubernetes 的所有东西都很陌生,所以还有很多东西要学。

已经创建了一个双节点 Kubernetes 集群,并且两个节点(主节点和工作节点)都准备好工作,这很好:

此外,所有 Kubernetes Pod 看起来都还不错:

但是,如果我尝试在集群中创建新部署,则会创建部署,但其 pod 无法进入适当的 RUNNING 状态。例如

我不确定如何找出问题所在,但如果我例如执行 a kubectl get ev,我可以看到以下可疑事件:

但我不知道从这里去哪里。我还可以看到 nginx docker 映像本身从未出现在docker images.

我如何了解有关问题的更多信息?我是否缺少 kubernetes 设置中的一些基本内容?

--- 新信息 ---

有关背景信息以防万一...

Kubernetes 节点在 Windows 10 hyper-v 上托管​​的 CentOS 7 虚拟机上运行。

--- 新信息 ---

运行kubectl describe pods显示以下警告:

--- 新信息 ---

在我一天的工作时间结束后,我关闭了运行 Kubernetes 的 Hyper-v 虚拟机一晚,今天早上我回到办公室时,我再次启动了 Kubernetes 虚拟机以继续运行,大约 15 分钟,命令:

kubectl get pods --all-namespaces仍然显示ContainerCreating与昨天相同的那些 nginx pod,但是现在,该命令现在将所有 pod 显示为Running包括 nginx pod...即,在主节点和工作节点虚拟机完全重新启动后,问题自行解决。

我现在再次完全重新启动,所有 pod 都显示为正在运行,这很好。

0 投票
1 回答
978 浏览

kubernetes - kubernetes:NetworkPolicy 拒绝所有不拒绝

我在kubernetes集群上aws部署一个应用程序weave

我有一个额外的(除了default)命名空间:my-staging.

我想应用并测试kubernetes建议的以下拒绝所有策略:

然后我在默认命名空间中启动一个busybox用于测试目的:

...并且可以访问命名空间中的我的ui服务(应该正在侦听 port 80my-staging

为什么会这样?

ps 如果这有任何意义,我正在应用该NetworkPolicy应用程序已经部署的情况。

更新:当删除我的集群并重新创建一切都没有任何问题时,这一定是一个编织问题。--networking calico

0 投票
2 回答
3418 浏览

kubernetes - Kubernetes - 主节点中的 kube-system pod 在工作节点加入后不断重启

我已按照本教程和本教程以及教程进行操作,但过去 3 天我面临同样的问题。

我可以通过以下步骤正确设置主节点:

一切似乎都很好

然后,

在工作节点上:

输出看起来不错,如下所示:

但是一旦我运行这个命令,所有的地狱都会崩溃。这

开始显示所有 pod 都在一直在重新启动。状态在 Pending 和 Running 之间不断变化,有时一些 pod 甚至会消失并且可能具有 ContainerCreating 状态等。

我还尝试了第二个教程,使用法兰绒,并得到了完全相同的问题。

我的设置

我创建了两个新的虚拟机,在 VMware 上全新安装了 Ubuntu 17.10,每个虚拟机有 2 个处理器/2 核 6 GB 内存和 50 GB 硬盘。我的物理机是 i7-6700k,内存为 32gb。我在它们上面都安装了 kubeadm、kubelet 和 docker,然后按照上面提到的步骤进行操作。

我还尝试在 VMware 上的 NAT 和 Bridge 之间切换,但没有任何改变。

两个具有桥接网络的虚拟机的初始 IP 分别为 192.168.100.12 和 192.168.100.17。对于hostname -I大师:

对于hostname -I工作节点:

journalctl -xeu kubelet显示以下内容:

https://gist.github.com/saad749/9a771a3460bf88c274498b5bc4b7fd84

在尝试使用法兰绒(仍然是同样的问题)时,结果来自

https://gist.github.com/saad749/d24c453c8b4e663e9abf572a0fb38bf4

我错过了 kubeadm init 之前的任何步骤吗?我应该更改 IP 地址(更改为什么)?我应该查看任何特定的日志吗?有没有更全面的教程?所有问题都在工作节点上的 kubeadm 加入后开始,我可以在主节点或任何其他东西上部署 kubernetes,它工作正常。

更新:

即使应用了errordeveloper的建议,同样的问题仍然存在。

我将以下标志添加到 kubeadm init:

我将 kubeadm.conf 更新为以下内容并重新加载并重新启动: https ://gist.github.com/saad749/c7149c87ec3e75a40586f626cf04279a

并尝试更改集群 dns https://gist.github.com/saad749/5fa66bebc22841e58119333e75600e40

这是初始化主服务器后的日志:

主机名 -i 结果:

由于。。。导致的结果:

https://gist.github.com/saad749/8f460650182a04d0ddf3158a52761a9a

内部 IP 现在似乎是正确的。

从第二个节点加入后,会发生这种情况:

ifconfig -a 结果:

https://gist.github.com/saad749/63a5a52bd3246ff72477b2aca7d158d0

journalctl -xeu kubelet 结果

https://gist.github.com/saad749/8a60870b35f93df8565e66cb208aff32

有时,Pod 的 IP 显示为 192.168.100.12,这是非主第二节点的 IP。

我究竟做错了什么?

0 投票
1 回答
538 浏览

docker - 如何为要在 3 个不同主机上运行的现有 Docker Compose 文件设置 Docker Swarm?

我正在尝试为我的(也许很简单)问题找出最佳解决方案。

我有一个(一个)docker compose 文件和一些服务:

  • 休息 Api (java)
  • 蒙哥
  • 雷迪斯

其余的 api 需要可扩展。Java-1、Java-2、Java-3 等

您在下面看到的是 3 个不同的主机。当我的所有主机都启动时,编写所有脚本的最佳解决方案是什么?我希望能够在 3 个不同的主机上docker-compose up -d执行类似的操作并生成我的服务。

我知道 docker swarm 可以做一些事情。我还阅读了与 Swarm 结合的 Weave 网络。老实说,我很难把所有东西放在一起。了解如何使其基本工作......

Java 主机将被负载平衡(当然)。

我的主机 1 会成为我的集群管理器吗?主机 2 和 3 工人?我该如何管理这个。?

你有什么建议?Rancher、Portainer、Docker-Machine、其他……?

编辑:我的 RestApi 服务和数据库之间的链接需要加密。

0 投票
2 回答
9078 浏览

plugins - 创建 pod 沙箱 kubernetes 集群失败

我有一个编织网络插件。

在我的文件夹 /etc/cni/net.d 里面有一个 10-weave.conf

我的 weave pod 正在运行并且 dns pod 也在运行但是当我想像一个简单的 nginx 这样运行一个 pod 时,它将拉一个 nginx 映像 pod 卡在容器创建中,描述 pod 给了我错误,创建 pod 沙箱失败。

当我运行 journalctl -u kubelet 时出现此错误

我的网络插件配置不好?

我用这个命令来配置我的编织网络

在这不起作用之后我也尝试了这个命令

我什至尝试过法兰绒,这给了我同样的错误。我设置 kubernetes 的系统是树莓派。我正在尝试使用 kubernetes 构建一个具有 3 个节点和 1 个主节点的树莓派集群

有人对此有想法吗?

0 投票
3 回答
2707 浏览

docker - 在 kubernetes 内运行的 docker 容器内没有互联网连接,使用 weave 作为网络

我有一个运行在 AWS EC2 实例上的 kubernetes 集群,并作为网络(cni)编织。我已禁用 docker 网络(ipmask 和 iptables),因为它由 weave 管理(以避免网络冲突)。

我已经在这个集群上部署了我的 Jenkins 作为 K8s pod,这个 jenkins 使用 jenkins kubernetes 插件根据我定义的 pod 和容器模板生成动态从属。这些从容器中有 docker 客户端,它通过 docker.sock 连接到主机 docker 引擎

因此,当我在 Jenkins 中运行任何作业时,它会启动一个从属服务器,并在此克隆一个 git 存储库并开始构建存储库中存在的 Dockerfile。

我的示例 dockerfile 如下所示:

因此,当容器开始构建它时,它会尝试连接到 redhat 存储库以更新本地存储库并在此处失败。为了调试,我登录到这个容器并尝试 wget/CURL 一些包,发现这个容器中没有互联网连接。

我怀疑在构建 docker 时会启动中间容器,而这些容器不是由 weave 管理的,因此它们没有互联网连接。

需要建议。

相关问题:Kubernetes 中 Docker 容器内的 Internet 连接

0 投票
2 回答
1398 浏览

amazon-web-services - 使用 VPN 运行混合/异构 Kubernetes 集群,其中节点在不同网络中运行

我的目标是为混合/异构 Kubernetes 集群建模,其中我有以下设置:

  • 主节点在 AWS(云)上运行 - ip-172-31-28-6
  • 从节点在我的笔记本电脑上运行 - osboxes
  • 从节点在 Raspberry Pi 上运行 - edge-1

在我的笔记本电脑上本地运行具有三个虚拟机的 Kubernetes 集群没有问题,并且与 Weave Net 都可以正常工作。但是,在对我的 Kubernetes 集群进行建模时,如上图所示,存在一些通信问题(我猜)。

由于 Kubernetes 设计为在节点上运行,因此所有节点都位于同一网络中,因此我在 AWS 上设置了一个 OpenVPN 服务器,并用我的笔记本电脑和 Raspberry Pi 连接到它。当从节点位于不同的网络中时,我希望这足以在异构设置上运行 Kubernetes。当然,这是一个错误的假设。

如果我在从节点上运行 Kubernetes 仪表板并尝试访问它,我会超时。如果我在主节点上运行它,一切都会按预期工作。

我使用 kubeadm init --apiserver-advertise-address= 在 AWS 上设置集群,并使用 kubeadm join 连接节点。

$ kubectl 获取 pods --all-namespaces -o 宽:

$ kubectl -n kube-system 日志 --v=7 kube-dns-6f4fd4bdf-w6ctf -c kubedns:

kubectl -n kube-system 日志 --v=7 kube-proxy-7b89c:

kubectl -n kube-system 日志 --v=7 weave-net-pqxfp -c weave:

kubectl -n kube-system 日志 --v=7 weave-net-thhzr -c weave:

$ ifconfig(AWS 上的 Kubernetes 主机):

$ sudo systemctl status kubelet.service(在 AWS 上):

$ sudo systemctl status kubelet.service(在笔记本电脑上)

$ sudo systemctl status kubelet.service(在树莓派上):

0 投票
1 回答
461 浏览

nginx - 从 Pod 到服务的 Weavenet 网络连接(使用 kubeadm 的 Kubernetes 1.9)

我有一个本地的 Kubernetes 3 节点集群,安装了 weave-Net 作为 Overlay-Network-Plugin。我的目标是尝试 kubernetes 的网络策略,并将此过程的日志消息导出到 elk-stack。

不幸的是,我无法继续,因为我无法解决我的 kube-dns 问题。名称解析似乎有效,但从 pod 到服务的网络连接存在问题。

这里有一些关于我的设置的事实(有关版本/一般配置详细信息,请参见下文):

  • 我登录到一个 pod“ busybox
  • 我有一个名为“ nginx”的服务,它与一个已启动并正在运行的 nginx-pod 连接
  • 从busybox,我不能ping dns:25 packets transmitted, 0 packets received, 100% packet loss
  • 如果我尝试“ nslookup nginx”,我会得到:

    /li>
  • 我还更改了手动更改busybox-Pod上的配置文件,以在没有FQDN的情况下进行名称解析:

    这对我来说似乎不是一个好的解决方法,但至少它正在工作,并且 nslookup 为我提供了 nginx-Service 的正确 IP:

    /li>
  • 现在,回到我的网络问题: pod 上似乎没有正确的网络接口可以建立与服务的连接:

    /li>

busybox-pod 有这个 IP:172.17.0.2而 DNS 在以 10 开头的子网中。 dns: 的 IP 10.96.0.10

  • Weavenet 有时会在一个工作节点上崩溃,但在一般情况下,它显示为“正在运行”,我认为这不是原因。

--> 谁能看到我网络中的底层配置错误?我很高兴得到提示!:)

一般信息:

Kubernetes/kubectl: v1.9.2

我使用 kubeadm 安装。

unname -a:Linux controller 4.4.0-87-generic #110-Ubuntu SMP Tue Jul 18 12:55:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

码头工人版本:

织网:2.2.0

0 投票
2 回答
359 浏览

networking - Raspberry Pi 上的 Kubernetes - DNS pod 待处理

我正在使用三个 B/B-plus Raspberry Pi 设置我的 Kubernetes 集群。并关注亚历克斯的博客[非常有用的资源]: https ://gist.github.com/alexellis/fdbc90de7691a1b9edb545c17da2d975

我发现我的主人的 CPU 突然上升,使主人 pi 几乎没有反应。重启有帮助。我的初始化命令:

我使用以下方法安装了编织:

现在我明白了:

处于待处理状态的 dns pod 节点未准备好

不确定是什么原因造成的。

我的静态 IP 设置完成。我正在使用我的家庭路由器作为集群的路由器。跳过有线网络并通过wifi连接

在此处输入图像描述

0 投票
1 回答
643 浏览

mysql - 如何连接来自两个不同主机的两个 docker 容器?

我正在尝试连接来自两个不同主机的两个 docker 容器。我在主机 A 上配置了 Web 容器,在主机 BI 上配置了 DB 容器尝试使用 docker swarm 和 weave 连接(链接)这两个容器,但它对我不起作用.需要一些建议如何链接来自两个不同主机的两个容器。