我有一个PowerShell脚本,我想在一些Azure AKS节点(运行Windows)上运行它来部署一个安全工具。软件供应商没有为此设置守护进程。我该怎么做呢?
万分感谢Abdel
这里也有人问过类似的问题。用户philipwelz写道:
,
虽然有办法做到这一点,我建议你不要这样做。原因是AKS设置不允许在AKS节点上直接执行容器内的脚本。这将意味着一个巨大的安全问题。
我建议找到一种方法直接在你的节点上执行你的脚本,例如使用PowerShell远程或任何适合你的方法。
BR,菲利普
这个用户是正确的。您应该避免在AKS节点上执行脚本。在你的情况下,如果你想部署Prisma云,你需要使用以下文档。你是对的,安装脚本只在Linux上工作:
安装脚本只能在Linux主机上运行。
但是,对于Windows和Mac软件,你有特定的yaml文件:
对于macOS和Windows主机,使用twistcli生成Defender DaemonSet YAML配置文件,然后使用kubectl进行部署,如下所示。
整个过程在我引用的文档中有详细的描述。注意第三步和第四步。如您所见,不需要运行任何powershell脚本:
步骤3:
- 生成防御器。
The following command connects to Console (specified in [--address](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/install/install_kubernetes.html#)) as user <ADMIN> (specified in [--user](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/install/install_kubernetes.html#)), and generates a Defender DaemonSet YAML config file according to the configuration options passed to [twistcli](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/install/install_kubernetes.html#). The [--cluster-address](https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/install/install_kubernetes.html#) option specifies the address Defender uses to connect to Console.
$ <PLATFORM>/twistcli defender export kubernetes
--user <ADMIN_USER>
--address <PRISMA_CLOUD_COMPUTE_CONSOLE_URL>
--cluster-address <PRISMA_CLOUD_COMPUTE_HOSTNAME>
- <PLATFORM> can be linux, osx, or windows.
- <ADMIN_USER> is the name of a Prisma Cloud user with the System Admin role.
,然后第4步:
kubectl create -f ./defender.yaml
我认为以上答案不完全正确。
twistcli命令,不导出Windows节点的daemonset。"PLATFORM"选项,用于选择要运行该命令的计算机的操作系统。
经过测试,我得出的结论是,在Windows Kubernetes节点的Prisma Cloud上没有Docker镜像,因为它是作为服务部署在Windows操作系统上的,而不是容器(如Linux)。总结一下,在Windows主机
上守护进程不工作。我相信唯一的解决方案是这个->Windows
这是Wytrzymały Wiktor提到的Powershell脚本。不幸的是,这不能很容易地自动化,因为你必须为每个AKS集群部署一个Azure VM(在同一网络上),并将RDP发送到AKS Windows节点并运行脚本。
如果有人有其他建议或解决方案,请随时分享。