linux下怎样运行oyrhon,Fedora CoreOS基础操作,包括安装并运行Fedora CoreOS
如果不知从何处入手Fedora CoreOS,那就看看本文,内容有:Fedora CoreOS的理念、入门、创建配置、安装并运行Fedora CoreOS、zincati,rpm-ostree和自动更新、删除虚拟机。
Fedora CoreOS的理念
Fedora CoreOS(FCOS)来自CoreOS Container Linux和Fedora Atomic Host的合并,它是一款最小化的整体操作系统,专注于运行容器化的应用程序,安全性是一流的,FCOS提供自动更新并带有SELinux强化功能。
为了使自动更新正常工作,它们必须非常强大,目标是运行FCOS的服务器在更新后不会中断,这是通过使用不同的发布流来实现的,每个流每2周发布一次,并将内容从一个流提升为另一流,这样一来,稳定流中的更新落地就有机会在很长一段时间内得到测试。
入门
在本示例中,我们使用稳定流和可以作为虚拟机运行的QEMU基本映像,您可以使用coreos-installer下载该映像,地址在https://github.com/coreos/coreos-installer/releases。
在更新到映像的链接后,从工作站终端运行以下命令,另外在Silverblue上,基于容器的coreos工具是最简单的尝试方法,可以在https://docs.fedoraproject.org/en-US/fedora-coreos/tutorial-setup/上找到说明,尤其是使用Podman或Docker进行设置,即Setup with Podman or Docker:
$ sudo dnf install coreos-installer
$ coreos-installer download --image-url https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/32.20200907.3.0/x86_64/fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2.xz
$ xz -d fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2.xz
$ ls
fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2
创建配置
要自定义FCOS系统,您需要提供一个配置文件,Ignition将使用该文件来配置系统,您可以使用此文件来配置诸如创建用户、添加受信任的SSH密钥、启用系统服务等功能。
以下配置将创建一个“core”用户,并将SSH密钥添加到authorized_keys文件中,它还正在创建一个使用podman运行简单的hello world容器的systemd服务:
version: "1.0.0"
variant: fcos
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-ed25519 my_public_ssh_key_hash fcos_key
systemd:
units:
-
contents: |
[Unit]
Description=Run a hello world web service
After=network-online.target
Wants=network-online.target
[Service]
ExecStart=/bin/podman run --pull=always --name=hello --net=host -p 8080:8080 quay.io/cverna/hello
ExecStop=/bin/podman rm -f hello
[Install]
WantedBy=multi-user.target
enabled: true
name: hello.service
在配置中添加SSH密钥后,将其另存为config.yaml,接下来,使用Fedora CoreOS Config Transpiler(fcct)工具将此YAML配置转换为有效的Ignition配置(JSON格式)。
直接从Fedora的存储库安装fcct或从GitHub获取二进制文件,地址在https://github.com/coreos/fcct/releases:
$ sudo dnf install fcct
$ fcct -output config.ign config.yaml
安装并运行Fedora CoreOS
要运行该映像,可以使用libvirt堆栈,使用dnf软件包管理器将其安装在Fedora系统上:
$ sudo dnf install @virtualization
现在,我们创建并运行Fedora CoreOS虚拟机:
$ chcon --verbose unconfined_u:object_r:svirt_home_t:s0 config.ign
$ virt-install --name=fcos \
--vcpus=2 \
--ram=2048 \
--import \
--network=bridge=virbr0 \
--graphics=none \
--qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${PWD}/config.ign" \
--disk=size=20,backing_store=${PWD}/fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2
安装成功后,将显示一些信息并提供登录提示:
Fedora CoreOS 32.20200907.3.0
Kernel 5.8.10-200.fc32.x86_64 on an x86_64 (ttyS0)
SSH host key: SHA256:BJYN7AQZrwKZ7ZF8fWSI9YRhI++KMyeJeDVOE6rQ27U (ED25519)
SSH host key: SHA256:W3wfZp7EGkLuM3z4cy1ZJSMFLntYyW1kqAqKkxyuZrE (ECDSA)
SSH host key: SHA256:gb7/4Qo5aYhEjgoDZbrm8t1D0msgGYsQ0xhW5BAuZz0 (RSA)
ens2: 192.168.122.237 fe80::5054:ff:fef7:1a73
Ignition: user provided config was applied
Ignition: wrote ssh authorized keys file for user: core
Ignition配置文件未为核心用户提供任何密码,因此无法直接通过控制台登录,但是,可以通过Ignition配置为用户配置密码。
使用Ctrl+]组合键退出虚拟机的控制台,然后检查hello.service是否正在运行:
$ curl http://192.168.122.237:8080
Hello from Fedora CoreOS!
使用预配置的SSH密钥,您还可以访问VM并检查在VM上运行的服务:
$ ssh core@192.168.122.237
$ systemctl status hello
hello.service - Run a hello world web service
Loaded: loaded (/etc/systemd/system/hello.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-10-28 10:10:26 UTC; 42s ago
zincati,rpm-ostree和自动更新
zincati服务通过自动更新来驱动rpm-ostreed。
检查VM当前正在运行哪个Fedora CoreOS版本,并检查Zincati是否找到更新:
$ ssh core@192.168.122.237
$ rpm-ostree status
State: idle
Deployments:
ostree://fedora:fedora/x86_64/coreos/stable
Version: 32.20200907.3.0 (2020-09-23T08:16:31Z)
Commit: b53de8b03134c5e6b683b5ea471888e9e1b193781794f01b9ed5865b57f35d57
GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
$ systemctl status zincati
zincati.service - Zincati Update Agent
Loaded: loaded (/usr/lib/systemd/system/zincati.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-10-28 13:36:23 UTC; 7s ago
…
Oct 28 13:36:24 cosa-devsh zincati[1013]: [INFO ] initialization complete, auto-updates logic enabled
Oct 28 13:36:25 cosa-devsh zincati[1013]: [INFO ] target release '32.20201004.3.0' selected, proceeding to stage it
... zincati reboot ...
重新启动后,让我们再次进行远程登录以检查新版本的Fedora CoreOS:
$ ssh core@192.168.122.237
$ rpm-ostree status
State: idle
Deployments:
ostree://fedora:fedora/x86_64/coreos/stable
Version: 32.20201004.3.0 (2020-10-19T17:12:33Z)
Commit: 64bb377ae7e6949c26cfe819f3f0bd517596d461e437f2f6e9f1f3c24376fd30
GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
ostree://fedora:fedora/x86_64/coreos/stable
Version: 32.20200907.3.0 (2020-09-23T08:16:31Z)
Commit: b53de8b03134c5e6b683b5ea471888e9e1b193781794f01b9ed5865b57f35d57
GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
rpm-ostree状态现在显示Fedora CoreOS的两个版本,一个出现在QEMU映像中,一个是从更新中获得的最新版本,通过提供这两个版本,可以使用rpm-ostree rollback命令回滚到以前的版本。
最后,您可以确保hello服务仍在运行并正在提供内容:
$ curl http://192.168.122.237:8080
Hello from Fedora CoreOS!
删除虚拟机
为了随后进行清理,以下命令将删除VM和关联的存储:
$ virsh destroy fcos
$ virsh undefine --remove-all-storage fcos
结论
Fedora CoreOS提供了一个坚实而安全的操作系统,专门用于在容器中运行应用程序,它在DevOps环境中表现出色,该环境鼓励使用声明性配置文件来配置主机,支持自动更新和回滚到OS的先前版本的功能使服务运行更令人放心,更有保障。
相关主题
linux下怎样运行oyrhon,Fedora CoreOS基础操作,包括安装并运行Fedora CoreOS相关推荐
- linux编写一个简单的端口扫描程序,小弟我在linux下写了个简单的多线程端口扫描程序,运行时出现有关问题,请问一下(2)...
当前位置:我的异常网» Linux/Unix » 小弟我在linux下写了个简单的多线程端口扫描程序, 小弟我在linux下写了个简单的多线程端口扫描程序,运行时出现有关问题,请问一下(2) www. ...
- linux网卡名字 mac,linux下编程如何获得所有网卡的信息-包括网卡名字,网卡MAC等等......
linux下编程如何获得所有网卡的信息-包括网卡名字,网卡MAC等等... (2012-06-07 04:35:41) 标签: 的 linux 数据包 杂谈 linux下编程如何获得所有网卡的信息?包 ...
- (原创)Linux下一定要4字节地址对齐操作
Linux下一定要4字节地址对齐操作:"血"的教训,一定不要忘记!!! 当然不仅仅是Linux下,所有的32位机都应该如此!!!
- linux下tc、htb、iptables基础知识及openwrt 下qos使用介绍
htb基础知识:Linux Htb队列规定指南中文版:http://wenku.baidu.com/view/64da046825c52cc58bd6beac.html TC基础知识: Linux 的 ...
- Linux下 WRF Domain Wizard 使用教程(PART1:下载+安装)
从下载--安装--使用 一站式服务~ PART I: 下载+安装 下载WRFDomainWizard 网址: https://www.esrl.noaa.gov/gsd/wrfportal/Domai ...
- linux下驱动、cuda、cudnn、tensorflow的安装(转载)
前言: 安装TensorFlow的GPU版本真的不是一件容易的事,好难,网上的各种安装教程倒是不少,但是基本没有一个能完全照着那种方法就能安装成功的,甚至有些连最基本的一些必需的步骤都没写到,那样子的 ...
- linux播放器安装程序,Linux下音乐播放器Audacious 3.10下载与安装
一款Linux下的音乐播放器Audacious 3.10正式发布下载了,它带来了新的功能和一些重要改进,尽管Audacious 4.0(具有功能齐全的 Qt UI)还没有开发出来,但他们也没有闲着,代 ...
- Linux下安全审计audit 系统审计 记录root操作
Linux下安全审计audit 系统审计 1.审计介绍 Linux 审计系统提供了一种跟踪系统上与安全相关的信息的方法.根据预先配置的规则,Audit 会生成日志条目,以尽可能多地记录有关系统上发生的 ...
- linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...
目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...
最新文章
- 低版本IE浏览器不支持前端代码修改属性remove()的解决办法
- NIO源码解析:FileChannel基本使用
- sqlserver的触发器练习实例
- 为了OFFER系列 | 牛客网美团点评数据分析刷题
- SpringMVC异常处理之异常处理代码编写
- java super用法_Java基础面试题汇总
- 你愿意隐姓埋名一辈子吗?
- mysql点击计数器_MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能...
- dlog()是什么意思 matlab语言,Matlab
- android 相对布局例子代码
- Q143:FS,物质导数(Material Derivative)
- iOS开发之错误码国际化
- 程序员必知的Python陷阱与缺陷列表
- 微软发布了个BT软件
- 【数据结构】树与树的表示、二叉树存储结构及其遍历、二叉搜索树、平衡二叉树、堆、哈夫曼树与哈夫曼编码、集合及其运算
- VIL-SLAM论文翻译:Stereo Visual Inertial LiDAR Simultaneous Localization and Mapping
- Promsql语法用法
- DAY2-Ubuntu主题与终端的美化
- SpringBoot2.0日志配置实例
- 【文献翻译】自动实施与Windows相关的安全配置指南