问题标签 [daemonset]
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 - 相同 DaemonSet K8s 的 2 种不同服务
我想知道是否有办法为特定节点上的 pod 创建服务。例如:
假设我有一个包含 4 个工作节点 [compute-0 ... compute-3] 的集群。
节点“compute-0”和“compute-1”有一个标签“app=firstApplication”
节点“compute-2”和“compute-3”具有不同的标签“app=secondApplication”
我有一个在所有 4 个节点上运行的守护程序集。
我想创建 2 个服务,每个节点一个。这有可能吗?
谢谢!
编辑
我们尝试这样做的原因是我们有一个 Openshift4.6 集群,出于安全原因,我们在 2 组节点之间封锁了 VXLAN 端口。当 pod 尝试使用默认 dns 服务 (172.30.0.10) 解析 DNS 查询时,有时它们会访问被屏蔽节点上的 dns pod。
kubernetes - 使用 daemonSet 在 containerd 运行时清除 Kubernetes 图像缓存
我正在尝试以固定的节奏从本地 kubernetes 缓存中清除图像。在您可以在 daemonSet 上设置一些 volumeMounts 并直接与 docker 运行时对话之前。
最新的运行时基于 containerd,但我似乎无法使用 containerd.sock 进行连接 - 当我运行ctr image ls
或nerdctl
它显示为节点上没有运行或图像时。它也不会返回任何错误。
是否有其他方法可以从 daemonSet 上运行的 containerd 运行时手动清除?
kubernetes - Kubernetes pod fluentd 转发到 fluentd DaemonSet
正如我们所知,我们可以在 EKS 中将 fluentd 部署为 DaemonSet
它可以记录 pod 中的所有 stdout / stderr
但是,如果一个 php 应用程序将日志写入文件,DaemonSet 中的 fluentd 将无法捕获文件的内容
我们如何实现它?
我想把另一个 fluentd 容器放入 pod,然后跟踪日志文件,然后将其转发给 DaemonSet 中的其他 fluentd
例如
可能吗
以及如何实现?
kubernetes - 为什么当 CrashLoopBackOff pod 超过 maxUnavailable 时 k8s 滚动更新没有停止更新
我正在尝试使用 k8s daemonset 的滚动更新来在 daemonset 的 spec.template 字段发生更改时进行自动滚动更新。我故意为 pod 放置了一个无效的图像,以使 pod 无法正确启动。我想当不可用 pod 的数量超过maxUnavailable
. 不幸的是,这并没有发生,并且 pod 会保持更新,直到所有 pod 进入 CrashLoopBackOff。
我在 3 个节点环境中运行测试:kubectl get node -A
我在: CrashLoopBackOff 时如何自动停止滚动更新? 但这里是 daemonSet 不是部署。
正如线程中所建议的,我添加了
为了确保容器运行良好以设置 pod 可用或不可用状态。
然而,最后的 3 个吊舱都崩溃了
第一个部署的 pod 不健康超过 120 秒,它应该不可用。然而,更新并没有像预期的那样停止,它一直持续到所有的 Pod 都被 replca 但崩溃了:
完整的 daemonset 规范 YAML:kubectl get ds -n nsx-system nsx-node-agent -o yaml
ds 输出如下: kc get ds -n nsx-system -w
我不明白为什么当不可用的 pod 数量超过 maxUnavailable: 1 时 k8s 没有停止。
另外:我们看到 pods 的年龄远远超过 minReadySeconds
看来,k8 的滚动更新策略不符合定义的规范?滚动更新时不应允许这种情况发生。
kubernetes - 允许 K8S daemonset 存在于全局 pid 命名空间中
我正在尝试将守护进程配置为在全局 pid 命名空间上运行,从而能够查看主机中的其他进程,包括容器的进程。
我找不到实现这一目标的选项。一般来说,我正在寻找的shareProcessNamespace
只是在主机级别接近 sidecar 容器属性。
amazon-web-services - AWS Xray DaemonSet Pod 错误:无法启动容器“xray-daemon”:来自守护程序的错误响应:OCI
我正在尝试在 EKS Kubernetes 集群中设置AWS Xray Daemonset 。
问题是“xray-daemon” pod 无法以“CrashLoopBackOff”状态启动。
当我检查daemonse t pod 的日志时,显示以下错误:
重现步骤:
首先,我使用AWSXRayDaemonWriteAccess创建 IAM 服务账户
然后我尝试使用这个“xray-k8s-daemonset.yml”文件创建xray daemonset:
我确定角色 arn 是正确的(我在 AWS 控制台中检查了 arn)
kubernetes - Metricbeat:多个自动发现
在 Kubernetes 中,有没有办法让 Metricbeat 的 Daemonset 具有多个模块,并且每个模块都有不同的自动发现触发器?例如,我想对 Kube 系统指标使用基于提示的自动发现,但对 RabbitMQ 模块使用基于模板的自动发现,如果没有多个 DaemonSet,这可能吗?
daemonset - hostNetwork 为 true 的两个 daemoments
我正在尝试使用 hostNetwork: true 部署两个守护程序集。第一个部署成功,但第二个要么处于“待定”状态,要么处于 CrashBackoffLoop。这在 Kubernetes 中是不允许的吗?如果是这样,为什么?出于某些目的收集网络信息的用例。换句话说,只读目的
顺便说一句,为了隔离问题,我将守护程序集减少到最小。我有两个文件,它们仅在应用名称和标签上有所不同。
kubernetes - 网络策略不适用于 daemonset pod
网络策略是否适用于 daemonset 的 pod?我对所有 Pod 的所有入口和出口都有一个默认的拒绝网络策略。但是,它似乎不适用于属于 daemonset 的 pod。
kubernetes - Kubernetes 守护程序集在 AWS EKS 1.21 中根本没有运行
我将AWS EKS 1.21 与 Fargate (serverless) 一起使用。我正在尝试将 Fluentd 作为守护程序集运行,但是守护程序集根本没有运行。
所有其他对象(如角色、角色绑定、服务帐户、配置映射)都已在集群中就位。
这是我的守护进程:-
当我描述它时,我也没有看到任何事件。我可以在这个集群上运行其他 pod,比如 Nginx 等,但这根本没有运行。
配置图:-
请告诉我问题出在哪里,谢谢