问题标签 [kubernetes-namespace]

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 回答
46 浏览

kubernetes - 命名空间 PodNodeSelector 对现有正在运行的 pod/statefulsets 没有影响

我在裸机上有 kubernetes 集群,我希望在逻辑上分离节点,其中 DEV 环境将在功率较小的机器上,而生产环境将在最强大的机器上。我实现了准入控制器的 PodNodeSelector。它在新创建的命名空间上运行良好,但在现有命名空间上,编辑和添加注释到 Statefulset 上的所有现有 pod 都不会进入指定的强大机器,只是继续运行。如何在不重新创建或删除 pod/Statefulsets 的情况下应用新注释并对 Statefulset 产生影响,无法承受 Elassandra 的停机时间

0 投票
1 回答
479 浏览

kubernetes - 由于 ownerReferences 指向 kubernetes 中不同命名空间中的资源,pod 被终止

从 kubernetes 1.20 开始ownerReferences,K8s 执行 GC 以及如何执行 GC 发生了变化。基本上,如果命名空间中的资源在x命名空间中启动了一个 pod/job,y而 childownerReferences引用了 中的父资源x,K8s 会终止子 pod/job。

参考

  • 当遇到数据不正确的 ownerReferences 时,解决垃圾收集控制器的非确定性行为。当检测到子对象和所有者对象之间的命名空间不匹配时,会记录具有 OwnerRefInvalidNamespace 原因的事件。kubectl-check-ownerreferences 工具可以在升级之前运行以定位具有无效 ownerReferences 的现有对象。
    • 具有 ownerReference 的命名空间对象引用了同一命名空间中不存在的命名空间类型的 uid,现在始终将其视为该所有者不存在,并删除子对象。
    • 具有引用命名空间类型的 uid 的 ownerReference 的集群范围对象现在始终被视为该所有者不可解析,并且垃圾收集器将忽略子对象。(#92743,@liggitt)[SIG API 机械、应用程序和测试]

如果我们删除ownerReferences,资源将不会被垃圾收集。有没有办法处理这种情况,即;如何ownerReferences在多个命名空间中工作或让作业/pod 在完成后自行清理?谢谢。

0 投票
1 回答
117 浏览

kubernetes - Kubernetes Egress 调用限制与命名空间

我有在 K3s 中运行的应用程序,并且只想实现基于命名空间的网络策略。

假设目前我有三个命名空间 A、B 和 C。我想允许出口(从 pod 到 Internet 的外部调用)并且应该阻止/拒绝namespace-A剩余的出口调用。这在 Kubernetes 网络策略中是否可行(而不是 calico 或 cilium)?namespace[B & C]

0 投票
1 回答
282 浏览

kubernetes - 无法删除 Kubernetes 命名空间 - 删除终结器失败

我的 Kubernetes 集群中有一个无法删除的命名空间。当我运行时kubectl get ns traefik -o yaml,我得到以下信息:

当我运行时kubectl delete ns traefik --v=10,最后的输出如下:

我已经尝试按照https://www.ibm.com/docs/en/cloud-private/3.2.0?topic=console-namespace-is-stuck-in-terminating-state中的描述删除终结器,但经过一些秒我终于得到EOF

有人知道如何删除 traefik 命名空间吗?

0 投票
1 回答
115 浏览

kubernetes - Azure AKS:如何避免在集群创建期间在“默认”命名空间中创建资源

我正在尝试在 Azure AKS 中创建一个 K8s 集群,当集群准备就绪时,我可以看到在default命名空间中创建了几个资源。示例秘密,配置图:

在此处输入图像描述

作为安全建议,不应在命名空间下创建任何 k8s 资源,default那么如何避免呢?它是在集群创建期间默认创建的。

0 投票
0 回答
75 浏览

kubernetes - 基于标签限制对命名空间的访问

我有一个包含许多现有命名空间的集群,以及一个使用 Terraform 创建(和管理)新命名空间的自动化过程。

用于 TF 的服务帐户获得了具有所有命名空间权限的角色 - 因为我相信这是唯一可能的解决方案(TF 需要它们来管理命名空间)。
但正因为如此,它还能够在 Terraform 处理之外修改(和删除)之前创建的命名空间——这是我想阻止/阻止的事情。

所以这是我的问题 - 是否可以限制这个自动化过程修改已经存在的命名空间?
区分新旧命名空间的想法是简单地向 TF 创建的新命名空间添加标签,但我不知道有任何机制可以禁止基于此类标签进行修改......

*准入控制器似乎很合适,但我对该主题完全陌生,不确定是否可以将其用于此类目的。