问题标签 [kubespray]

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 投票
0 回答
148 浏览

kubernetes - (HA) API-Server 无法访问,一个主服务器宕机

在 kubespray 的帮助下,我在 3 台机器上运行了 kubernetes 集群。其中 2 个(node1、node2)是主节点,所有(node1、node2、node3)都是工作节点。因此它应该满足我对高可用集群的要求。我想测试一些节点关闭时的可用性以及它们的反应。

问题:我正在关闭 node2 和 node3,所以只有 node1 正在运行。当我尝试kubectl get nodes在 node1 上它返回The connection to the server 10.1.1.44:6443 was refused - did you specify the right host or port?

奇怪的是:当 node1 和 node2(所有的 master)都在运行时,api 可以正常工作。但是当只有一个 master 宕机时,api 会返回上面的消息。

我希望 node1 应该在没有其他主/工作节点的情况下工作。我在这里错过了什么吗?

使用:kubespray v2.11.0

已编辑group_vars/all/all.yml

我的hosts.yml

0 投票
1 回答
1063 浏览

kubernetes - 使用 kubespray 创建 Kubernetes 集群时,主节点中的 kubectl 运行问题

我正在尝试使用具有单个主节点和 3 个工作节点的 kubespray 创建 Kubernetes 集群。我克隆了 github kubespray 存储库并从我的控制节点运行 ansible playbook 以形成集群。

我正在尝试以下命令:

当我运行命令时,2 个工作节点获得最终状态正常。但是对于主节点,它显示失败并出现如下错误:

我正在为以下错误添加屏幕截图:

在此处输入图像描述

修改

我删除了旧的 kubespray 存储库,并从以下链接克隆了新的存储库,

https://github.com/kubernetes-sigs/kubespray.git

并更新了我的库存。但仍然得到同样的错误。当我为日志运行“journalctl”命令时,我得到如下信息:

错误 ,

0 投票
1 回答
1211 浏览

macos - 如何通过 brew 安装 ansible 2.7 版以便在 macos 上使用 kubespray?

我正在尝试在 macos 上运行 kubespray。但是,brew 只有 2.8 版本的 ansible,而 kubespray 需要 2.7。如何通过 brew 安装 ansible 2.7?

0 投票
2 回答
6453 浏览

kubernetes - 没有从某些 Kubernetes 容器到同一集群中其他容器的主机路由

这是使用 calico 的 Kubespray 部署。除了存在代理之外,所有默认设置都保持原样。Kubespray 运行到最后没有问题。

对 Kubernetes 服务的访问开始失败,经过调查,没有路由可以托管coredns服务。通过 IP 访问 K8S 服务有效。其他一切似乎都是正确的,所以我留下了一个可以工作的集群,但没有 DNS。

以下是一些背景信息: 启动一个 busybox 容器:

现在是显式定义 CoreDNS pod 之一的 IP 时的输出:

注意 telnet 到 Kubernetes API 是有效的:

kube-proxy 日志: 10.233.0.3 是 coredns 的服务 IP。最后一行看起来令人担忧,尽管它是 INFO。

所有 pod 都在运行而不会崩溃/重新启动等,否则服务会正常运行。

IPVS 看起来是正确的。CoreDNS 服务在那里定义:

主机路由看起来也正确。

我已经用 iptables 而不是 ipvs 在 flannel 和 calico 的不同环境中重新部署了同一个集群。临时部署后,我还禁用了 docker http 代理。这些都没有任何区别。

另外:kube_service_addresses:10.233.0.0/18 kube_pods_subnet:10.233.64.0/18(它们不重叠)

调试此问题的下一步是什么?

0 投票
1 回答
3753 浏览

kubernetes - Kubernetes仪表板服务器找不到请求的资源

我已经使用 vagrant 安装了带有https://github.com/kubernetes-sigs/kubespray的 kubernetes 集群。安装成功。

接下来我想调用仪表板并生成仪表板令牌,如下所示:

我得到了令牌和kubectl proxy声明,它启动了仪表板服务。

然后调用url http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/login并输入令牌,然后我得到:

在此处输入图像描述

我究竟做错了什么?

这应该是解决方案: https ://kubernetes.io/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#default-nic-when-using-flannel-as-the-pod-network-in -流浪汉

什么不知道,怎么解决。

0 投票
2 回答
4401 浏览

ubuntu - 在 VPS 服务器上安装 Kubernetes

我打算设置一个 kubernetes 集群,如下所示: 在此处输入图像描述

如图所示,集群将包含 3 台 Ubuntu 18.04 虚拟专用服务器,一台是主服务器,另外两台服务器是节点。对于 kubernetes 安装,我将选择kubespray。首先,我必须关心的是,3 个 VPS 可以相互通信。那是第一个问题,我该怎么办,3个VPS服务器可以相互通信?

第二个问题是,我必须如何以及在哪里安装 kubespray?我猜在主服务器上。

0 投票
2 回答
868 浏览

kubernetes - 在 kubespray 上运行带有标签的 playbook 时出错

我正在尝试运行剧本

它返回此错误:

我不明白我做错了什么......

0 投票
0 回答
165 浏览

kubernetes - Pod 没有在使用 kubespray 添加到 k8s 集群的新节点上获得计划/分配的 IP 地址

使用 kubespray 将工作节点添加到现有集群。已加入集群的节点,但节点上计划的新 pod 失败并出现错误“get https://10.233.0.1 : dial tcp 10.233.0.1: 443 connection denied”

网络插件 - 以 ipvs 模式运行的 calico kube-proxy

  1. 从新的工作节点,可以连接到超过 6443 的主服务器 IP 地址
  2. 从新的工作节点,无法通过端口 443 访问集群 ip 10.233.0.1
  3. Calico、nodelocaldns 和 kube-proxy pod 在新节点上处于运行状态
  4. Kube-proxy 日志显示错误“无效的 nodeIP,使用 127.0.0.1 作为 nodeIP 初始化 kube-proxy”无法写入事件:'Post https://127.0.0.1:6443/api/v1/namespaces/default/events dial tcp 127.0 .0.1:6443 连接被拒绝”
  5. ipvsadm -ln 输出不显示任何服务
  6. ip addr show 输出不显示 kube-ipvs0 和 calico 接口

有人可以帮忙吗。谢谢

0 投票
1 回答
984 浏览

kubernetes - kubespray 是否支持 CentOS 8?

我有一个与“ Kubespray ”相关的快速问题。

Kubespray ”是否支持 CentOS 8?

我想在“CentOS”上部署“ Kubespray ”,我知道 CentOS 8 的内核版本是 4.18,如果我可以使用“CentOS 8”进行“Kubernetes”部署,也许我可以摆脱“c-group” “我们目前面临的所有内核版本低于 4.18 的 CentOS 发行版的问题。

提前致谢。

0 投票
2 回答
2805 浏览

kubernetes - Kubernetes 仪表板 - 登录后出现未知的服务器错误

我已经通过 Kubespray 成功部署了 Kubernetes,一切似乎都运行良好。我可以通过 kubectl 访问集群并列出节点、pod、服务、机密等。也可以应用新的资源和仪表板端点为我提供仪表板登录页面。

我已经使用不同服务帐户的令牌(默认,kubernetes-dashboard,kubernetes-admin,...)登录......每次登录时,我都会得到与kubespray 仪表板警告禁止弹出窗口中描述的相同的弹出窗口。

所以我按照描述为默认服务帐户应用了集群角色绑定。当我现在使用默认帐户令牌登录时,我只得到一个

框,之后将我重定向到登录页面。如果我通过kubectl proxy. 访问是基于公共集群 IP 的 HTTPS 和基于代理的 HTTP

我正在使用 Kubernetes 1.16.2 和最新的 Kubespray 主提交 18d19d9e

编辑:我销毁并重新配置集群以获得一个新的 Kubespray 配置实例,以使所有步骤具有确定性,添加更多信息......

kubectl -n kube-system logs --follow kubernetes-dashboard-556b9ff8f8-jbmgg --在登录尝试期间给了我

我发现了一个奇怪的解决方法来让仪表板工作,但这对我们在生产中不可用,也许有人可以解释一下:

  1. 我以服务帐户为例kube-system:default(注意:此时未分配cluster-admin此帐户
  2. 我得到它的令牌并用它登录
  3. 仪表板显然向我显示了“禁止弹出窗口”
  4. 虽然仍然登录,但我运行kubectl create clusterrolebinding default-admin --clusterrole cluster-admin --serviceaccount=kube-system:default
  5. 我刷新了包含我的仪表板会话的浏览器选项卡......等等,一切都正确显示。

因此我无法注销并再次登录,我总是必须删除集群角色绑定,然后登录,然后再次应用集群角色绑定。

这似乎与 kubespray 配置的集群密切相关,所以任何人都能够使用 kubespray 重现这一点吗?