Dan*_*ijo 23 namespaces kubernetes configmap
我们为开发环境使用一个命名空间,为登台环境使用一个命名空间。在每个命名空间中,我们都有几个 configMaps 和 secrets,但是这两个环境之间有很多共享变量,因此我们希望为它们创建一个公共文件。
有没有办法将基本 configMap 放入默认命名空间并使用以下内容引用它:
- envFrom:
- configMapRef:
name: default.base-config-map
Run Code Online (Sandbox Code Playgroud)
如果这是不可能的,除了通过命名空间复制变量之外,还有其他方法吗?
Cro*_*rou 23
它们无法共享,因为无法从其命名空间之外的 pod 访问它们。资源名称在一个命名空间内必须是唯一的,但跨命名空间不能。
解决方法是复制它。
在命名空间之间复制机密
$ kubectl get secret <secret-name>? --namespace=<source-namespace>?--export -o yaml | kubectl apply?--namespace=<destination-namespace> -f -
在命名空间之间复制配置映射
$ kubectl get configmap <configmap-name> ?--namespace=<source-namespace>?--export -o yaml | kubectl apply?--namespace=<destination-namespace> -f -
标志export已在 1.14 中弃用 来自 get 命令的弃用 --export 标志 #73787
可以使用以下命令:
kubectl get secret <secret-name> --namespace=<source-namespace>? -o yaml | sed 's/namespace: <from-namespace>/namespace: <to-namespace>/' | kubectl create -f -
如果有人仍然认为需要该标志,那么@zoidbergwill编写的导出脚本 做得很好。
| 归档时间: |
|
| 查看次数: |
14189 次 |
| 最近记录: |