问题标签 [k0s]

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 投票
0 回答
33 浏览

zap - ZAP API Scan 无法解析 swagger 定义

我有 .NET 5 API,我正在运行 ZAP API 扫描。

当我从 Windows 10 运行此命令时,它运行良好并生成报告 - 对于第一个用例,我将 API 托管在 Windows Server 2016 上的 IIS 中:

切换到 Linux 时出现错误。我在 k0s 集群上托管了 API(在 Debian 10 Buster 上)并运行命令:

该命令给出错误:

我错过了什么?

0 投票
0 回答
39 浏览

kubernetes - 节点无法调度 pod 并出现污点错误

我有一个 k0s 集群,我需要在其中设置持久卷声明,但它失败了——以及相关的部署。运行时出现以下错误ks describe pod mssql-depl-86c86b5f44-ldj49

我充其量不确定为什么会发生这种情况,或者是什么导致集群具有“污点”。我之前已经能够通过命令修复这个“污点”,ks taint nodes serverfxc02 node-role.kubernetes.io/master-但在这个特定的例子中它不起作用

我创建了部署作为检查以满足WaitForFirstConsumer约束,但一段时间后,持久卷声明仍保持在 Pending 模式:

我错过了什么?

更新 的输出kubectl get storageclass openebs-device -o yaml是:

的输出kubectl get pvc mssql-claim -o yaml 是:

0 投票
1 回答
68 浏览

docker - 如何将前台进程添加到 Docker 容器

我在部署 .Net Core API 时遇到“CrashLoopBackoff”错误helm upgrade --install flextoeco .

我已经运行ks describe pod flextoecoapi-6bb7cdd846-r6c67,部分输出如下:

这里的建议来看,我似乎有很多选项可以修复最值得注意的问题:i)向 Dockerfile 添加一个命令,以确保有一些前台进程正在运行 ii)扩展 LivenessProbe initialDelaySeconds

我选择了第一个并编辑了我的 Dockerfile,如下所示:

进行此更改后,我仍然遇到相同的错误。

更新

跳过:当我不使用 helm 时,部署工作完美,即我可以为部署/服务/nodeport/clusterip 执行 kubectl 申请,并且 API 部署没有问题

我尝试如下更新 values.yaml 和 service.yaml,但重新部署后 CrashLoopBackOff 错误仍然存​​在:

模板/service.yaml

values.yaml
我在这里明确指定了 CPU 和内存使用情况

模板/deployment.yaml

0 投票
0 回答
20 浏览

zipkin - 无法访问 Traefik 入口后面的 Jaeger UI

我已经按照这篇文章的说明设置了 Jaeger 。当我转到 ( http://myhost.com/jaeger ) 时,我无法在浏览器中访问 Jaeger UI。浏览器不会打开仪表板,而是打开另一个域为 myhost.com 的网站。我正在尝试从公司 LAN 上的 PC 打开仪表板。

Jaeger 组件均已设置:

和主机文件:

主机

Jaeger 设置在 k0s 集群上(在 Debian 10 Buster 实例上)。

我的理解是主机/Traefik 配置应该使 Jaeger UI 可以在集群外部访问。

入口配置如下:

我错过了什么?

0 投票
0 回答
35 浏览

kubernetes - 为什么我的服务没有在 Jaeger 上注册?

我在 kubernetes 中部署了两项服务(裸机k0s。要对 Jaeger 服务 A 进行一些跟踪,请调用服务 B 以获取 JWT 身份验证令牌 - 当我在 Visual Studio 中进行测试时,这非常有效(服务 A 能够检索令牌来自服务 B)。

但是,当我已经部署到 k0S 后在 Postman 中执行调用时,我既看不到服务也看不到任何痕迹 Jaeger UI: 杰格UI

使用此处的指南,我已将服务配置如下:

服务 A (Startup.cs)

服务 B 具有完全相同的配置。

Jaeger 操作员是使用带有配置的 NodePort 设置的,如下文件所示:

[文件][https://drive.google.com/file/d/1nAjQ2jHrLSZLWoV9vGb3l4b0M1_yTMTw/view?usp=sharing]

我必须尝试将操作员公开为 Traefik Ingress,但失败了,不得不更改为 NodePort(如果有的话,这会影响服务的注册吗?):

这是服务 A 中从服务 B 检索令牌的调用:

在 Postman 上下文中,对http://10.170.XXX.XXX:30488/account?field4=3025202645050&field7=GENERIC01&field10=ABC076的调用将隐式调用http://10.170.xxx.xxx:31306/users/authenticate处的 AuthenticationAPI

更新 容器日志显示正在生成 trace-id 和 span-id :

我错过了什么?

0 投票
1 回答
33 浏览

kubernetes-ingress - 无法启动 nginx-ingress-controller 就绪和活跃度探测失败

我已经使用此链接上的说明安装了使用 NodePort 安装 NGINX选项。

当我这样做时,ks logs -f ingress-nginx-controller-7f48b8-s7pg4 -n ingress-nginx我得到:

当我这样做时,ks describe pod ingress-nginx-controller-7f48b8-s7pg4 -n ingress-nginx我得到:

当我尝试卷曲健康端点时,我得到 Connection denied :

卷曲

pod 的状态表明它们都没有准备好:

我试图在 /etc/nginx/nginx.conf 中增加initialDelaySeconds的值,但是当我尝试执行到容器中时(ks exec -it -n ingress-nginx ingress-nginx-controller-7f48b8-s7pg4 -- bash)我也收到错误错误:无法升级连接:找不到容器(“控制器”)

我不确定我应该在整体设置中查看哪里。

0 投票
0 回答
5 浏览

nginx - nginx-ingress 主机的 404 Not found 错误

我已经部署了一项服务并将其配置为通过 nginx-ingress 主机公开,但是当我尝试调用 APIcurl -i -H "Accept: application/json" -H "Content-Type: application/json" -X GET http://acme.com/api/platforms 时出现错误:

我的理解是,这应该是开箱即用的——我已经在主机文件中添加了一个条目,如下所示:

主机

当我将服务公开为 NodePort 时,它可以正常工作,但是一旦我切换到入口,它就不再可访问(来自 curl 和 Postman)。

我的直接假设是它们是我应该配置的其他东西(特定于 Linux 系统)。我在 Windows 10 PC + minikube 设置上完成了完全相同的部署,在向 Windows 主机文件添加条目后,我可以从 curl 和 Postman 访问 API。

这就是应用入口的方式:

和部署:

唯一的变化是我已从 Windows+minikube 上下文切换到 Debian 10 Server + k0S 部署上下文。

我错过了什么?