问题标签 [rkt]

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 回答
431 浏览

docker - hyperkube 代理,kubelet 找不到 iptables 链,rkt run --net=host

我的 kubelet 抱怨:

E1201 09:00:12.562610 28747 kubelet_network.go:365] 无法确保规则在过滤器链 KUBE-FIREWALL 中丢弃由 KUBE-MARK-DROP 标记的数据包:错误附加规则:退出状态 1:iptables:无链/目标/匹配用那个名字。

这通常发生在您忘记使用 --net-host 'rkt run' 时,但我没有。

export RKT_OPTS="--volume var-log,kind=host,source=/var/log \
--mount volume=var-log,target=/var/log \ --volume dns,kind=host,source=/ etc/resolv.conf \ --mount volume=dns,target=/etc/resolv.conf --net=host"

以下确认我的 kube-proxy(由 kubelet 启动)与拥有 iptables 链的主机位于同一命名空间中:

代理同样抱怨“没有该名称的链/目标/匹配”。

我还验证了 iptables 链:

这满足了错误消息中的抱怨(我认为)并匹配了无问题的 coreos 工作人员(我比较的不同机器)上的过滤器链。

问题工作者是运行 docker 1.12.3 和 rkt 1.18.0 的 Debian Jessie

好工人和问题工人都在运行相同版本的 iptables,1.4.21

KUBELET_VERSION=v1.4.6_coreos.0

症状是问题 worker 上的 kubernetes 没有安装任何 iptables 规则,例如 KUBE-NODEPORTS,因此该 worker 无法监听 NodePort 服务。我想是因为以上原因。

问题工作者运行主节点调度的 pod 没有问题。

问题工作人员上的 Pod 正在处理来自运行在不同(coreos)工作人员上的代理的请求。

我正在使用法兰绒进行联网。

如果有人想知道,我需要让 kubernetes 在 Debian 上工作(是的,说来话长)

我还能做些什么来隔离似乎 kubelet 没有看到主机的 iptables 的东西?

0 投票
1 回答
407 浏览

docker - 在rkt容器中执行命令,输出结果,然后退出

我正在寻找rkt与以下命令等效的docker命令:

docker命令从 中创建一个新容器nginx:1.11.5,在容器内执行find / -perm +6000 -type f -exec ls -ld {} \; 2> /dev/null(它将所有具有 setuid 和 setgid 权限的二进制文件打印到标准输出),然后终止该容器。结果如下所示:

这是我迄今为止尝试过的:

两者都不返回任何输出。

--exec /bin/bash我可以通过覆盖初始命令并添加--interactive标志来获取我想要的信息,如下所示:

我将如何在一个命令中执行此操作?

0 投票
1 回答
57 浏览

rkt - $ rkt 运行时出现“缺少清单”错误

我有以下 shell 脚本,它为/创建一个 Debian 基础aci容器:rktappC

要验证该manifest文件是否存在:

当我尝试使用$ rkt run debian.aci --insecure-options=image命令运行此容器时,出现以下错误:

我遵循了这些文件结构指南:

https://github.com/appc/spec

https://github.com/appc/spec/blob/master/spec/aci.md#image-layout

https://github.com/appc/spec/blob/master/examples/image.json

为什么不工作?

谢谢您的帮助!

0 投票
1 回答
1324 浏览

kubernetes - kubernetes 节点未注册

我正在尝试使用 rkt 通过 CoreOS alpha (1284.2.0) 在 Container Linux 上运行 kubernetes 1.5.2。

我有两台 coreos 服务器,一台(控制器+worker)使用 hostname coreos-2.tux-in.com,第二台使用 hostname coreos-3.tux-in.com

现在我正在将控制器 + 工作器安装在coreos-2.tux-in.com.

一般来说,我按照https://coreos.com/kubernetes/docs/latest/中的说明进行了一些修改。

而不是使用不推荐使用的--api-server参数,我使用 kubeconfig。

我遇到的问题是 kube-proxy pod 失败并显示以下错误消息:

kubeconfig 位于/etc/kubernetes/controller-kubeconfig.yaml以下位置:

这是 kube-apisever 的清单:

这是 kube-proxy 的清单:

/etc/kubernetes/manifests还包括 canal、kube-controller-manager、kube-scheduler 和 kubernetes-dashboard。

kubectl在我的桌面上配置了以下内容~/.kube/config

当我执行时kubectl get nodes我得到No resources found.

所以不知何故当前节点没有注册......

这是我的kubelet.service文件:

我已经--hostname-override=coreos-2.tux-in.com设置了,所以我想它应该注册节点但没有。

我从这里做什么?

0 投票
1 回答
1123 浏览

kubernetes - 启动法兰绒时出现 rkt 发现失败错误(Kubernetes 设置)

我们正在尝试按照官方分步文档在 3 个带有 coreos 的节点上设置 Kubernetes 集群 - https://coreos.com/kubernetes/docs/latest/deploy-master.html 服务器位于公司代理后面,并在中定义了代理服务两个都

以下被选中

运行 systemctl daemon-reload 和 systemctl start flannel 后,出现以下错误

我们尝试了不同的文档https://www.upcloud.com/support/deploy-kubernetes-coreos/,在启动 kubelet 时出现相同类型的错误。

似乎是公司代理背后的 rkt 和 quay 注册问题。让我们知道我们是否遗漏了什么或配置了错误。

0 投票
1 回答
1548 浏览

kubernetes - hyperkube 不会从 /etc/kubernetes/manifests 启动任何清单

我在家里的电脑上安装了 CoreOS alpha (1325.1.0) 的 Container Linux。

我用 kubernetes 玩了几个月,但现在在重新安装 ContainerOS 并尝试使用我的 fork 在https://github.com/kfirufk/coreos-kubernetes安装 kubernetes 后,我无法正确安装 kubernetes。

我使用 hyperkube 图像v1.6.0-beta.0_coreos.0

问题是 hyperkube 似乎没有尝试从/etc/kubernetes/manifests. 我将 kubelet 配置为与 rkt 一起运行。

当我journalctl -xef -u kubelet重新启动 kubelet 后运行时,我得到以下输出:

我的 kubelet.service 内容(我尝试使用 --network-plugin=kubenet 和 cni,没有区别:

我的/var/lib/coreos-install/user_data文件:

welp..我很迷茫。这是我第一次遇到这种问题。任何有关该问题的信息将不胜感激。

以防万一..这些是/etc/kubernetes/manifests未执行的清单。rkt list --full除了常规的 hyperkube 之外,没有显示任何类型的 pod 正在启动。

kube-apiserver.yaml:

kube-controller-manager.yaml:

kube-proxy.yaml:

kube-scheduler.yaml:

0 投票
1 回答
335 浏览

coreos - 查看退出 pod 的日志

我正在尝试在我的 CoreOS 集群上安装 kubernetes,但这与我的问题无关。

我在使用 rkt 的 CoreOS alpha (1339.0.0) 容器 Linux:

我有一个不断退出的特定吊舱。

例如,rkt list --full向我展示:

它是exited,我想查看 pod 的日志。

现在...根据https://github.com/coreos/rkt/blob/master/Documentation/commands.md我应该找不到我找不到的 machinectl Id,所以它告诉我附加rkt-到 uuid 字符串。

所以我尝试了所有我能想到的组合:

所以.. 我要怎么做才能看到退出的 pod 的日志输出?:) 谢谢!

0 投票
1 回答
1452 浏览

kubernetes - kubelet 无法从 Rocket 启动

我想就我在https://github.com/rkt/rkt/issues/3647中描述的 Kubelet 问题向 Kubernetes 社区寻求建议。请在此处复制问题的简要摘要,并在上面的 Github 链接中找到完整的详细信息。

概括

我在我的 Fedora 虚拟机上设置开发集群时遇到问题……我相信一切都已正确配置,并且找不到关于问题的好提示。
我的计划是在 Fedora 25 Workstation 上试用 Kubernetes 1.6 和 Rocket 1.25。一切似乎都开始了,但是(我怀疑)Kubelet 无法与 RKT api 通信。
我尝试使用手动安装过程(删除 url 参见 git)和systemdKubernetes git 存储库中的一些示例服务。对于从 docker 到 git 的更改,我尝试按照(删除 url 参见 git)中的提示进行操作。
我更喜欢从头开始进行整个设置,以便更好地了解所涉及的组件、差异以及切换到 Rocket 和使用 1.6 的努力(Fedora 存储库只有 1.5 rpm)。
我怀疑问题是:

“rkt grpc:Server.Serve 无法创建 ServerTransport:连接错误:desc = “传输:写入 tcp [::1]:15441->[::1]:46834:写入:损坏的管道”

下面的消息,但不确定我的假设是否正确以及如何解决它。

你能帮我找出这是软件缺陷还是配置错误?

错误

0 投票
1 回答
104 浏览

ubuntu - ubuntu 上的 rkt 网络

我正在尝试在 ubuntu 16.10 上运行一个简单的 rkt 容器。我遇到了一些网络问题。这是我运行的命令。

sudo rkt run --interactive quay.io/coreos/alpine-sh

然后运行:

/ # ping google.com ping: bad address 'google.com' / # ping 8.8.8.8 PING 8.8.8.8 (8.8.8.8): 56 data bytes 64 bytes from 8.8.8.8: seq=0 ttl=58 time=6.815 ms

出来后: sudo rkt list UUID APP IMAGE NAME STATE CREATED STARTED NETWORKS 4d35bf55 alpine-sh quay.io/coreos/alpine-sh:latest exited 40 seconds ago 39 seconds ago

如您所见,网络选项卡为空。这是我的iptables:

sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination
Chain FORWARD (policy ACCEPT) target prot opt source destination
ACCEPT all -- anywhere 172.16.28.0/24
ACCEPT all -- 172.16.28.0/24 anywhere
Chain OUTPUT (policy ACCEPT) target prot opt source destination

0 投票
1 回答
156 浏览

containers - rkt 容器中“root”帐户的“受限”访问权限

在我的 rkt 容器中尝试以 root 身份执行命令时遇到了一些问题。

我将 rkt 引擎作为 sudo 运行。在启动的容器内,我也以 root 身份登录。但似乎我不是一个“真正的”根在里面。

例如,当我尝试在我拥有的已启动进程上运行“chrt”命令时,我得到以下答案:

其他示例,当我尝试以我在容器中创建的另一个用户身份登录时,我收到以下错误消息:

(注意:当我尝试启动“sudo”命令时,我收到了同样的消息)。

我还尝试将 toto 或 root 添加到“root”用户组或“实时”用户组,但它仍然不起作用。

其他富有表现力的示例,当我尝试(以根用户身份)chmod +w在具有以下配置的根用户拥有的文件上应用 a 时:rw-r--r--,我收到拒绝访问消息...

有关信息,rkt image cat manifest xxx我的 rkt 映像上的命令提供以下输出:

{“acKind”:“ImageManifest”,“acVersion”:“0.6.1”,“名称”:“xxxxxxxxxx”,“标签”:[{“名称”:“版本”,“值”:“最新”}, { "name": "arch", "value": "amd64" }, { "name": "os", "value": "linux" } ], "app": { "exec": [ "/bin /bash"],“用户”:“root”,“组”:“root”,“workingDirectory”:“/”,“环境”:[ { “name”:“PATH”,“value”:“/usr/local/sbin: /usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ] } }/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ] } }/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" } ] } }

您对我的问题的根源有任何想法吗?