问题标签 [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.
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 都显示为正在运行,这很好。
kubernetes - kubernetes:NetworkPolicy 拒绝所有不拒绝
我在kubernetes
集群上aws
部署一个应用程序weave
我有一个额外的(除了default
)命名空间:my-staging
.
我想应用并测试kubernetes建议的以下拒绝所有策略:
然后我在默认命名空间中启动一个busybox
用于测试目的:
...并且可以访问命名空间中的我的ui
服务(应该正在侦听 port 80
)my-staging
!
为什么会这样?
ps 如果这有任何意义,我正在应用该NetworkPolicy
应用程序已经部署的情况。
更新:当删除我的集群并重新创建一切都没有任何问题时,这一定是一个编织问题。--networking calico
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。
我究竟做错了什么?
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 服务和数据库之间的链接需要加密。
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 个主节点的树莓派集群
有人对此有想法吗?
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 管理的,因此它们没有互联网连接。
需要建议。
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(在树莓派上):
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
如果我尝试“
/li>nslookup nginx
”,我会得到:我还更改了手动更改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
networking - Raspberry Pi 上的 Kubernetes - DNS pod 待处理
我正在使用三个 B/B-plus Raspberry Pi 设置我的 Kubernetes 集群。并关注亚历克斯的博客[非常有用的资源]: https ://gist.github.com/alexellis/fdbc90de7691a1b9edb545c17da2d975
我发现我的主人的 CPU 突然上升,使主人 pi 几乎没有反应。重启有帮助。我的初始化命令:
我使用以下方法安装了编织:
现在我明白了:
处于待处理状态的 dns pod 节点未准备好
不确定是什么原因造成的。
我的静态 IP 设置完成。我正在使用我的家庭路由器作为集群的路由器。跳过有线网络并通过wifi连接
mysql - 如何连接来自两个不同主机的两个 docker 容器?
我正在尝试连接来自两个不同主机的两个 docker 容器。我在主机 A 上配置了 Web 容器,在主机 BI 上配置了 DB 容器尝试使用 docker swarm 和 weave 连接(链接)这两个容器,但它对我不起作用.需要一些建议如何链接来自两个不同主机的两个容器。