5.2. 查看 Ignition 配置文件


要查看用于部署 bootstrap 机器的 Ignition 配置文件,请运行以下命令:

$ openshift-install create ignition-configs --dir $HOME/testconfig

回答几个问题后,您所在的目录中将出现 bootstrap.ignmaster.ignworker.ign 文件。

要查看 bootstrap.ign 文件的内容,请通过 jq 过滤器对其进行管道传递。以下是该文件的片段:

$ cat $HOME/testconfig/bootstrap.ign | jq

\\{

  "ignition": \\{

        "config": \\{},

…​

  "storage": \\{

        "files": [

          \\{

            "filesystem": "root",

            "path": "/etc/motd",

            "user": \\{

              "name": "root"

            },

            "append": true,

            "contents": \\{

              "source": "data:text/plain;charset=utf-8;base64,VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2UgaXMgImJvb3RrdWJlLnNlcnZpY2UiLiBUbyB3YXRjaCBpdHMgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IGJvb3RrdWJlLnNlcnZpY2UK",

要解码 bootstrap.ign 文件中列出的文件内容,请将代表该文件内容的 base64 编码的数据字符串通过管道传递给 base64 -d 命令。以下示例使用了上方输出中添加至 bootstrap 机器的 /etc/motd 文件的内容:

$ echo VGhpcyBpcyB0aGUgYm9vdHN0cmFwIG5vZGU7IGl0IHdpbGwgYmUgZGVzdHJveWVkIHdoZW4gdGhlIG1hc3RlciBpcyBmdWxseSB1cC4KClRoZSBwcmltYXJ5IHNlcnZpY2UgaXMgImJvb3RrdWJlLnNlcnZpY2UiLiBUbyB3YXRjaCBpdHMgc3RhdHVzLCBydW4gZS5nLgoKICBqb3VybmFsY3RsIC1iIC1mIC11IGJvb3RrdWJlLnNlcnZpY2UK | base64 -d

这是 bootstrap 机器,将在 master 完全启动后销毁。

主要服务是“bootkube.service”。要查看其状态,请运行如下命令:

journalctl -b -f -u bootkube.service

master.ignworker.ign 文件重复这些命令,查看每种机器类型的 Ignition 配置文件的来源。 对于 worker.ign,您应该会看到类似于下面这一行,它确认了如何从 bootstrap 获取 Ignition 配置:

"source": "https://api.myign.develcluster.example.com:22623/config/worker",

您可以从 bootstrap.ign 文件中了解到以下内容:

  • 格式:文件的格式在 Ignition 配置规范中定义。MCO 稍后使用相同格式的文件,将更改合并到机器的配置中。
  • 内容:由于 bootstrap 机器为其他机器提供 Ignition 配置,因此 master 机器和 worker 机器的 Ignition 配置信息都与 bootstrap 机器的配置一起存储在 bootstrap.ign 中。
  • 大小:文件长度超过 1300 行,包含指向各种资源的路径。
  • 要复制到机器的每个文件的内容实际上编码为数据 URL,这往往会使内容读起来有些混乱。(使用前面演示的 jq 和 base64 命令可使内容更易读。)
  • 配置:Ignition 配置文件的不同部分通常涵盖刚放入机器文件系统中的文件,而不是用于修改现有文件的命令。例如,不添加与配置该服务的 NFS 相关的一节,是仅添加一个 NFS 配置文件,然后在系统启动时由 init 进程启动该文件。
  • 用户:创建一个名为 core 的用户,并将您的 ssh 密钥分配给该用户。这样,您可以使用该用户名和凭证来登录集群。
  • 存储:存储部分标识添加到每台机器的文件。一些值得注意的文件包括 /root/.docker/config.json(提供集群从容器镜像 registry 表拉取时所需的凭证),以及 /opt/openshift/manifests 中用于配置集群的一系列清单文件:
  • systemd:systemd 部分包含用于创建 systemd 单元文件的内容。这些文件用于在启动时启动服务,还用于在运行中的系统上管理这些服务。
  • 原语:Ignition 还公开低级别原语,其他工具可以此为基础进行构建。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.