我需要将文件树 rsync 到 kubernetes 集群中的特定 pod。如果只有一个人可以说服 rsync 相信 kubectl 的行为有点像 rsh,那似乎应该是可能的。就像是:
rsync --rsh='kubectl exec -i podname -- ' -r foo x:/tmp
Run Code Online (Sandbox Code Playgroud)
...除了这会遇到 x 问题,因为 rsync 假设需要一个主机名:
exec: "x": executable file not found in $PATH
Run Code Online (Sandbox Code Playgroud)
我似乎找不到帮助 rsync 构建 rsh 命令的方法。有没有办法做到这一点?或者可以通过管道实现相对高效的文件传输的其他方法?
(我知道gcloud compute copy-files,但它只能在节点上使用?)
我想构建一个通过 SMB/CIFS 和 NFS 导出用户主目录的服务器。该服务器将加入保存我们用户数据库的 Win2k3 AD 域控制器。据我了解,winbind 将即时为这些用户发明 UID。此用户名-UID 映射需要可用于挂载主目录的 NFS 客户端,否则文件所有权将无法正确显示。
我认为这可以使用 SFU 来实现,但据我所知,SFU 已停产并且不会在最新版本的 Windows 上得到支持,所以我不想使用它。
我如何最好地将此映射提供给 NFS 客户端?
(你会认为这是一个常见的用例,但我找不到相关的方法。我的 Google-fu 可能很弱。)
编辑:顺便说一句,在这种情况下,用户是否可以在没有首先通过 SMB/CIFS 连接的情况下通过 NFS 进行连接?
我的传统是在修改时将所有区域序列设置为时间戳。现在 Puppet 是我的新信仰,我想在从导出的资源构建区域文件时设置串行时间戳。一个有点琐碎的例子可能如下所示:
file { "/tmp/dafile": content = inline_template("<%= Time.now.to_i %>"), }
Run Code Online (Sandbox Code Playgroud)
这种方法的问题在于内容将一直不同,这将(最终)在每个 puppet 配置轮询中引发区域文件的重建。
有什么方法可以插入时间戳而不将其包含在与先前状态进行比较的数据中?
pool.ntp.org 的回复似乎最近发生了变化。这让我的 CentosOS 6 ntp 服务器不满意。
$ host pool.ntp.org
pool.ntp.org has address 0.0.0.2
pool.ntp.org has address 83.209.8.142
pool.ntp.org has address 130.236.254.17
pool.ntp.org has address 195.178.181.98
$ /usr/lib64/nagios/plugins/check_ntp_time -H pool.ntp.org
can't create socket connection#
$ strace -f /usr/lib64/nagios/plugins/check_ntp_time -H pool.ntp.org
...
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("83.209.8.142")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("130.236.254.17")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("195.178.181.98")}, 16) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 5
connect(5, {sa_family=AF_INET, sin_port=htons(123), sin_addr=inet_addr("83.209.8.142")}, …Run Code Online (Sandbox Code Playgroud) 我正在尝试从我的 CentOS 5 主机构建一个新的 CentOS 6 VM,但这些版本之间似乎发生了一些根本性的变化:
$ rpm -ivh --nodeps --nodigest --ignorearch --ignoreos --force --root=/mnt centos-release-6-0.el6.centos.5.i686.rpm
warning: centos-release-6-0.el6.centos.5.i686.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID c105b9de
Preparing... ########################################### [100%]
1:centos-release ########################################### [100%]
error: unpacking of archive failed: cpio: Bad magic
$ rpm --version
RPM version 4.4.2.3
Run Code Online (Sandbox Code Playgroud)
这些版本之间 RPM 的神奇数字是否发生了变化?我该如何解决这个问题?
编辑(澄清):
我不是要升级现有机器。我正在尝试使用 yum --installroot=/mnt groupinstall core 创建新安装。为了获得有效的配置,第一步是安装包含 yum repo 配置的发行版 rpm。
我正在从 Xen 切换到 qemu-kvm。我当前的 Xen 安装有许多 LVM 卷,每个卷都有一个分区(而不是完整的磁盘映像)。在 Xen 中,我使用如下配置启动每个 VM:
kernel = "/boot/vmlinuz-2.6.18-128.4.1.el5xen"
ramdisk = "/boot/initrd-xen-2.6.18-128.4.1.el5xen"
disk = [ 'phy:/dev/vmdata/vm-standalone,sda1,w' ]
Run Code Online (Sandbox Code Playgroud)
我现在想重用这些虚拟机,而是在 kvm 下启动它们。似乎 virt-install--import会让我这样做,使用--boot kernel=<kernel>,initrd=<initrd>,但我不知道如何指示 virt-install 将现有卷附加为引导/根文件系统。这可能吗?
我有一个包含少量节点的 GKE 集群,我希望该集群中的 Pod 能够连接到专用网络上的远程主机,该网络可以通过 GCE 提供的站点到站点 VPN 进行访问。据我所知,没有简单的方法可以为出站连接的 Pod 分配地址吗?(每次添加或更换节点时将每个 pod-cidr 添加到 VPN 配置似乎不太可行。)我是否必须在集群外部设置 NAT 桥,或者是否有某种 Kubernetes 方法来控制出站地址一个吊舱?