小编rel*_*one的帖子

Kubernetes - 使用 Configmap 设置环境变量组

我目前正在做一个项目,我需要设置更多(大约 20 个)环境变量。

现在这些变量应该与 pod 内的多个容器共享。我正在使用 Configmap 来定义值。现在我的问题是这个。我必须单独设置每个环境变量,并且还必须为每个容器都这样做,这非常难看并且有很多不必要的代码。基本上它看起来像这样

kind: Pod
apiVersion: v1
...
containers:
- name: container1
  image: my-image:latest
  env:
  - name: VAR1
    valueFrom:
      configMapKeyRef:
        name: my-config
        key: my-var1
    ...
- name: container2
  image: some-other-image:stable
  env:
  - name: VAR1
    valueFrom:
      configMapKeyRef:
        name: my-config
        key: my-var1
    ...
Run Code Online (Sandbox Code Playgroud)

我想要的是自动将我的 configMap as 和环境变量中的所有值添加到容器中。我的第一种方法是将 configMap 挂载为卷,然后在启动时运行 shell 脚本。类似于这个

配置映射

kind: ConfigMap
apiVersion: v1
...
data:
  envCat.sh: |
    #!/bin/sh
    export $(grep -v '^#' /etc/pod-config/envVars | xargs)
    cat
  envVars
    MY_VAR1="HELLO WORLD!!"
    MY_VAR2="I AM HERE"
Run Code Online (Sandbox Code Playgroud)

kind: …
Run Code Online (Sandbox Code Playgroud)

environment-variables openshift kubernetes configmap

2
推荐指数
1
解决办法
946
查看次数

在 index.d.ts npm 模块中包含自定义类型

我目前正在为mongoose编写一个插件。现在,当我使用 TypeScript 时,我遇到了以下情况。我必须扩展现有的接口。这没有问题。为了完整起见,我还是会写下来

src/typings/mongoose.d.ts

declare module 'mongoose' {
  export interface SomeExistingMongooseInterface {
    MyNewOption?: FancyOptionInterface
  }
}
Run Code Online (Sandbox Code Playgroud)

将通过声明合并扩展现有接口

我在 tsconfig 中包含了 typeRoot

配置文件

"compilerOptions" : {
  ...
  "typeRoots": {
    "src/types",
    "node_modules/@types"
  }
}
Run Code Online (Sandbox Code Playgroud)

在构建我的 npm 模块时,我也使用 --declare 标志来导出类型。现在的问题是,找不到自定义类型。当然,我可以手动将它的内容添加到我的 . /dist/index.d.ts可以工作,但这不是一个真正的选择,因为它不能自动化并且会给错误留下很大的空间。

是否有任何最佳实践可以与打字稿编译器或至少可以处理此问题的 npm 模块一起使用?

interface node.js transpiler typescript

2
推荐指数
1
解决办法
2102
查看次数

深度搜索JSON对象

我目前在json对象中进行深度搜索时遇到问题,尽管我认为这个问题一定已经解决了,但到目前为止我找不到任何真正有用的东西(而且我实际上也发现了很多东西,这个线程。也许我今天看代码已经太久了,但是并没有真正帮助我)

基本上我想要的很简单。我有一个JSON-Object,里面充满了对象。我想要的是一个函数,该函数返回包含所有包含给定键值对的所有对象的数组。我做了这个功能来返回第一个发现的对象,它工作得很好

 deepSearch: function(Obj, Key, Value){
                    var returned = [];
                    var result = false;
                    var searchObj = function(_Obj, _Key, _Value){
                        if(_Obj[_Key]===_Value){
                            return _Obj;    
                        } else {
                            return false;
                        }
                    }
                    result = searchObj(Obj, Key, Value);

                    $.each(Obj, function(key, value){
                        if(typeof(Obj[key]) === 'object' && Obj[key]!== null && !result)
                            result = customGeneralFunctions.objects.deepSearch(Obj[key], Key, Value);
                            if(result) return result;
                    });
                    return result;
                }
Run Code Online (Sandbox Code Playgroud)

现在,我想对其进行更改,以返回包含该对所有对象的数组。我已经尝试了一段时间了,我认为这不会是一个太大的改变,但我只是无法解决这个问题。也许有人对我有帮助。预先感谢和

克里斯问候

javascript recursion search object

1
推荐指数
1
解决办法
1974
查看次数

eksctl“未找到集群”

我目前正在尝试 aws eks,但在通过 eksctl 管理我的集群时遇到了问题。现在通过 eksctl 创建一个集群可以很好地使用

eksctl create cluster --region [region] --name my-cluster
Run Code Online (Sandbox Code Playgroud)

集群正确出现,它也显示在 AWS 控制台 Web GUI 中,但如果我尝试使用它

eksctl get clusters
Run Code Online (Sandbox Code Playgroud)

我得到

未找到集群

我按照文档(EKS 集群)角色中的说明设置了我的角色,并将访问密钥 ID 和秘密访问密钥添加到我的配置中。但这可能是权限的问题吗?如果不是,还能是什么

amazon-web-services amazon-eks eksctl

1
推荐指数
1
解决办法
959
查看次数