问题标签 [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 的 k8s 集群设置。
上周我的一个 k8s 节点的存储空间非常低,所以所有的 pod 都被驱逐了,包括一些重要的 pod,比如 calico-node、kube-proxy(我认为这些 pod 很关键,无论如何都不会被驱逐)
之后所有的calico-node pods都没有准备好,当我查看日志时,说:
,上面有问题的节点的IP在Warning: Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with 192.168.0.xxx
哪里。192.168.0.xxx
我的问题是如何恢复该节点?再次运行 kubespray 的 cluster.yml 是否安全?
我的k8s版本是v1.13.3
谢谢。
kubernetes - Kubelet 证书轮换 - 工作节点
我已经运行 K8s 集群(v1.13.5)一年了,控制平面证书和 Kubelet 证书即将到期。我找到了一种轮换所有控制平面证书的方法,我想知道如何轮换 Kubelet 证书。有人可以帮助我了解如何轮换工作节点和主节点的 K 证书(如果需要)吗?这个 K8s 集群是使用 Kubespray 部署的。
kubespray - 我可以使用 kubespray 部署没有网络插件的 k8s 吗?
我们不需要像 Calico 或 weavenet 这样的网络模型,只需要主机网络就足够了。但我找不到禁用网络插件的方法。Kubespray 总是希望我指定一个。
kubernetes-dashboard - Kubespray 部署后无法访问 k8s 仪表板
我是 k8s 新手,所以如果之前有人问过这个问题,我深表歉意。k8s 有很多方面,所以我不确定之前的问题会适用于此。
本月初,我使用最新版本的 Kubespray 来部署 k8s。我部署在两台虚拟机上,一台作为主机,一台作为工作机。我没有对部署进行任何具体更改。我必须解决一些特定于网络的问题,但是一旦解决了这些问题,Ansible 就可以毫无错误地部署 k8s。然后我可以运行kubectl get pods --all-namespaces
它列出我在 kube-system 命名空间中所有正在运行的 pod,包括仪表板。我可以通过命令获取仪表板 url kubectl cluster-info
。转到 URL 后,我收到错误“尝试访问服务时出错:'net/http:TLS 握手超时'”。我已将此服务器和我的整个域放在我的 no_proxy 设置中,但我仍然遇到这个问题。通过查看仪表板日志后,kubectl logs -n kube-system kubernetes-dashboard-556b9ff8f8-6fc2n
我看到了错误“度量客户端健康检查失败:服务器找不到请求的资源(获取服务堆)。30 秒后重试。” 我查看了这个错误,看到了很多不同的修复,但我不确定应该将哪个修复应用于 Kubespray 部署。任何帮助是极大的赞赏!
kubernetes - 我们可以设置一个 k8s 裸机服务器来运行 Bind DNS 服务器(命名)并从外部通过端口 53 访问它吗?
我已经使用具有默认设置(kube_proxy_mode: iptables和dns_mode: coredns )的 2 个裸机服务器(1 个主服务器和 1 个工作服务器)设置了一个 k8s 集群,我想在内部运行一个BIND DNS 服务器来管理几个域名.
我使用 helm 3 部署了一个 helloworld Web 应用程序进行测试。一切都像一个魅力(HTTP,HTTPS,让我们加密思想证书管理器)。
我使用Helm 3图表在默认命名空间中部署了我的BIND DNS 服务器(命名)的图像;使用公开绑定应用程序容器的端口 53 的服务。
我已经使用 pod 和绑定服务测试了 DNS 解析;它运作良好。下面是从主节点绑定 k8s 服务的测试:
因此绑定 DNS 应用程序已部署并通过绑定 k8s 服务正常工作。
下一步;我按照https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/文档设置 Nginx 入口控制器(配置映射和服务)来处理端口上的tcp/udp请求53并将它们重定向到绑定 DNS 应用程序。
当我从外部计算机测试名称解析时,它不起作用:
我深入研究了 k8s 配置、日志等,并在kube-proxy日志中发现了一条警告消息:
然后我寻找谁已经在使用 53 端口...
查看 proc 14448/node-cache:
所以coredns已经在处理端口 53,这是正常的,因为它是 k8s 内部 DNS 服务。
在 coredns 文档(https://github.com/coredns/coredns/blob/master/README.md)中,他们谈到了-dns.port
使用不同端口的选项......但是当我查看 kubespray (它有 3 个 jinja 模板https ://github.com/kubernetes-sigs/kubespray/tree/release-2.12/roles/kubernetes-apps/ansible/templates用于创建coredns configmap、服务等,类似于https://kubernetes.io/docs/tasks /administer-cluster/dns-custom-nameservers/#coredns)所有内容都使用端口 53 进行硬编码。
所以我的问题是:是否有 k8s 集群配置/解决方法,以便我可以运行自己的 DNS 服务器并将其公开到端口 53?
也许?
- 将 coredns 设置为使用不同于 53 的端口?似乎很难,我真的不确定这是否有意义!
- 我可以设置我的绑定 k8s 服务以公开端口 5353 并配置 nginx 入口控制器来处理此 5353 端口并重定向到应用程序 53 端口。但这需要设置 iptables 以将在端口 53 上收到的外部 DSN 请求*路由到我在端口 5353 上的绑定 k8s 服务?什么是 iptables 配置(INPUT / PREROUTING 或 FORWARD)?这种网络配置会破坏 coredns 吗?
问候,
克里斯
kubernetes - 更改现有集群上的网络插件
我想知道是否有最佳实践/方法来更改 kubespray 安装的正在运行的 k8s 集群的网络插件。
具体场景:一开始我安装的是 . flannel
,现在我意识到我需要移动到canal
.
试图找出 kubespray 是否提供仅删除网络插件的选项,但似乎并非如此。
有什么建议、提示吗?
kubernetes - kubespray 中途停止,https://127.0.0.1:6443/healthz,请求失败:"
我想通过 Kubespray 在 3 个 Master、3 个 ETCD 和 2 个节点上安装 Kubernetes。但 kubespray 剧本在过程中间停止。有一次,它会打印此消息,但该过程仍在继续:
但最终它停在了这一点上:
似乎健康检查不起作用。并返回 403:
致命:[lsrv-k8s-mstr1]:失败!=> {"attempts": 20, "changed": false, "content": "", "elapsed": 0, "msg": "状态码是 -1 而不是 [200]: 请求失败: ", "重定向”:假,“状态”:-1,“网址”:“ https://127.0.0.1:6443/healthz ”}
请指导我。
kubernetes - 将 kubernetes (kubespray) 节点移动到另一个 IP 范围
我在我的内部网络 192.168.0.0/24 上使用 kuberspray 安装了一个 kubernetes 集群。现在我需要更多节点,这些节点将位于其他网络上。所以我会在当前节点和新节点之间建立一个VPN。
问题是我找不到任何与 kubespray 相关的信息,以了解如何更改节点的内部 IP 以“将它们移动到 VPN 上”。我认为在 VPN 上移动节点之后,只需在集群中安装新节点即可。
所以:使用 kubespray(或者如果不能直接通过 kubespray 手动)如何更改节点的内部 IP 以便将它们移动到 VPN 上?
ansible - 错误!无法解析模块/动作“kube”
我使用 kubespray v2.11.2 来设置 kubernetes 集群。但是,错误发生在“无法解析模块/操作'kube'”:
我是否错过了用“kube”创建“新”模块/动作的东西?
提前致谢!
kubernetes - Kubespray 如何在 k8s 主节点上配置 /etc/kubernetes/manifests/kube-apiserver.yaml 文件
我正在使用 ansible playbook 部署 k8s 裸机基础设施上的渗透测试问题。
我发现要完成的大部分修改都放在/etc/kubernetes/manifests/kube-apiserver.yaml
k8s 主节点上的文件上。
我真的不习惯 kubespray 深入研究并且无法确定API Server
规范文件是从哪里提取的。
我的目标是准确地修改 ansible playbook 以自动化更改。请在这里指导一下吗?