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

docker - 在浏览器中看不到在 docker 容器内运行的 Hadoop UI

我在三个不同的主机上有一个由三个容器组成的 Hadoop 集群;详细信息如下:首先,我通过以下命令在我的三台主机(150.20.11.133,150.20.11.136,150.20.11.157)中安装“编织网”:

然后我通过编织将三个主机连接在一起。事实上,我在三个主机上运行了这个命令:

例如在 150.20.11.133 中:

将三台主机连接在一起后,我不得不让Master 和 Workers 之间的SSH 无密码。因此,我在那里工作:在每个主机中:

在大师:

因此,我可以在没有密码的情况下从主机到从机运行SSH 。

在每个主机中,我构建了具有 hadoop 配置的 Docker 文件,然后运行:

在大师:

在 slave1 中:

在 slave2 中:

在每个容器中,我运行了以下命令:

在主容器中,我运行了这个命令来运行SSH localhost

另外,我在每个容器节点中启动了SSH服务:

所以,我可以在没有密码的情况下从主容器运行SSH到从属容器。对于 hadoop 配置,我做了这些工作: 首先在主节点中:

工人将这些内容放在三个容器中:

core-site.xml在三个容器中有这些内容:

hdfs-site.xml在三个容器中也有这些内容:

然后我在主容器中运行它:

当我在每个容器中运行jps时,我收到了以下结果: 在 Master 容器中:

在每个工人中:

问题是,我想在浏览器中查看 Hadoop UI。我运行此 URL,但它没有显示任何内容:

顺便说一句,我已经在 docker 文件中公开了这些端口:

请告诉我如何在浏览器中查看 Hadoop 集群 UI?

任何帮助,将不胜感激。

0 投票
1 回答
555 浏览

docker - 在 docker-compose 文件中使用 Wea​​ve 网络

我有一个包含 Hadoop、Mesos、Marathon 和 Zookeeper 的 docker 镜像。我在三个物理节点之间分发了这个镜像。为了运行该镜像,我编写了一个包含 Zookeeper、Mesos、Marathon 三个服务的 docker compose。我在撰写文件中使用WEAVE_CIDR编织 IP。我为三个服务定义了相同的 IP 编织。当我运行 compose 文件时,Zookeeper 运行良好,但由于重复的 IP 编织,我收到了运行 Mesos 的错误。因此,我尝试将三个服务合并到一个服务中,以便为其中三个只使用一个 IP 编织。我的新 docker compose 如下:

当我运行docker-compose up 时,Zookeeper 和 Mesos 运行没有错误;但是马拉松没有跑。我希望 Marathon 在 Mesos 之后运行,但它没有。请任何人告诉我我做错了什么?

任何帮助,将不胜感激。

0 投票
1 回答
111 浏览

kubernetes - apiserver 可以通过 CNI 提供的网络连接到节点的 Kubelet 端口吗?

Weave Net的袖子模式允许在 NAT 之后将节点添加到网格中,例如公司网络中没有外部 IP 的机器。

当 Weave Net 与 Kubernetes 一起使用时,可以将此类节点添加到集群中。唯一的缺点(除了与fastdp相比的性能)似乎是 Kubernetes API 服务器无法访问 Kubelet 端口,因此附加到 Pod 或获取日志不起作用。

是否有可能解决这个问题,例如通过 weave 网络连接到 NATed 节点的 Kubelet 端口?

0 投票
1 回答
3144 浏览

docker - 重试连接服务器:已尝试 9 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

我有三个物理节点。在每个节点中,我使用此命令进入 docker。

我像这样配置 hadoop: Core-site.xml

hdfs-site.xml

问题是当我格式化namenode时:

它无法格式化namenode。我收到此错误:

2019-05-06 06:35:09,969 INFO ipc.Client:重试连接到服务器:10.32.0.2/10.32.0.2:8485。已尝试 9 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

2019-05-06 06:35:09,969 INFO ipc.Client:重试连接到服务器:10.32.0.3/10.32.0.3:8485。已尝试 9 次;重试策略是 RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

2019-05-06 06:35:09,987 错误 namenode.NameNode:无法启动 namenode。org.apache.hadoop.hdfs.qjournal.client.QuorumException:无法检查 JN 是否已准备好进行格式化。1 抛出异常:

10.32.0.1:8485:从 50c5244de4cd/10.32.0.1 到 50c5244de4cd:8485 的呼叫因连接异常而失败:java.net.ConnectException:连接被拒绝;有关更多详细信息,请参阅: http ://wiki.apache.org/hadoop/ConnectionRefused

我已经发布了 Hadoop 所需的端口,但我仍然收到connection refused

有人能告诉我配置有什么问题吗?

先感谢您。

0 投票
1 回答
216 浏览

docker - Kubernetes 容器镜像在集群初始化后没有从 pause:2.1 镜像改变

我正在尝试在公司代理后面的网络中从头开始设置 Kubernetes 设置

3 个节点(1 个主节点和 2 个从节点)

设置后,部署总是显示正在创建容器状态并挂在那里

在设置过程中,命令kubeadm config image pullkubeadm init可以正常工作。

设置后,我使用命令kubectl apply -f weave.yml使用 weave 和默认配置设置网络插件

在此之后,core-dns 服务开始显示正在运行,但是当我在 docker ps 命令中检查容器时,它仍然将 core-dns 和其他容器的图像显示为k8s.gcr.io/pause:3.1

设置后,我尝试按照上述 Kubernetes 示例部署示例 nginx 配置。但容器仅在createContainer 状态下挂起。

谁能说出为什么图像没有改变 coredns 的实际图像

0 投票
0 回答
4060 浏览

kubernetes - Kubernetes NodePort 连接超时

kubeadm我在从 DigitalOcean 租用的两台服务器上启动了 kubernetes 集群。我Flannel用作 CNI。启动集群后,我按照教程创建了部署和服务。

尝试从主节点(server1)访问 pod

尝试从工作节点(server2)访问 pod

0 投票
3 回答
1650 浏览

kubernetes - 重启节点后,由于 weave IP 不足,Pod 卡在 containerCreating 状态

我在 1.11 上部署了 3 个节点 Kubernetes 集群,使用 kubeadm 和 weave(CNI) 运行版本 2.5.1。我正在提供 128 个 IP 的 IP 范围的编织 CIDR。两次重新启动节点后,一些 pod 卡在containerCreating状态。

运行后kubectl describe pod <pod_name>,您将看到以下错误:

如果我检查有多少容器正在运行以及分配了多少 IP 地址,我可以看到 24 个容器:

在该节点编织的总 IP 数为 42。

您可以看到所有 42 个 IP 都处于活动状态,因此没有更多 IP 可用于分配给新容器。但是在 42 个中只有 26 个实际分配给容器,我不确定剩余的 IP 在哪里。它发生在所有三个节点上。

这是编织状态的输出供您参考:

如果您需要更多信息,我很乐意提供。有什么线索吗?

0 投票
1 回答
3038 浏览

docker - 无法 ping 到 Kubernetes 中工作节点的 Pod 的 IP

我的集群包括:1 个主节点和 2 个工作节点。我使用部署 yaml 创建了一个 pod。pod 在工作节点 1 上运行成功,我可以在工作节点上 ping pod 的 ip,但我无法在 master 上 ping pod 的 ip 地址。我试图禁用firewarlld,重新启动docker但没有成功。请看我的命令

我有另一个应用程序,它还有一个在工作节点 1 上运行的 pod,我可以从 master ping pod 的 ip。但我不知道为什么上述情况是不可能的。请帮我 !

0 投票
1 回答
143 浏览

kubernetes - Kubectl 正在工作,但我无法访问任何组件

我们有一个小型私有 k8s 集群,直到今天早上一切正常,但截至今天早上,只有 kubectl 正在工作,没有流量通过。

我的意思是我可以启动新的部署,杀死它们等等,我可以看到它们已经启动并运行

但是当我想通过 http、amqp 等访问它们时,我不能。
我正在查看我们的 nginx 日志并试图转到主页,但 nginx 没有登录,浏览器中也没有加载任何内容,这意味着 nginx 没有收到流量。
我们使用 Wea​​ve 网络作为我们的 CNI。

我检查了 dns 日志并对其进行了测试,dns 正在运行。我不知道从哪里开始寻找解决这个问题,有什么建议吗?

更新

几个小时后问题几乎解决了,现在我可以访问我的应用程序,但我想问另一个与此非常相关的问题:

有没有办法我们可以检测到问题是因为网络还是来自集群网络(内部 k8s 网络)?我问这个是因为过去我遇到了 k8s dns 的问题,而这次我认为 k8s CNI 有问题。

更新 2

现在我在 weave 中看到了这个错误:

还有我的环境:

  • Kubernetes 版本:
  • 云提供商或硬件配置:内部私有集群包含 5 个节点并使用 kubeadm 设置。

  • 操作系统(例如:cat /etc/os-release):所有机器都运行 Ubuntu 18.04.3

  • 内核(例如 uname -a):Linux k8s-master 4.15.0-62-generic #69-Ubuntu SMP Wed Sep 4 20:55:53 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
  • 安装工具:kubeadm
  • 网络插件和版本(weave status):
  • 码头工人版本: Docker version 19.03.2, build 6a30dfc
0 投票
1 回答
251 浏览

networking - minimise disruption on weave network upgrade on kubernetes

I would like to upgrade my weave network from version 2.5.0 to 2.5.2. I understand that it's "as simple" as updating the weave daemonset.... however, i was wondering if there is a way that this can be done with minimal disruption to running pods on the system.

An simple example in my mind would be to:

  • cordon node1
  • drain node1 of all pods
  • update weave on node1
  • uncordon node1

... then rinse and repeat for each k8s node until all done.