问题标签 [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.

0 投票
1 回答
3542 浏览

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”设置或其他替代解决方案。

0 投票
1 回答
1106 浏览

kubernetes - k3s - 树莓派上的高可用性 - 设置问题

我正在尝试使用两个树莓派 4s 为 k3s 设置高可用性,但无法让第二个服务器链接到第一个服务器。

感谢您为使其正常工作提供的任何帮助。

我已经尝试过嵌入式数据库外部数据库(mariadb)

第一个服务器节点使用以下命令设置良好:

从服务器 1 获取令牌并添加到服务器 2

然后我尝试使用以下方法让第二台服务器加入集群:

服务在两个 rpi 上都运行没有错误,但第二个服务器没有显示为连接到第一个


编辑

必须使用一些变体才能使其与嵌入式数据库一起使用,这可以让第二/第三台服务器加入初始集群

(带K3S_TOKENK3S_URL设置)

但是,服务器 2 和服务器 3 上的 pod 无法与连接到服务器 1 的 pod 通信。

我已经为此提出了一个单独的问题,因为我最初认为这是一个不同的问题


0 投票
1 回答
1848 浏览

kubernetes - k3s - 如果 Pod 位于不同的主节点上,则无法从一个 Pod 访问另一个 Pod(HighAvailability 设置)

k3s - 如果不同节点上的 pod 不能从一个 pod 访问到另一个


更新:

我已经缩小了问题的范围——其他主节点上的 pod 无法与原始主节点上的节点通信

pods on rpi4-server1- 原始集群 - 可以与 pods on rpi-worker01rpi3-worker02

上的豆荚rpi4-server2无法与其他豆荚交流

我正在尝试使用嵌入式数据库并使用 flannel / vxlan运行HighAvailability 集群


我正在尝试在 k3s 中设置一个包含 5 个服务的项目

当所有 pod 都包含在单个节点上时,它们可以很好地协同工作。

一旦我将其他节点添加到系统中并将 pod 部署到它们,链接似乎就断开了。

在故障排除中,我已经执行到其中一个 pod 并尝试卷曲另一个。当它们在同一个节点上时,这是可行的,如果第二个服务在另一个节点上,则不会。

我确定这是我想念的简单事情,但我无法解决!帮助表示赞赏。

关键细节:

  • 使用 k3s 和原生 traefik
  • 两个 rpi4 作为服务器(高可用性),两个 rpi3 作为工作节点

  • metallb 作为负载均衡器

  • 两个服务 -blah-interfaceblah-svc配置为LoadBalancer允许外部访问。其他的,blah-servern34支持调试,但只需要内部访问test-apisNodePort

有关节点、Pod 和服务的信息......

0 投票
1 回答
159 浏览

kubernetes - 是否可以通过 Kubernetes 控制器节点提供应用程序?

我在一组 Raspberry Pi4 计算机上构建了一个 K3s ( https://k3s.io ) 集群。

控制器 ( ctrl-1) 节点是一个网关,因为它有 2 个网络接口。一个连接到我的 LAN,另一个连接到它创建的网络,例如 K3S-LAN。两个节点 (node-1node-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 并设置规则以代理到集群中的必要服务。这将充当网络之间的桥梁。

0 投票
2 回答
3259 浏览

kubernetes - K3s - 使用客户端证书创建用户

我尝试使用客户端证书创建用户帐户。

我遵循了两个教程,但在消息错误中坚持使用这两个选项

https://medium.com/better-programming/k8s-tips-give-access-to-your-clusterwith-a-client-certificate-dfb3b71a76fe

https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/

我设置了正确的用户、服务器和正确的上下文。我设置了命名空间,但仍然是同样的错误。

有人已经经历过类似的事情吗?或者有人知道我做错了什么?

我的k3s集群版本是1.15.4。

0 投票
2 回答
914 浏览

docker - k8s:让 k8s 可以访问本地图像

我刚刚安装了一个 k8s 集群(k3d)。

我只是在玩这个,我正在解决第一个新手问题:如何加载我们本地创建的图像。

我的意思是,我刚刚创建了一个标记为quarkus/feedly:v1.

  1. 如何使其可用于 k8s 集群?
  2. 哪个是默认的 k8s 容器运行时?
  3. 与我的 k8s 集群和我的本地 docker 是否存在任何交互?我的意思是,每个 k8s 节点都安装了 docker/rkt/containerd 运行时吗?
  4. 我可以在 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 注册表不存在。

那里有帮助代码吗?

0 投票
0 回答
301 浏览

kubernetes - k8s (k3s):自动公开一个服务

有没有办法让 kubernetes 根据刚刚部署的服务创建入口?

我刚刚创建了一个 k3d 集群,并且已经部署了我的 springboot 服务。

我已经部署了一个带有 aDeploymentConfig和 a的清单Service

我希望这个刚刚创建的服务可以从 kubernetes 中获得......

有任何想法吗?

0 投票
0 回答
1548 浏览

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

0 投票
3 回答
299 浏览

kubernetes - 可扩展的单节点 K8s 集群

我正在寻找一种解决方案,使我能够设置单节点 K8s 集群,如果需要,我稍后会向其中添加节点。

我知道诸如 minikube 和 microk8s 之类的解决方案,但它们不可扩展。我现在正在尝试 k3s 正是因为它提供了这个功能,但是我在存储和其他我正在处理的东西方面遇到了一些问题。

现在我的问题:

  • 存在什么其他解决方案?
  • 如果我不污染主节点并在那里运行所有东西(很长一段时间,而不仅仅是为了测试),有什么缺点?
0 投票
1 回答
526 浏览

kubernetes - 带有 traefik 的 k8s:打开 udp 端口​​作为入口规则

我刚刚部署了一个 k3d 集群。

我不太清楚如何打开 udp 端口​​以建立入口规则。

Traefik 用作入口控制器。

有任何想法吗?