我想在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.
可能吗?如果是这样,我该怎么办?
kubectl logs -f pod显示从头开始的所有日志,当日志很大时它会成为问题,我们必须等待几分钟才能获得最后一个日志.从远程连接时,它变得更加糟糕.有没有办法可以为最后100行日志留下日志并跟踪它们?
我们是否可以为全命名空间设置别名,因为kubectl无法识别该命令kubectl --all-namespaces或任何类型的快捷方式以最小化整个命令的键入。
我有一个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中使用秘密,这样我就不必采用第二种方法了.
我在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) 我在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
kubernetes ×4
kubectl ×2
amazon-ec2 ×1
bash ×1
centos ×1
centos6.5 ×1
go ×1
go-templates ×1
linux ×1
shell ×1
string ×1
tail ×1
yaml ×1