问题标签 [k3s]
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.
traefik-ingress - 对于 k3s 中的 Traefik Ingress Controller,禁用 TLS 验证
我正在使用 k3s 的默认安装(版本 v1.17.0+k3s.1)并验证它在我的 Raspberry Pi 集群上正常工作。
使用推荐的说明( https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ )安装 kubernetes-dashboard后,我在使用 k3s 将它暴露在集群之外后确认了它的工作原理基于 traefik 的负载均衡器。
但是,当我尝试使用 traefik 入口控制器公开它时,我无法连接到 kubernetes 仪表板,浏览器显示 HTTP 500 错误,即内部服务器错误。下面是我的入口 yaml 和 kubernetes-dashboard pod 日志,显示 TLS 证书错误。我相信证书错误是由于 traefik 不知道(和信任)kubernetes 仪表板使用的 TLS 证书。
一个。k8s-仪表板-入口
笔记。域“k8s-services”域是在我的 pi 集群机器和浏览计算机主机文件中定义的。
湾。Kubernetes 仪表板 pod 日志
我的问题似乎与以下 Stack Overflow 问题非常相似: Kubernetes dashboard through Ingress
我第一次尝试解决这个问题是将“ssl.insecureSkipVerify:'true'”添加到 k3s 中的 traefik.toml 文件中。不幸的是,我找不到全局 traefik.toml 文件(并且 traefik 似乎是使用 Helm Chart 安装的)。
请让我知道如何更新 traefik 中的“ssl.insecureSkipVerify”设置或其他替代解决方案。
kubernetes - k3s - 树莓派上的高可用性 - 设置问题
我正在尝试使用两个树莓派 4s 为 k3s 设置高可用性,但无法让第二个服务器链接到第一个服务器。
感谢您为使其正常工作提供的任何帮助。
我已经尝试过嵌入式数据库和外部数据库(mariadb)
第一个服务器节点使用以下命令设置良好:
从服务器 1 获取令牌并添加到服务器 2
然后我尝试使用以下方法让第二台服务器加入集群:
服务在两个 rpi 上都运行没有错误,但第二个服务器没有显示为连接到第一个
编辑
必须使用一些变体才能使其与嵌入式数据库一起使用,这可以让第二/第三台服务器加入初始集群
(带K3S_TOKEN
和K3S_URL
设置)
但是,服务器 2 和服务器 3 上的 pod 无法与连接到服务器 1 的 pod 通信。
我已经为此提出了一个单独的问题,因为我最初认为这是一个不同的问题
kubernetes - k3s - 如果 Pod 位于不同的主节点上,则无法从一个 Pod 访问另一个 Pod(HighAvailability 设置)
k3s - 如果不同节点上的 pod 不能从一个 pod 访问到另一个
更新:
我已经缩小了问题的范围——其他主节点上的 pod 无法与原始主节点上的节点通信
pods on rpi4-server1
- 原始集群 - 可以与 pods on rpi-worker01
和rpi3-worker02
上的豆荚rpi4-server2
无法与其他豆荚交流
我正在尝试使用嵌入式数据库并使用 flannel / vxlan运行HighAvailability 集群
我正在尝试在 k3s 中设置一个包含 5 个服务的项目
当所有 pod 都包含在单个节点上时,它们可以很好地协同工作。
一旦我将其他节点添加到系统中并将 pod 部署到它们,链接似乎就断开了。
在故障排除中,我已经执行到其中一个 pod 并尝试卷曲另一个。当它们在同一个节点上时,这是可行的,如果第二个服务在另一个节点上,则不会。
我确定这是我想念的简单事情,但我无法解决!帮助表示赞赏。
关键细节:
- 使用 k3s 和原生 traefik
两个 rpi4 作为服务器(高可用性),两个 rpi3 作为工作节点
metallb 作为负载均衡器
- 两个服务 -
blah-interface
并blah-svc
配置为LoadBalancer
允许外部访问。其他的,blah-server
并n34
支持调试,但只需要内部访问test-apis
NodePort
有关节点、Pod 和服务的信息......
kubernetes - 是否可以通过 Kubernetes 控制器节点提供应用程序?
我在一组 Raspberry Pi4 计算机上构建了一个 K3s ( https://k3s.io ) 集群。
控制器 ( ctrl-1
) 节点是一个网关,因为它有 2 个网络接口。一个连接到我的 LAN,另一个连接到它创建的网络,例如 K3S-LAN。两个节点 (node-1
和node-2
) 部署到 K3S-LAN。
我希望能够通过ctrl-1
例如从 LAN 访问在节点上运行的应用程序。这是因为这个集群是可移植的,所以只有ctrl-1
节点需要连接到访客 LAN。(是的,DNS 名称等问题需要解决,但我想先运行基础知识)。
这意味着我需要能够通过ctrl-1
. 我认为我对此有正确的想法,因为我使用 Helm 将“nginx-ingress”部署到 master。但是我忘记了这个服务 - 这已经安排在节点上,而它需要在控制器上以便打开端口(我认为)。但是我找不到如何使服务在控制器上运行。
目前,我的服务以NodePort
. 我可以安装 MetalLB 以便我有LoadBalancer
能力。但是,根据我所看到的,我不确定这是否有帮助。
ctrl-1
没有任何污点设置,只是主人的角色。
我在这里吠错树了吗?我想这可能不是 Kubernetes 的预期用例,但我正在玩一个想法。感谢人们的任何想法。
更新*
我刚刚认为解决此问题的方法可能是在ctrl-1
(作为主机上的另一个服务)上运行 HAProxy 并设置规则以代理到集群中的必要服务。这将充当网络之间的桥梁。
kubernetes - K3s - 使用客户端证书创建用户
我尝试使用客户端证书创建用户帐户。
我遵循了两个教程,但在消息错误中坚持使用这两个选项
https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/
我设置了正确的用户、服务器和正确的上下文。我设置了命名空间,但仍然是同样的错误。
有人已经经历过类似的事情吗?或者有人知道我做错了什么?
我的k3s集群版本是1.15.4。
docker - k8s:让 k8s 可以访问本地图像
我刚刚安装了一个 k8s 集群(k3d)。
我只是在玩这个,我正在解决第一个新手问题:如何加载我们本地创建的图像。
我的意思是,我刚刚创建了一个标记为quarkus/feedly:v1
.
- 如何使其可用于 k8s 集群?
- 哪个是默认的 k8s 容器运行时?
- 与我的 k8s 集群和我的本地 docker 是否存在任何交互?我的意思是,每个 k8s 节点都安装了 docker/rkt/containerd 运行时吗?
- 我可以在 kubernetes 中创建一个 docker 注册表作为清单吗?我怎样才能让 kubernetes 访问它?
我已经部署了清单,并且收到了以下事件:
无法拉取图像“quarkus/feedly:0.0.1-SNAPSHOT”:rpc 错误:代码 = Unknown desc = 无法拉取和解压图像“docker.io/quarkus/feedly:0.0.1-SNAPSHOT”:无法解析参考“docker.io/quarkus/feedly:0.0.1-SNAPSHOT”:拉取访问被拒绝,存储库不存在或可能需要授权:服务器消息:insufficient_scope:授权失败
我知道这是一个正常错误,因为 quarkus 注册表不存在。
那里有帮助代码吗?
kubernetes - k8s (k3s):自动公开一个服务
有没有办法让 kubernetes 根据刚刚部署的服务创建入口?
我刚刚创建了一个 k3d 集群,并且已经部署了我的 springboot 服务。
我已经部署了一个带有 aDeploymentConfig
和 a的清单Service
。
我希望这个刚刚创建的服务可以从 kubernetes 中获得......
有任何想法吗?
docker - 如何从容器内部访问互联网网址
有没有办法从 docker 容器内访问互联网?
我的容器必须到达一些网址才能工作......
我的容器是:
如您所见,它们正在运行rancher/k3s:---
图像。
我看过日志:
E0205 08:07:07.844781 6 kuberuntime_manager.go:729] pod“vault-helm-1580888075-agent-injector-b7647bf59-vght5_default(7210fa15-5ba4-4c61-9e2c-2bce05cd3bc0)”的 createPodSandbox 失败:rpc:错误代码desc = 无法获取沙盒镜像“docker.io/rancher/pause:3.1”:无法拉取镜像“docker.io/rancher/pause:3.1”:无法拉取和解压镜像“docker.io/rancher/pause: 3.1”:无法解析参考“docker.io/rancher/pause:3.1”:无法执行请求:Head https://registry-1.docker.io/v2/rancher/pause/manifests/3.1:拨号 tcp:查找 registry-1.docker.io:再试一次
似乎无法访问registry-1.docker.io
存储库。
但是,我可以从我的主机中提取图像:
我的主机在一个合作代理后面工作:
另外,我尝试测试容器是否能够访问代理 ip:
编辑
/etc/resolv.conf
内容:
编辑 2
k3d主容器节点的网络相关检查:
编辑 3
kubernetes - 可扩展的单节点 K8s 集群
我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。
我知道诸如 minikube 和 microk8s 之类的解决方案,但它们不可扩展。我现在正在尝试 k3s 正是因为它提供了这个功能,但是我在存储和其他我正在处理的东西方面遇到了一些问题。
现在我的问题:
- 存在什么其他解决方案?
- 如果我不污染主节点并在那里运行所有东西(很长一段时间,而不仅仅是为了测试),有什么缺点?
kubernetes - 带有 traefik 的 k8s:打开 udp 端口作为入口规则
我刚刚部署了一个 k3d 集群。
我不太清楚如何打开 udp 端口以建立入口规则。
Traefik 用作入口控制器。
有任何想法吗?