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

kubernetes - Kubespray ansible extra args for pods 规范未部署在目标 k8s 集群上

根据此文档,可以使用以下变量指定 API 服务器、控制器和调度程序组件的额外标志,其形式为将插入 kubeadm YAML 配置文件的配置参数键值对的字典:

  • kube_kubeadm_apiserver_extra_args
  • kube_kubeadm_controller_extra_args
  • kube_kubeadm_scheduler_extra_args

但是我真的不知道将它们添加到 ansible playbook 的哪个位置,以便在集群部署期间可以在主节点上呈现它们。

我尝试使用这个文件kubespray/roles/kubernetes/master/defaults/main/main.yml和这个文件kubespray/roles/kubespray-defaults/defaults/main.yaml,但它不适用于这两个文件,ansible 不部署它们,就像 ansible 不读取它们一样。

kubeadmYAML 配置文件在哪里?

这里有人可以帮助管理这些参数吗?

0 投票
0 回答
1205 浏览

kubernetes - 网络插件为 calico 时 kubelet 不启动

尝试使用 kubespray 安装离线 K8s HA 集群。安装了所有的包,包括 calico 和 docker 镜像。但是,它堆积在步骤 kubernetes/master:创建 kubeadm 令牌以加入 24 小时到期的节点

经过一番挖掘,看到主主节点无法启动 kubelet 并出现错误:无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络,并且在几行之后它开始说 kubelet 节点没有同步。

我不能让它前进。

需要帮忙。

问候。

0 投票
1 回答
145 浏览

python - 如何将配置变量传递给 python 以在 bash 文件中进行 kubespray 动态清单?

所以我正在尝试创建一个bash脚本来传递为ansible制作库存文件所需的IP数组,官方文档说这是通过

但是在 bash 脚本CONFIG_FILE中设置为变量,因此它会停止创建清单文件,因为该变量未传递到 python 文件中

我尝试了以下尝试将变量传递给python文件以尝试创建库存文件

这导致

我也试过

这导致

这是可以理解的,但想法是让文件由 python 脚本创建

有可能让 bash 脚本工作,以便它执行由

?

更新

因此,经过一番修补后,我得出的结论是,这可能是由于我的 pip 虚拟环境造成的,因为我的脚本在运行命令之前尝试创建一个虚拟环境,以便获得更多上下文

如果我删除这些行

然后脚本按预期工作,在某种程度上,理想情况下它应该在虚拟环境中,为措辞不当的问题道歉

0 投票
1 回答
467 浏览

kubernetes - 如何通过 kubespray 设置本地主机名通过身份验证?

嗨,我在通过 kubespray 使用 ansible 时不断收到此错误,我想知道如何克服它

我的库存文件如下

我还有一个文件,它以下列方式提供用户

我已按以下方式运行 ansible 命令

两者都产生相同的错误有趣的升级似乎在较早的点上成功了

阅读本文 https://askubuntu.com/questions/542397/change-default-user-for-authentication后, 我决定将用户添加到 sudo 组,但错误仍然存​​在

查看错误建议的 main.yaml 文件位置,似乎此代码可能导致问题?

主机的操作系统是 ubuntu 20.04.02 服务器,我还能做些什么吗?

0 投票
0 回答
133 浏览

ansible - 无法通过 terraform 修改为 kubespray 运行 Ansible。(AnsibleUndefinedVariable:'ansible.vars.hostvars.HostVarsVars 对象)

嗨,我尝试在 terraform 中自动化不同类型的节点组,以使用我们在自定义 tfvar 中传递的实例标签和配置的配置动态填充库存文件。

我能够正确呈现库存文件,但是当我对其运行 ansible 命令时,它失败了

任务 [bastion-ssh-config : create ssh bastion conf] 致命:[bastion]:失败!=> {"changed": false, "msg": "AnsibleUndefinedVariable: 'ansible.vars.hostvars.HostVarsVars object' 没有属性 'ansible_host'"}

下面是我自定义生成的库存文件

注意:ansible 方面没有变化,因为我认为唯一的链接是 terraform 和 ansible 之间的库存文件。

已尝试使用标签:2.15

0 投票
1 回答
534 浏览

kubernetes - Pod 无法在来自两个不同子网的节点上生成的 kubernetes 集群中相互 ping

我正在尝试使用具有 3 个主节点和 5 个工作节点的 kubespray 建立一个本地 k8 集群。节点 IP 来自 2 个不同的子网。

Ansible 库存:

接下来我生成了 dnsutils -kubectl apply -f https://k8s.io/examples/admin/dns/dnsutils.yaml 这是在 w1 worker 上。它能够查找 svc 名称(我在 w2 上创建了 elasticsearch pod)

接下来,我在 w5(.200 子网)上生成了相同的 dnsutils pod。nslookup 对此失败。

来自在 w5 上运行的 nodelocaldns 的日志:

从 dnsutils 容器中,我无法通过覆盖网络访问另一个子网上的 coredns pod IP。集群是使用 Calico 生成的。

kube_service_addresses: 10.233.0.0/18 kube_pods_subnet: 10.233.64.0/18

由于这种行为,在所有 5 个工作人员上作为守护程序集运行的 fluentd 处于 CrashLoopBack 中,因为它无法解析 elasticsearch svc 名称。

我错过了什么?任何帮助表示赞赏。

0 投票
0 回答
63 浏览

kubernetes - traefik 安装 kubespray 后不显示 backend_requests 指标

我在裸机上通过 kubespray 安装了 Kubernetes,但是在 traefik daemonset 安装之后,traefik 不会返回带有内部域的 Prometheus 指标,只有

通过官网文档手动安装 Kubernetes 后

https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/

我可以看到所有主机指标

k8s v1.20.5

谢谢)

0 投票
1 回答
366 浏览

kubernetes - 使用 Kubespray 安装 kubernetes 时是否可以只安装 master?

我正在尝试使用 kubespray 安装 kubernetes。

我已经成功配置了master和worker,但是我想知道是否只能安装没有worker的master。在inventory.ini中,仅指定了 master 的主机名并继续安装,并显示以下失败消息。

有没有办法用 kubespray 只安装 master,不包括 worker?帮助!

0 投票
1 回答
195 浏览

kubespray - 如何在 kubespray 中向工作节点添加污点?

我使用 kubespray 来配置 kubernetes 集群。我需要将其中一个工作节点标记为已污染。

好奇 kubespray 有没有办法污染特定的工作节点?

0 投票
1 回答
306 浏览

kubernetes - 如何将外部 GCP 负载均衡器添加到 kubespray 集群?

我使用虚拟机和Kubespray在 Google Cloud 上部署了一个 kubernetes 集群。

现在,我希望使用负载均衡器向外部 IP 公开一个简单的节点应用程序, 将我的外部 IP 从 gcloud 显示到服务不起作用。当我查询时它保持挂起状态kubectl get services

据此 kubespray 默认不包含/集成任何负载均衡器机制。我应该如何进步?