小编Tin*_*goi的帖子

如何通过yaml将秘密文件设置为kubernetes的秘密?

我想在Kubernetes Secrets中存储文件,但我还没有找到如何使用yaml文件来完成它.

我已经能够使用cli来实现kubectl:

kubectl create secret generic some-secret --from-file=secret1.txt=secrets/secret1.txt
Run Code Online (Sandbox Code Playgroud)

但当我尝试类似的东西yaml:

apiVersion: v1
kind: Secret
metadata:
  name: some-secret
type: Opaque
data:
  secret1.txt: secrets/secret1.txt
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

[pos 73]: json: error decoding base64 binary 'assets/elasticsearch.yml': illegal base64 data at input byte 20
Run Code Online (Sandbox Code Playgroud)

我正在按照本指南http://kubernetes.io/docs/user-guide/secrets/.它解释了如何使用a yaml而不是如何使用文件创建秘密来创建秘密yaml.

可能吗?如果是这样,我该怎么办?

yaml kubernetes kubernetes-secrets

26
推荐指数
4
解决办法
3万
查看次数

从kubectl logs -f的巨大日志中拖出几行

kubectl logs -f pod显示从头开始的所有日志,当日志很大时它会成为问题,我们必须等待几分钟才能获得最后一个日志.从远程连接时,它变得更加糟糕.有没有办法可以为最后100行日志留下日志并跟踪它们?

tail kubernetes kubectl

19
推荐指数
4
解决办法
2万
查看次数

每次键入kubectl --all-namespaces的快捷方式

我们是否可以为全命名空间设置别名,因为kubectl无法识别该命令kubectl --all-namespaces或任何类型的快捷方式以最小化整个命令的键入。

bash shell kubernetes kubectl

10
推荐指数
2
解决办法
1467
查看次数

有没有办法将Kubernetes秘密值放在yaml文件的args字段中

我有一个kubernetes yaml部署文件,它接受db用户名和密码作为参数,如下所示.

args:
        - "-db_host=postgres"
        - "-db_port=5432"
        - "-db_username=postgres"
        - "-db_password=postgres"
Run Code Online (Sandbox Code Playgroud)

为了隐藏db_username和db_password的值,我想到了使用kubernetes的秘密类型.但要实现这一点,我必须将db_username和db_password作为环境变量,以便我可以使用它,如下所示:

args:
        - "-db_host=postgres"
        - "-db_port=5432"
env:
        - name: db_username
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: db-user
        - name: db_password
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: db-pass
Run Code Online (Sandbox Code Playgroud)

我们有什么方法可以在args中使用秘密,这样我就不必采用第二种方法了.

kubernetes kubernetes-security kubernetes-secrets

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

如何在golang模板中检查字符串的空值

我在golang模板代码段下面有这个代码,我在其中从类型映射中获取值,map[string]interface{}并检查该字符串是否为空,但是我的字符串空检查失败为: template: apps.html:62:29: executing "apps.html" at <eq $src "">: error calling eq: invalid type for comparison。我也尝试打印空值并将其呈现为,<nil>但是我的{{if eq $src "<nil>"}}检查也失败了,即使我放了nil它也失败了。有没有更好的方法来实现这一目标。

    {{$src := (index . "source")}}
    {{$tar := (index . "target")}}
    {{if eq $src ""}}
          <div></div>
    {{else}}
          <div style="display:none;">
              <input id="username" name="source" value="{{ $src }}"/>
              <input id="username" name="target" value="{{ $tar }}"/>
          </div>
    {{end}}
Run Code Online (Sandbox Code Playgroud)

string go go-templates

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

将带有AWS市场代码的CentOS根卷附加到其他CentOS EC2实例时,另一个实例将使用附加的根卷启动

我在ec2实例中弄乱了系统的根卷,因此将该实例的根卷附加到其他ec2实例上,以便可以访问错误的根卷并纠正我的错误。当我启动另一个实例时,搞砸的根卷将成为该实例的根卷。我将卷附加为/ dev / sdb(内核将其更改为/ dev / xvdf),实例原始根卷位于/ dev / sda(内核将其更改为/ dev / xvde)。因此内核应将/ dev / xvde作为根文件系统加载,但其加载会破坏根卷(/ dev / xvdf)。

系统的系统日志片段如下:

dracut:启动普利茅斯守护进程

xlblk_init:register_blkdev专业:202

blkfront:xvdf:禁用障碍

xvdf:未知分区表

blkfront:xvde:禁用障碍

xvde:未知分区表

EXT4-fs(xvdf):已安装的文件系统,具有有序数据模式。选择:

dracut:挂载的根文件系统/ dev / xvdf

linux centos amazon-ec2 amazon-web-services centos6.5

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