CoreOS 配置工具 Ignition 官方示例

CoreOS 配置工具已由 Ignition 代替 cloud-config

GitHub:https://github.com/coreos/ignition

使用 Ignition 需要两步:

  • 第一步编写 Container Linux Config ( yaml 格式 )
  • 第二步使用 container-linux-config-transpilerContainer Linux Config 转化为 Ignition Config (json 格式)
$ ct-v0.5.0-x86_64-apple-darwin -in-file ignition.yaml  > ignition.json

container-linux-config-transpiler 安装方法:

https://github.com/coreos/container-linux-config-transpiler/releases 下载二进制文件移入 PATH,并赋予可执行权限之后即可使用。

官方文档:https://coreos.com/os/docs/latest/overview-of-ct.html

常用配置举例

etcd

etcd:
  name:                        coreos3
  discovery: https://discovery.etcd.io/249ea9815631abc753fe4a4743f147d2
  advertise_client_urls:       http://192.168.57.102:2379
  initial_advertise_peer_urls: http://192.168.57.102:2380
  listen_client_urls:          http://192.168.57.102:2379,http://0.0.0.0:4001
  listen_peer_urls:            http://0.0.0.0:2380

网络配置

通过与网络接口名称( enp0s3 等)匹配来设置静态或动态 IP 地址

networkd:
   units:
     - name: 10-static.network
       contents: |
         [Match]
         Name=enp0s3

         [Network]
         Address=192.168.57.102/24
     - name: 20-dhcp.network
       contents: |
         [Match]
         Name=enp0s8

         [Network]
         DHCP=yes

用户

passwd:
  users:
    - name: core
      ssh_authorized_keys:
        - ssh-rsa SSH_PUB
      groups:
        - wheel
        - sudo
        - docker

systemd unit

systemd:
  units:
    - name: settimezone.service
      enable: true
      contents: |
        [Unit]
        Description=Set the time zone

        [Service]
        ExecStart=/usr/bin/timedatectl set-timezone  PRC
        RemainAfterExit=yes
        Type=oneshot

文件

storage:
  files:
    - filesystem: "root"
      path:       "/etc/hostname"
      mode:       0644
      contents:
        inline: coreos3
    - filesystem: "root"
      path:       "/etc/resolv.conf"
      mode:       0644
      contents:
        inline: |
          nameserver 114.114.114.114

示例文件

https://github.com/khs1994-docker/coreos/blob/master/disk/ignition-1.example.yaml

相关链接

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏帅小子的日常

sso系统使用

4188
来自专栏杂烩

javaee项目性能检测之JavaMelody

    它并不是一个模拟请求类似JMeter的压力测试工具,而是一个衡量并且计算在应用上的操作信息的工具,也就是说,它只负责对行为进行监控,而不负责触发操作。J...

3312
来自专栏耕耘实录

RHEL7、CentOS7的服务管理-系统管理(4)

从RHEL7的官方文档中我们,可以看出在未来service和chkconfig可能会退出历史舞台,现在的发行版中还保留这些命令最主的原因是考虑了兼容性,在使用中...

1103
来自专栏帅小子的日常

sso系统使用

1533
来自专栏有困难要上,没有困难创造困难也要上!

使用docker-compose创建spark集群

2132
来自专栏北京马哥教育

一个备份MySQL数据库的简单Shell脚本

Shell脚本是我们写不同类型命令的一种脚本,这些命令在这一个文件中就可以执行。我们也可以逐一敲入命令手动执行。如果我们要使用shell脚本就必须在一开始把这些...

3068
来自专栏Java编程技术

Dubbo剖析-服务直连

为了方便开发及测试,一般需要绕过注册中心,只测试指定ip的服务提供者,这时候服务消费方和服务提供方就是点对点直联方式。这时候服务消费方会忽略注册中心的提供者列表...

3303
来自专栏皮振伟的专栏

[qemu][acpi]acpi overflow的分析

前言: qemu启动之后,打出了log: qemu-system-x86_64: Warning: ACPI tables are larger than 64...

5028
来自专栏玩转JavaEE

Spring Cloud Bus之RabbitMQ初窥

和Spring Cloud Config一样,我们接下来要聊的Spring Cloud Bus也是微服务架构系统中的必备组件。Spring Cloud Bus可...

3636
来自专栏cloudskyme

WSO2 ESB(1)

什么是WSO2 ESB? WSO2 ESB是一个轻量级的易于使用的企业服务资源总线。WSO2 ESB允许系统管理员和SOA架构师,消息路由,虚拟化,中介,转换,...

4114

扫码关注云+社区

领取腾讯云代金券