iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Fedora CoreOS怎么入门
  • 508
分享到

Fedora CoreOS怎么入门

2023-06-15 17:06:48 508人浏览 泡泡鱼
摘要

Fedora CoreOS怎么入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。现在被称为 devops 时代,操作系统的关注度似乎比工具要低一些。然而,这并不

Fedora CoreOS怎么入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

现在被称为 devops 时代,操作系统的关注度似乎比工具要低一些。然而,这并不意味着操作系统没有创新。(编辑注:基于 linux 内核的众多发行版所提供的多样化产品就是一个很好的例子)。Fedora CoreOS 就对这个 DevOps 时代的操作系统应该是什么样有着独特的理念。

Fedora CoreOS 的理念

Fedora CoreOS(FCOS)是由 CoreOS Container Linux 和 Fedora Atomic Host  合并而来。它是一个专注于运行容器化应用程序的精简的独体操作系统。安全性是首要重点,FCOS 提供了自动更新,并带有 SELinux 强化。

为了使自动更新能够很好地工作,它们需要非常健壮,目标是运行 FCOS  的服务器在更新后不会崩溃。这是通过使用不同的发布流(stable、testing 和 next)来实现的。每个流每 2  周发布一次,更新内容会从一个流推广到另一个流(next -> testing -> stable)。这样落地在 stable  流中的更新就有机会经过长时间的测试

入门

对于这个例子,让我们使用 stable 流和一个 QEMU 基础镜像,我们可以作为一个虚拟机运行。你可以使用 coreos-installer 来下载该镜像。

在你的(Workstation)终端上,更新镜像的链接后,运行以下命令(编辑注:在 Silverblue 上,基于容器的 coreos 工具是最简单的方法,可以尝试一下。说明可以在 https://docs.fedoraproject.org/en-US/fedora-coreos/tutorial-setup/ 中找到,特别是 “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$ lsfedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2
创建一个配置

要定制一个 FCOS 系统,你需要提供一个配置文件,Ignition 将使用这个文件来配置系统。你可以用这个文件来配置诸如创建用户、添加受信任的 ssh 密钥、启用 systemd 服务等等。

以下配置创建了一个 core 用户,并在 authorized_keys 文件中添加了一个 SSH 密钥。它还创建了一个 systemd 服务,使用 podman 来运行一个简单的 “hello world” 容器:

version: "1.0.0"variant: fcospasswd:  users:    - name: core      ssh_authorized_keys:        - ssh-ed25519 my_public_ssh_key_hash fcos_keysystemd:  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 中获取二进制文件:

$ sudo dnf install fcct$ fcct -output config.ign config.yaml
安装并运行 Fedora CoreOS

要运行镜像,你可以使用 libvirt 堆栈。要在 Fedora 系统上使用 dnf 软件包管理器安装它:

$ 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.0Kernel 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:1a73Ignition: user provided config was appliedIgnition: wrote ssh authorized keys file for user: core

Ignition 配置文件没有为 core 用户提供任何密码,因此无法通过控制台直接登录。(不过,也可以通过 Ignition 配置为用户配置密码。)

使用 Ctrl + ] 组合键退出虚拟机的控制台。然后检查 hello.service 是否在运行:

$ curl http://192.168.122.237:8080Hello from Fedora CoreOS!

使用预先配置的 SSH 密钥,你还可以访问虚拟机并检查其上运行的服务:

$ ssh core@192.168.122.237$ systemctl status hello● hello.service - Run a hello world web serviceLoaded: 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。

检查虚拟机上当前运行的 Fedora CoreOS 版本,并检查 zincati 是否找到了更新:

$ ssh core@192.168.122.237$ rpm-ostree statusState: idleDeployments:● ostree://fedora:fedora/x86_64/coreos/stableVersion: 32.20200907.3.0 (2020-09-23T08:16:31Z)Commit: b53De8b03134c5e6b683b5ea471888e9e1b193781794f01b9ed5865b57f35d57GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0$ systemctl status zincati● zincati.service - Zincati Update AgentLoaded: 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 enabledOct 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 statusState: idleDeployments:● ostree://fedora:fedora/x86_64/coreos/stableVersion: 32.20201004.3.0 (2020-10-19T17:12:33Z)Commit: 64bb377ae7e6949c26cfe819f3f0bd517596d461e437f2f6e9f1f3c24376fd30GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0ostree://fedora:fedora/x86_64/coreos/stableVersion: 32.20200907.3.0 (2020-09-23T08:16:31Z)Commit: b53de8b03134c5e6b683b5ea471888e9e1b193781794f01b9ed5865b57f35d57GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0

rpm-ostree status 现在显示了两个版本的 Fedora CoreOS,一个是 QEMU 镜像中的版本,一个是更新后的最新版本。有了这两个版本,就可以使用 rpm-ostree rollback 命令回滚到之前的版本。

最后,你可以确保 hello 服务仍在运行并提供内容:

$ curl http://192.168.122.237:8080Hello from Fedora CoreOS!
删除虚拟机

要进行事后清理,使用以下命令删除虚拟机和相关存储:

$ virsh destroy fcos$ virsh undefine --remove-all-storage fcos

Fedora CoreOS 为在容器中运行应用程序提供了一个坚实而安全的操作系统。它在推荐主机使用声明式配置文件进行配置的 DevOps 环境中表现出色。自动更新和回滚到以前版本的操作系统的能力,可以在服务的运行过程中带来安心的感觉。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: Fedora CoreOS怎么入门

本文链接: https://www.lsjlt.com/news/281086.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Fedora CoreOS怎么入门
    Fedora CoreOS怎么入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。现在被称为 DevOps 时代,操作系统的关注度似乎比工具要低一些。然而,这并不...
    99+
    2023-06-15
  • golang入门难不难?怎么入门?
    从一位刚刚开始学习Golang的小白的角度出发,Golang入门难不难的问题一直让我非常纠结。一方面,Golang作为一门新兴的编程语言,其设计理念和语法都比传统的编程语言有所不同,对于新手来说,学习曲线会相对较陡。另一方面,由于Golan...
    99+
    2023-05-14
  • 怎么入门linux
    本篇文章给大家分享的是有关怎么入门linux,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、关于Linux  1、Linux干什么用?  首先,很少有人用Linux做桌面系统...
    99+
    2023-06-13
  • c#怎么入门
    c# 是一种面向对象的编程语言,由微软开发,以易于学习和使用而著称。入门 c# 的最佳方法包括:设置开发环境、了解 c# 基础知识、构建简单项目、探索 c# 特性和学习其他资源。 C#...
    99+
    2024-04-04
    c# 移动应用程序 在线课程
  • Log4j该怎么入门
    本篇文章为大家展示了Log4j该怎么入门,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Log4j实在是很熟悉,几乎所有的Java项目都用它啊。但是我确一直没有搞明白。终于有一天我受不了了,定下心去看...
    99+
    2023-06-03
  • Tensors该怎么入门
    本篇文章为大家展示了Tensors该怎么入门,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、入门Tensors(张量)Tensors(张量)类似于NumPy中的ndarray,另外它还可以使用GP...
    99+
    2023-06-04
  • 怎么将Fedora 30升级到Fedora 31
    这篇文章将为大家详细讲解有关怎么将Fedora 30升级到Fedora 31,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Fedora 31 日前发布了。你也许想要升级系统来获得 Fedor...
    99+
    2023-06-16
  • 怎么入门Bash编程
    这篇文章主要介绍了怎么入门Bash编程,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Unix  最初的希望之一是,让计算机的日常用户能够微调其计算机,以适应其独特的...
    99+
    2023-06-15
  • 怎么进行DOM入门
    怎么进行DOM入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。这里向大家简单介绍一下DOM的概念,当浏览器支持JavaScr...
    99+
    2024-04-02
  • Nginx怎么快速入门
    本文小编为大家详细介绍“Nginx怎么快速入门”,内容详细,步骤清晰,细节处理妥当,希望这篇“Nginx怎么快速入门”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Nginx 是一款面向性能设计的 HTTP 服务器...
    99+
    2023-06-28
  • 怎么快速入门Mycat
    这篇文章给大家介绍怎么快速入门Mycat ,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是Mycat至于什么是Mycat,可能在不同的角色下有不同的理解。对MySQL架构有过了解的...
    99+
    2024-04-02
  • 怎么快速入门JavaScript
    这篇文章主要讲解了“怎么快速入门JavaScript”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么快速入门JavaScript”吧!arrayGcdCa...
    99+
    2024-04-02
  • Fedora skin怎么用
    这篇文章主要为大家展示了“Fedora skin怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Fedora skin怎么用”这篇文章吧。KJC這個Fedora skin雖然漂亮,但有些地方...
    99+
    2023-06-16
  • 怎么进行Python Flask入门
    这篇文章将为大家详细讲解有关怎么进行Python Flask入门,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。追溯到最初,Flask 诞生于 Armin Ronacher 在 2010 年愚...
    99+
    2023-06-25
  • LINQ入门代码怎么写
    本篇内容主要讲解“LINQ入门代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LINQ入门代码怎么写”吧!语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NE...
    99+
    2023-06-17
  • Linux top命令怎么入门
    Linux top命令怎么入门,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。top命令用于实时监测系统资源使用状况,包含,进程、cpu,内存等。1、用法top [选项]2、...
    99+
    2023-06-28
  • ajax入门代码怎么写
    这期内容当中小编将会给大家带来有关ajax入门代码怎么写,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。静态页面  代码如下:<!DOCTYPE html ...
    99+
    2024-04-02
  • Fedora Cores怎么安装
    这篇文章主要介绍了Fedora Cores怎么安装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何在 Fedora Cores上安装Dazuko1) 确保您安装的Fedor...
    99+
    2023-06-16
  • 怎么进行C#语言入门
    怎么进行C#语言入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#语言入门:简介C# (C sharp)是微软推出的面向对象的编程语言。C#语言是一种***...
    99+
    2023-06-17
  • 怎么进行Objective-C的入门
    怎么进行Objective-C的入门,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。前言Objective-C(下面简称OC)是由C语言和Smalltalk扩展出...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作