CoreOS 配置工具 Ignition 官方示例
时间:2022-04-29
本文章向大家介绍CoreOS 配置工具 Ignition 官方示例,主要内容包括常用配置举例、网络配置、用户、systemd unit、文件、示例文件、相关链接、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
CoreOS 配置工具已由 Ignition
代替 cloud-config
。
GitHub:https://github.com/coreos/ignition
使用 Ignition
需要两步:
- 第一步编写
Container Linux Config
(yaml
格式 ) - 第二步使用
container-linux-config-transpiler
将Container 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
相关链接
- https://coreos.com/os/docs/latest/migrating-to-clcs.html
- https://coreos.com/blog/introducing-ignition.html
- oracle:wm_concat函数与oracle版本
- jQuery:delegate中select()不起作用的解决方法
- Casper系列02——Casper 数据结构与投注出块
- Silverlight:用Enter键替换Tab键切换焦点
- RDLC报表多条件分组
- tomcat 新手上路
- haXe下体验jQuery
- silverlight:如何在后端代码中控制Behaviors
- silverlight:ScrollViewer的各种高度研究
- 主题建设之主题表
- mysql:索引原理与慢查询优化
- Silvelright:ListBox无法用Tab顺序切换内部元素焦点的解决
- 2017精典书店年度好书
- silverlight:贝塞尔曲线
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 如何在Ubuntu 18.04(实体机)上配置OpenWRT的开发环境
- Android 组合控件实现布局的复用的方法
- Android编程实现播放音频的方法示例
- 使用VSCode的Remote-SSH连接Linux进行远程开发
- Android ListView之EfficientAdapte的使用详解
- JavaScript:ECMAScript 2020中的新增功能
- Android编程实现播放视频的方法示例
- Android开发之RadioGroup的简单使用与监听示例
- Android 根据手势顶部View自动展示与隐藏效果
- Vue 3 如何安装
- Android实现状态栏(statusbar)渐变效果的示例
- Linux中stat函数和stat命令使用详解
- Android Beam 文件传输失败分析与解决方法
- Android实现修改状态栏背景、字体和图标颜色的方法
- Android视频压缩的示例代码