iPXE 模式启动 CoreOS(简单、推荐使用)
时间:2022-04-29
本文章向大家介绍iPXE 模式启动 CoreOS(简单、推荐使用),主要内容包括准备、克隆示例配置、放入文件、ipxe.html、pxe-ignition.yaml、pxe-config.ign、启动虚拟机、登录、安装、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
iPXE
模式启动 CoreOS
方法比较简单,无需配置 PXE
所需的服务器,推荐大家使用。
准备
下载 ipxe.iso
$ wget http://boot.ipxe.org/ipxe.iso
克隆示例配置
克隆示例配置文件并启动内网安装服务器。
GitHub:https://github.com/khs1994-docker/coreos
$ git clone --depth=1 https://github.com/khs1994-docker/coreos
$ cd coreos
$ docker-compose up # 默认监听 8080 端口
内网服务器详情请参见 CoreOS 安装服务本地服务器 Docker 化。
放入文件
在 http://alpha.release.core-os.net/amd64-usr/ 点击版本号或 current
,下载以下文件:
coreos_production_pxe.vmlinuz
coreos_production_pxe_image.cpio.gz
放入 current
文件夹中。
ipxe.html
打开示例中的 ipxe.html
,按实际修改 IP
#!ipxe
set base-url http://192.168.199.100:8080/current
kernel ${base-url}/coreos_production_pxe.vmlinuz initrd=coreos_production_pxe_image.cpio.gz coreos.first_boot=1 coreos.config.url=http://192.168.199.100:8080/pxe/pxe-config.ign console=tty0 console=ttyS0 coreos.autologin=tty1 coreos.autologin=ttyS0
initrd ${base-url}/coreos_production_pxe_image.cpio.gz
boot
pxe-ignition.yaml
进入示例中的 ./pxe/
目录,在 ./pxe/pxe-ignition.yaml
中设置 SSH 公钥。
systemd:
units:
- name: etcd2.service
enable: true
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAA...
pxe-config.ign
之后使用以下命令转换为 pxe-config.ign
$ ct-v0.5.0-x86_64-apple-darwin -in-file pxe-ignition.yaml > pxe-config.ign
格式转换之后可以验证 pxe-config.ign
https://coreos.com/validate/
启动虚拟机
虚拟机添加 ipxe.iso
ISO 镜像之后启动。
在启动界面按下 Ctrl+B
,依次输入以下命令。
iPXE> dhcp
iPXE> chain http://192.168.199.100:8080/ipxe.html
登录
IPXE
方式启动的 CoreOS 默认没有密码,直接在本机登录。
$ ssh core@ip
安装
之后 安装到硬盘。
- 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 数组属性和方法
- LeetCode34|数组中的第k个最大元素
- LeetCode33|寻找重复数
- LeetCode32|前k个高频元素
- LeetCode31|打印从1到最大的n位数
- LeetCode30|翻转单词顺序
- LeetCode28|最后一个单词的长度
- VS2015创建UWP报“vstemplate文件引用的向导类”错误
- 政采云趣味题
- LeetCode40|有序数组中的单一元素
- 搭建简易的物联网服务端和客户端-Cortana控制(十七)
- LeetCode39|找树左下角的值
- LeetCode38|根据字符出现频率排序
- 搭建简易的物联网服务端和客户端-Nodejs_PM2(十八)
- spring boot 项目中自动执行 sql 语句
- 搭建简易的物联网服务端和客户端-邮件通知(十九)