|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
SUSE® Rancher Prime: OS Manager 计划
SUSE® Rancher Prime: OS Manager 使用 Rancher 系统代理,重命名为 SUSE® Rancher Prime: OS Manager 系统代理,最初通过一个简单计划启动节点。
该计划将应用以下配置:
-
为节点设置一些标签
-
根据
MachineInventory值设置正确的主机名 -
从 Rancher 服务器安装默认的 Rancher 系统代理,并安装适当的 Kubernetes 组件
启动服务还接受存储在 /var/lib/elemental/agent/plans 下的本地计划。安装完成后,存放在那里的任何计划也将在初始节点启动时被应用。
|
本地计划仅在节点上安装 Kubernetes 之前的初始 SUSE® Rancher Prime: OS Manager 启动 *期间*运行。 |
计划类型
SUSE® Rancher Prime: OS Manager 可以使用的计划类型有:
-
一次性指令:仅运行一次
-
定期指令:它们定期运行
-
文件:创建文件
-
探测:HTTP 探测
|
一次性指令和定期指令都可以运行直接命令或 Docker 镜像。 |
在 SUSE® Rancher Prime: OS Manager 上添加本地计划
您可以将本地计划作为 MachineRegistration CRD 的一部分添加到 SUSE® Rancher Prime: OS Manager,在 cloud-config 部分如下所示:
apiVersion: elemental.cattle.io/v1beta1
kind: MachineRegistration
metadata:
name: my-nodes
namespace: fleet-default
spec:
config:
cloud-config:
users:
- name: root
passwd: root
write_files:
- path: /var/lib/elemental/agent/plans/mycustomplan.plan
permissions: "0600"
content: |
{"instructions":
[
{
"name":"set hostname",
"command":"hostnamectl",
"args": ["set-hostname", "myHostname"]
},
{
"name":"stop sshd service",
"command":"systemctl",
"args": ["stop", "sshd"]
}
]
}
elemental:
install:
reboot: true
device: /dev/sda
debug: true
machineName: my-machine
machineInventoryLabels:
element: fire
计划示例
以下计划仅作为快速参考,不能保证在您的环境中有效。要了解更多关于计划的信息,请查看https://github.com/rancher/system-agent[Rancher 系统代理]。
-
示例1:一次性指令
-
示例2:定期指令
-
示例3:文件
-
示例4:探测
{"instructions":
[
{
"name":"set hostname",
"command":"hostnamectl",
"args": ["set-hostname", "myHostname"]
},
{
"name":"stop sshd service",
"command":"systemctl",
"args": ["stop", "sshd"]
}
]
}
{"periodicInstructions":
[
{
"name":"set hostname",
"image":"ghcr.io/rancher-sandbox/elemental-example-plan:main"
"command": "run.sh"
}
]
}
{"files":
[
{
"content":"Welcome to the system",
"path":"/etc/motd",
"permissions": "0644"
}
]
}
{"probes":
"probe1": {
"name": "Service Up",
"httpGet": {
"url": "http://10.0.0.1/healthz",
"insecure": "false",
"clientCert": "....",
"clientKey": "....",
"caCert": "....."
}
}
}