小编zoz*_*015的帖子

Ansible:获取逗号分隔值中的主机列表

我在模板中有以下循环:

{% for host in groups['dbnodes'] %}
 {{ hostvars[host]['ansible_eth0']['ipv4']['address'] }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

问题是它给出了 ip 列表中的输出,我需要它以逗号分隔的值。知道如何实现这一目标吗?

我得到的答案是这样的:

10.0.0.190
10.0.0.117
10.0.0.151
Run Code Online (Sandbox Code Playgroud)

但我需要这样的:

10.0.0.190,10.0.0.117,10.0.0.151
Run Code Online (Sandbox Code Playgroud)

jinja2 ansible

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

kubernetes 部署将 Secret 安装为文件夹而不是文件

我有一个配置文件作为 kubernetes 中的秘密,我想将其安装到容器内的特定位置。问题在于,在容器内创建的卷是一个文件夹,而不是其中包含机密内容的文件。有办法解决吗?我的部署如下所示:

kind: Deployment
apiVersion: apps/v1
metadata:
  name: jetty
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: jetty
  template:
    metadata:
      labels:
        app: jetty
    spec:
      containers:
        - name: jetty
          image: quay.io/user/jetty
          ports:
            - containerPort: 8080
          volumeMounts:
          - name: config-properties
            mountPath: "/opt/jetty/config.properties"
            subPath: config.properties
          - name: secrets-properties
            mountPath: "/opt/jetty/secrets.properties"
          - name: doc-path
            mountPath: /mnt/storage/
          resources:
            limits:
              cpu: '1000m'
              memory: '3000Mi'
            requests:
              cpu: '750m'
              memory: '2500Mi'
      volumes:
      - name: config-properties
        configMap:
          name: jetty-config-properties
      - name: secrets-properties
        secret: 
          secretName: jetty-secrets
      - name: doc-path …
Run Code Online (Sandbox Code Playgroud)

volumes kubernetes kubernetes-secrets

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

从文件 sed 注释行号 x 到 y

我有一个软件,在运行 ../configure 时由于某些检查而失败。

我找到了一种手动注释掉 49725-49735 行的方法,然后我就可以很好地安装软件了。

我需要自动编辑配置文件并注释这些行。

有没有人可以给我一个提示如何实现这一目标?

linux bash sed

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

将for循环的输出存储到数组或变量中

我有一个for循环,如下所示.我需要将循环的整个输出添加到数组或变量中.

for i in $ip
do
  curl -s $i:9200
done
Run Code Online (Sandbox Code Playgroud)

知道如何实现这一目标吗?

arrays variables bash for-loop

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

为 kubernetes 集群创建的新服务帐户无法执行到 Pod 中

我有一个脚本可以创建具有特定访问权限的用户。

该脚本运行以下命令:

kubectl create serviceaccount username
kubectl create clusterrole readonlyuser --non-resource-url=* --verb=get,list,watch --resource=pods,pods/attach,pods/exec,pods/port-forward,pods/proxy,services/proxy
kubectl create clusterrolebinding username --serviceaccount=default:username --clusterrole=readonlyuser
kubectl create rolebinding username --serviceaccount=default:username --clusterrole=readonlyuser --namespace=namespace
Run Code Online (Sandbox Code Playgroud)

当我尝试执行该特定命名空间中的 pod 时,我得到以下信息:

Error from server (Forbidden): pods "<podname>" is forbidden: User "system:serviceaccount:default:username" cannot create resource "pods/exec" in API group "" in the namespace "namespace"
Run Code Online (Sandbox Code Playgroud)

知道如何解决这个问题吗?

exec kubernetes kubectl

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