问题标签 [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.
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 不读取它们一样。
kubeadm
YAML 配置文件在哪里?
这里有人可以帮助管理这些参数吗?
kubernetes - 网络插件为 calico 时 kubelet 不启动
尝试使用 kubespray 安装离线 K8s HA 集群。安装了所有的包,包括 calico 和 docker 镜像。但是,它堆积在步骤 kubernetes/master:创建 kubeadm 令牌以加入 24 小时到期的节点
经过一番挖掘,看到主主节点无法启动 kubelet 并出现错误:无法更新 cni 配置:在 /etc/cni/net.d 中找不到网络,并且在几行之后它开始说 kubelet 节点没有同步。
我不能让它前进。
需要帮忙。
问候。
python - 如何将配置变量传递给 python 以在 bash 文件中进行 kubespray 动态清单?
所以我正在尝试创建一个bash脚本来传递为ansible制作库存文件所需的IP数组,官方文档说这是通过
但是在 bash 脚本CONFIG_FILE
中设置为变量,因此它会停止创建清单文件,因为该变量未传递到 python 文件中
我尝试了以下尝试将变量传递给python文件以尝试创建库存文件
这导致
我也试过
这导致
这是可以理解的,但想法是让文件由 python 脚本创建
有可能让 bash 脚本工作,以便它执行由
?
更新
因此,经过一番修补后,我得出的结论是,这可能是由于我的 pip 虚拟环境造成的,因为我的脚本在运行命令之前尝试创建一个虚拟环境,以便获得更多上下文
如果我删除这些行
然后脚本按预期工作,在某种程度上,理想情况下它应该在虚拟环境中,为措辞不当的问题道歉
kubernetes - 如何通过 kubespray 设置本地主机名通过身份验证?
嗨,我在通过 kubespray 使用 ansible 时不断收到此错误,我想知道如何克服它
我的库存文件如下
我还有一个文件,它以下列方式提供用户
我已按以下方式运行 ansible 命令
也
两者都产生相同的错误有趣的升级似乎在较早的点上成功了
阅读本文 https://askubuntu.com/questions/542397/change-default-user-for-authentication后, 我决定将用户添加到 sudo 组,但错误仍然存在
查看错误建议的 main.yaml 文件位置,似乎此代码可能导致问题?
主机的操作系统是 ubuntu 20.04.02 服务器,我还能做些什么吗?
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
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 名称。
我错过了什么?任何帮助表示赞赏。
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
谢谢)
kubernetes - 使用 Kubespray 安装 kubernetes 时是否可以只安装 master?
我正在尝试使用 kubespray 安装 kubernetes。
我已经成功配置了master和worker,但是我想知道是否只能安装没有worker的master。在inventory.ini
中,仅指定了 master 的主机名并继续安装,并显示以下失败消息。
有没有办法用 kubespray 只安装 master,不包括 worker?帮助!
kubespray - 如何在 kubespray 中向工作节点添加污点?
我使用 kubespray 来配置 kubernetes 集群。我需要将其中一个工作节点标记为已污染。
好奇 kubespray 有没有办法污染特定的工作节点?
kubernetes - 如何将外部 GCP 负载均衡器添加到 kubespray 集群?
我使用虚拟机和Kubespray在 Google Cloud 上部署了一个 kubernetes 集群。
现在,我希望使用负载均衡器向外部 IP 公开一个简单的节点应用程序,但 将我的外部 IP 从 gcloud 显示到服务不起作用。当我查询时它保持挂起状态kubectl get services
。
据此, kubespray 默认不包含/集成任何负载均衡器机制。我应该如何进步?