【发布时间】:2021-05-02 14:39:14
【问题描述】:
背景: Azure AKS 中有 Cluster A 和 Cluster B。创建一个名为 Agent 的 pod,在集群 A 中的命名空间 test(这是 非默认 命名空间)中运行 linux 容器。在linux容器中,安装了pwsh和kubectl。
操作: 进入集群 A 中的 pod/Agent(kubectl exec -it pod/agent -- bash),获取集群 B 的凭证,配置文件将设置集群名称和用户名,但没有命名空间。
当从 pod/Agent 连接到集群 B,然后执行 kubectl get pods 时,会返回命名空间 test 内的资源,而不是命名空间 default 内的资源。
由于集群 B 中没有名为 test 的命名空间,因此不会返回任何资源。
所以我想知道命名空间 test 在 pod/Agent 中的哪里定义/设置为默认命名空间。
花了一些时间尝试在 github 中研究 kubectl 代码,但没有运气..
我也尝试使用别名,但它仅适用于 bash/sh,不适用于 pwsh,因为我不想更改命令名称 kubectl,如果我使用 alias kubectl='kubectl -n default',pwsh 会陷入循环。
感谢任何答案。
【问题讨论】:
标签: powershell kubernetes kubectl azure-aks kubernetes-pod