小编pla*_*mer的帖子

Ansible IP地址变量 - 主机部分

我有以下问题:

我在Ansible的命令行上编写用于设置IP地址的playbook.让我们说10.10.10.x. 我需要获取我的公共IP的最后一部分,然后说xxx15并将其分配给私有:10.10.10.15.这有变量吗?我能抓到一些吗?我试过用类似的东西:

shell: "ip addr show | grep inet ...." 
register: host_ip
Run Code Online (Sandbox Code Playgroud)

但这不是我需要的.它可以工作,但仅限于有限数量的服务器.

整个事情应该是这样的:

"shell: /dir/script --options 10.10.10.{{ var }}"
Run Code Online (Sandbox Code Playgroud)

{{ var }}应成为公共知识产权的主机部分.

编辑:

谢谢!这是我的最终解决方案:

- name: Get the host part of the IP 
  shell: host {{ ansible_fqdn }} | awk '{print $4}' 
  register: host_ip 
Run Code Online (Sandbox Code Playgroud)

{{ host_ip.stdout.split('.')[3] }}
Run Code Online (Sandbox Code Playgroud)

稍后在剧本中使用它.

variables ip shell ansible

12
推荐指数
2
解决办法
3万
查看次数

Kubernetes - kubectl exec bash - 会话丢弃和线宽

我有一个 k8s 集群,前面有 3 个仆从,master 和 haproxy。当我使用

kubectl exec -p $POD -i -t -- bash -il
Run Code Online (Sandbox Code Playgroud)

为了访问 pod 中的 bash(在这种情况下它是单个容器),我进入并在大约 5 分钟后退出终端。如果我重新进入容器,我可以看到我的旧 bash 进程正在运行,并为我的新连接启动了一个新进程。有没有办法防止这种情况发生?当我使用 docker exec 时,它工作正常并且不会让我掉线,所以我猜它来自 kubernetes。

作为奖励问题 - 有没有办法在使用 kubectl exec 时增加每行的字符数?我得到了与 docker exec 不同的截断输出。

提前致谢!

bash docker kubernetes

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

Kubernetes存储在裸机/私有云上

我刚刚开始在2个私有云服务器上的2节点(master-minion)设置上使用Kubernetes.我已经安装了它,做了基本的配置,并让它运行从主人到仆从的一些简单的pod /服务.

我的问题是:

如果不使用Google Cloud,如何在pod中使用持久存储?

对于我的第一次测试,我运行了一个Ghost Blog pod,但如果我撕掉了pod,则更改将丢失.尝试向pod添加卷,但实际上无法找到有关如何在GC上执行操作的文档.

我的尝试:

apiVersion: v1beta1
id: ghost
kind: Pod
desiredState:
  manifest:
    version: v1beta1
    id: ghost
    containers:
      - name: ghost
        image: ghost
        volumeMounts:
          - name: ghost-persistent-storage
            mountPath: /var/lib/ghost
        ports:
          - hostPort: 8080
            containerPort: 2368
    volumes:
      - name: ghost-persistent-storage
        source:
          emptyDir: {}
Run Code Online (Sandbox Code Playgroud)

发现:在Kubernetes上持久安装MySQL和WordPress

无法弄清楚如何在我的测试安装中添加存储(NFS?).

storage persistent kubernetes kubernetes-pod

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

Golang内存分配测试

我正在尝试用我的“程序”分配内存 - 只是分配它并留在那里 - 出于测试目的。当我在 MacOS 上运行它时,活动监视器显示它分配了 1.6 GB,当我为 Linux 编译并运行它时,它什么也不做 - 它打印消息,但机器上没有使用 ram。我做错了吗?有没有更好的办法?这是我的代码:

package main


import (
    "fmt"
    "unsafe"
    "time"
)


func main() {
    var buffer [100 * 1024 * 1024]string
    fmt.Printf("The size of the buffer is: %d bytes\n", unsafe.Sizeof(buffer))
    time.Sleep(300 * time.Second)
}
Run Code Online (Sandbox Code Playgroud)

首先,我使用 byte 作为数组类型,但它在我的 mac 上不起作用?

memory allocation go

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