如何将文件从本地磁盘复制到AKS VMSS(所有Azure虚拟机比例集) [英] How to copy a file from local disk to AKS VMSS (All Azure Virtual Machine Scale Sets)

查看:0
本文介绍了如何将文件从本地磁盘复制到AKS VMSS(所有Azure虚拟机比例集)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要将本地文件(临时或在发布过程中)复制到VMSS/Node或至少VMSS的附加磁盘。

如何将本地文件复制到VMSS/Node上的远程目录位置?特别是从命令行,以便它可以在发布管道(PowerShell等)中发生。

我读过使用SCP的例子,但没有关于如何在Azure中使用VMSS具体实现这一点的信息。username@hostname不适用于此,还是我遗漏了什么?

我想每次扩展时,以前复制的文件将在每个虚拟机中可用,因此不需要在每个扩展事件中都发生这种情况?

AKS

您可以使用特权容器Podhere详细设置推荐答案到AKS节点。一旦您将SSH-d添加到节点中,对于Linux节点,您可以使用以下命令将文件从您的本地计算机复制到AKS节点:

kubectl get pods
NAME                                                    READY   STATUS    RESTARTS   AGE
node-debugger-aks-nodepool1-xxxxxxxx-vmssxxxxxx-xxxxx   1/1     Running   0          21s

kubectl cp /source/path node-debugger-aks-nodepoolname-xxxxxxxx-vmssxxxxxx-xxxxx:/host/path/to/destination

[注意:在目标中,请记住在主机上的所需目标路径前面加上/host]

对于Windows节点,一旦详细设置了SSH连接here,您就可以使用以下命令将文件从本地计算机复制到Windows节点:

scp -o 'ProxyCommand ssh -p 2022 -W %h:%p azureuser@127.0.0.1' /source/path azureuser@<node-private-IP>:/path/to/destination

Reference for kubectl cp command


我想每次扩展时,以前复制的文件将在每个虚拟机中可用,因此不需要在每个扩展事件中都发生这种情况?

相反,当AKS节点池向外扩展时,将从VMSS Model创建VMSS实例。此模型由Microsoft.ContainerService资源提供程序定义。有关VMSS模型和实例视图的详细信息here

对节点的文件系统进行任何更改时,更改应仅适用于相应的VMSS实例。如果节点经历节点映像升级、Kubernetes版本升级或协调操作,则不会持久执行此类手动更改。此外,如果此节点被AKS群集缩减,则更改将丢失。

我们建议将DaemonSets与读写hostPath卷装载结合使用,以便在主机节点上向其中添加文件。由于DaemHimp是一个Kubernetes构造,并且DaemHimp控制器在每个节点(虚拟节点除外;Reference)上创建DaemInstall的一个副本,因此即使该节点经历了更新或协调操作,也应始终是可避免的。当扩展节点池时,新节点还将获得每个守护程序集的副本。


一般来说,对于Azure虚拟机比例集,在本地计算机和Azure VMSS实例之间复制文件的最简单方法是:

  • scp:如果VMSS是使用az vmss create命令的--public-ip-per-vm参数或Microsoft.Compute/virtualMachineScaleSets资源的API版本创建的,则至少为2017-03-30,并且向Scale SetipConfigurations部分添加了publicIpAddressConfigurationJSON属性。例如:
     "publicIpAddressConfiguration": {
         "name": "pub1",
         "properties": {
          "idleTimeoutInMinutes": 15
         }
     }
    
  • 如果VMSS实例没有自己的公共IP,或者从Azure负载均衡器(将VMSS作为其后端池)分配了公共IP地址,则在与VMSS相同的虚拟网络中创建一个Jumpbox VM。现在,您可以使用跳箱VM的公有IP在本地计算机和跳箱VM之间进行SCP,并使用专用IP地址在跳箱VM和VMSS实例之间进行SCP。

这篇关于如何将文件从本地磁盘复制到AKS VMSS(所有Azure虚拟机比例集)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆