当前位置: 首页 > news >正文

Fedora CoreOS 安装部署详解

《OpenShift 4.x HOL教程汇总》

Fedora CoreOS 的裸机安装方法_fedora coreos 安装-CSDN博客

OpenShift 4 - Fedora CoreOS (1) - 最简安装_fedora core 安装_dawnsky.liu的博客-CSDN博客

OpenShift 和 CoreOS

我们知道 Red Hat Enterprise Linux CoreOS(简称RHCOS)是 OpenShift 4 使用的 Linux 操作系统(虽然在Worker节点中也可以使用红帽的 RHEL 作为底层操作系统,但是大多数用户用的都是 RHCOS)。Fedora CoreOS(简称FCOS)是 RHCOS 的社区版。FCOS/RHCOS 是 Red Hat 在收购 CoreOS 公司后结合 CoreOS Container Linux 和 Fedora Atomic Host 的优点推出的新一代容器操作系统,其目标是提供最佳的容器主机,从而能安全,大规模地运行容器化的工作负载。FCOS/RHCOS 将 Ignition 与 rpm-ostree 等技术相集成,是一个自动更新的、最小的、整体的、对运行容器和 Kubernetes 进行了优化的操作系统。因为它们更符合“不可变架构(Immutable Infrastructure)” 理念,因此成为 RedHat 推荐的 OpenShift 4 底层操作系统。

在 OpenShift 4 安装过程会自动安装 CoreOS 的商业版 Red Hat Enterprise Linux CoreOS(简称 RHCOS)。根据 OpenShift 的文档说明, RHCOS 是无法独立运行安装的,它必须和 OpenShift 4 一起运行(因此 RHCOS 没有单独的订阅)。不过好在 CoreOS 还提供了可以 独立运行的社区版 Fedora CoreOS(简称 FCOS)可以完全免费使用。由于 Fedora CoreOS 可以无需 OpenShift 也可以独立安装运行,因此环境搭建过程简单高效,因此本系列使用 Fedora CoreOS 作为研究环境,而相关操作基本都可以适合商业版 RHCOS 环境。
RHCOS/FCOS 的安装/配置过程和一般的 RHEL 稍有差别。我们需要通过 Ignition 配置文件在安装 RHCOS 的时候 初始化网络、存储、内核、用户等方面的配置。

安装环境说明

Fedora CoreOS支持运行在多种IaaS环境下运行。本文安装采用基于虚拟化软件模拟BareMetal环境,其他安装环境请查看Fedora CoreOS的文档。另外还要确保虚拟机可以通过DHCP获得IP地址。

下载 Fedora CoreOS 相关介质

安装 Fedora CoreOS 需要下载2个文件:CoreOS ISO和FCCT (Fedora CoreOS Config Transpiler) ,其中Fedora CoreOS ISO文件是用来启动操作系统的,而由FCCT工具生成的Ignition文件是用来提供Fedora CoreOS系统启动参数。

说明:本章节的操作是在任意一台能上网的宿主机上进行,如果是Windows宿主机需要打开其SSH服务。下文使用“192.168.1.201”作为该宿主机的IP,实际操作请j将“192.168.1.201”替换为自己环境的IP地址。

3.1 下载 Fedora CoreOS ISO 文件

打开Fedofa网站的Fedora CoreOS | The Fedora Project网页,然后下载 “Bare Metal” 下的 ISO 文件。本文下载的ISO文件版本是“fedora-coreos-38.20230819.3.0-live.x86_64.iso”。

3.2 下载 FCCT (Fedora CoreOS Config Transpiler) 文件

打开Releases · coreos/butane · GitHub网页,下载“butane-aarch64-unknown-linux-gnu”文件,另存为fcct。该文件是用来将基于YAML格式的配置文件转换成基于JSON格式的Ignition文件。

安装 Fedora CoreOS

4.1 准备Ignition文件

  1. 执行以下命令,然后在“Password:”的提示后面输入密码(本文使用的密码就是“password”)。命令将返回密码加密后的字符串。
$ openssl passwd -1 -salt yoursalt
Password:
$1$yoursalt$7/tmQXmlhL0pYfN/fyBZS1
  1. 执行命令生成密钥对。执行后可以在当前目录下生成公钥id_rsa.pub和私钥id_rsa
$ ssh-keygen -N '' -f ./id_rsa
Generating public/private rsa key pair.
Your identification has been saved in ./ssh-key/id_rsa.
Your public key has been saved in ./ssh-key/id_rsa.pub.
The key fingerprint is:
SHA256:YvrEIpVUwTbJAXZcB+KJEhPPQGIu4XOwWB696Z90sJE root@node1
The key's randomart image is:
+---[RSA 2048]----+
|o+Ooo=*=o..      |
|==oO.=Bo .       |
|o=o.=+oo         |
|. ooo.E          |
|   .o o+S        |
|   ..+o..        |
|  . oooo         |
|   . +o          |
|      .          |
+----[SHA256]-----+
  1. 查看id_rsa.pub公钥。
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIBxVOCdtNHBgbEVQseDdRonC/OlP5qm7MoKeuwYFjvg6UKXl8MTplQ4ErV1r994XnkErRBzlxsPdn/s7/alJ8CJ3Po39QDMlJvvy/nG3Vak/naxc6hXwL4to1oJrMhyp7YsY2EzPke+b1FyWD6NZ27mhJnCmNhw4pND6QxfZulVCnlolg9BeTSuXaIRrgLnjdSU+9ojTz6BMVo5MWY+xXRNrydlI4rx19tnd0c62SwQnvjO8i+hCXzNAkwGb8J5KDLs7jYZhjOW4IyHa95NdgWlRDcVICQSbA0makjJyIFK9KDzaTYM0MvCpSkMXo9uTFKwPiKfhBrKw9n8nBegXN root@node1
  1. 创建内容如下的config.fcc的文件。其中用户名为core,另外需要将“password_hash”和“ssh_authorized_keys”替换前2步生成的密码和公钥字符串。需要注意的是远程登录CoreOS需要使用证书,而直接登录CoreOS才可以直接使用用户名和密码。
variant: fcos
version: 1.1.0
passwd:users:- name: corepassword_hash: "$1$yoursalt$7/tmQXmlhL0pYfN/fyBZS1"ssh_authorized_keys:- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIBxVOCdtNHBgbEVQseDdRonC/OlP5qm7MoKeuwYFjvg6UKXl8MTplQ4ErV1r994XnkErRBzlxsPdn/s7/alJ8CJ3Po39QDMlJvvy/nG3Vak/naxc6hXwL4to1oJrMhyp7YsY2EzPke+b1FyWD6NZ27mhJnCmNhw4pND6QxfZulVCnlolg9BeTSuXaIRrgLnjdSU+9ojTz6BMVo5MWY+xXRNrydlI4rx19tnd0c62SwQnvjO8i+hCXzNAkwGb8J5KDLs7jYZhjOW4IyHa95NdgWlRDcVICQSbA0makjJyIFK9KDzaTYM0MvCpSkMXo9uTFKwPiKfhBrKw9n8nBegXN root@node1"
  1. 执行命令,使用fcct将config.fcc转换成config.ign。
$ fcct config.fcc -o config.ign
$ more config.ign
{"ignition": {"version": "3.1.0"},"passwd": {"users": [{"name": "core","passwordHash": "$1$yoursalt$7/tmQXmlhL0pYfN/fyBZS1","sshAuthorizedKeys": ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDIBxVOCdtNHBgbEVQseDdRonC/OlP5qm7MoKeuwYFjvg6UKXl8MTplQ4ErV1r994XnkErRBzlxsPdn/s7/alJ8CJ3Po39QDMlJvvy/nG3Vak/naxc6hXwL4to1oJrMhyp7YsY2EzPke+b1FyWD6NZ27mhJnCmNhw4pND6QxfZulVCnlolg9BeTSuXaIRrgLnjdSU+9ojTz6BMVo5MWY+xXRNrydlI4rx19tnd0c62SwQnvjO8i+hCXzNAkwGb8J5KDLs7jYZhjOW4IyHa95NdgWlRDcVICQSbA0makjJyIFK9KDzaTYM0MvCpSkMXo9uTFKwPiKfhBrKw9n8nBegXN root@node1"]}]}
}

4.2 安装并访问 Fedora CoreOS

  1. 创建一个名为Fedora-CoreOS的虚拟机。使用前面下载的Fedora CoreOS ISO文件 - “fedora-coreos-32.20200907.3.0-live.x86_64.iso”- 作为启动盘,然后将系统的启动顺序设为硬盘第一优先,最后使用Bridge类型的网络
  2. 启动虚拟机,启动完成后虚拟机的控制台会停在以下截图。注意:图上红色提示没有找到Ignition文件。另外根据截图的说明我们可以知道当原始的CoreOS ISO首次启动的时候,它是运行在内存中的。此时我们需要提供给它Ignition文件,CoreOS才可以完成安装。

  1. 在CoreOS虚拟机控制台里执行以下命令,将前面生成的config.ign文件从外部宿主机传入CoreOS虚拟机的当前目录下。
[core@bogon ~]$ scp root@192.168.1.201:/root/config.ign ./
  1. 在CoreOS虚拟机控制台里执行以下命令,根据“config.ign”文件将CoreOS安装到“/dev/sda”硬盘(可以使用“fdisk -l”命令确认有系统中“/dev/sda”)。
[core@bogon ~]$ sudo coreos-installer install /dev/sda --ignition-file config.ign
  1. 完成安装后重启CoreOS虚拟机。

4.3 登录访问 CoreOS

  1. 在CoreOS虚拟机完成启动后可以在CoreOS虚拟机控制台里用core/password登录进CoreOS。

  1. 在外部宿主机中执行命令,确认可以使用前面创建的私钥登录CoreOS
$ ssh core@<COREOS_IP> -i id_rsa
Fedora CoreOS 32.20200907.3.0
Tracker: https://github.com/coreos/fedora-coreos-tracker
Discuss: https://discussion.fedoraproject.org/c/server/coreos/Last login: Tue Oct  6 15:15:50 2020
  1. 确认在外部宿主机中已经无法直接通过用户名/密码登录CoreOS了(这是因为缺省CoreOS只能通过证书登录,后面我们将设置可以使用username/password登录)。
$ ssh core@<COREOS_IP>
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

设置coreos可以使用username/password登录

#. 1. 修改core用户密码
$. sudo passwd core#  2. 修改sshd配置
$. sudo vi /etc/ssh/sshd_config
# 修改相应字段为如下内容:PasswordAuthentication yes# 3. 重启sshd服务    
$. sudo systemctl restart sshd.service
$. systemctl status sshd.service # 4. 接下来就可以用xshell等工具远程登录rhcos机器了
  1. CoreOS 添加用户并赋予sudo权限

使用root账号登录CoreOS

username 为你要添加的用户登录名

  1. 添加用户到root组
useradd -g rot username
  1. 添加 sudo 权限
visudo -f /etc/sudoers.d/username
  1. 打开文件输入
user1ALL=(ALL) NOPASSWD: ALL

保存退出

  1. 使用username登录系统,然后执行下面代码检查是否授权成功
username@server ~ $ sudo docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

参考

Fedora CoreOS installation on Bare Metal Server

Content Moved :: Fedora Docs

How to Create an Ignition Configuration File - Vultr.com

相关文章:

Fedora CoreOS 安装部署详解

《OpenShift 4.x HOL教程汇总》 Fedora CoreOS 的裸机安装方法_fedora coreos 安装-CSDN博客 OpenShift 4 - Fedora CoreOS (1) - 最简安装_fedora core 安装_dawnsky.liu的博客-CSDN博客 OpenShift 和 CoreOS 我们知道 Red Hat Enterprise Linux CoreOS&#xff08;简称RHCOS&…...

Web应用开发 - 实训三 B Servlet基础

Web应用开发 - 实训三 B Servlet基础 前言&#xff1a; 零、前期准备准备工具创建项目导入 jar 包配置运行设置 一、实训第一部分第一张图第二张图第三张图 二、实训第二部分第一张图第二张图 前言&#xff1a; eclipse 是不可能用的&#xff0c;并不是说它界面丑&#xff0c;…...

Debian12安装 Docker

Docker中基本概念 镜像(Image) 镜像&#xff0c;从认识上简单的来说&#xff0c;就是面向对象中的类&#xff0c;相当于一个模板。从本质上来说&#xff0c;镜像相当于一个文件系统。Docker 镜像是一个特殊的文件系统&#xff0c;除了提供容器运行时所需的程序、库、资源、配…...

Elasticsearch:为具有许多 and/or 高频术语的 top-k 查询带来加速

作者&#xff1a;Adrien Grand Disjunctive queries&#xff08;term_1 OR term_2 OR ... OR term_n&#xff09;非常常用&#xff0c;因此在提高查询评估效率方面它们受到了广泛关注。 Apache Lucene 对于评估 disjunctive queries 有两个主要优化&#xff1a;一方面用于详尽评…...

【pythonflask-1】简单实现加减乘除输入界面

app.py import flask from flask import Flask, render_template, request # 计算精确的浮点结果&#xff0c;float加法也计算不出来 from decimal import Decimalapp Flask(__name__)app.route(/) def home():return render_template(index.html)app.route(/calculate, meth…...

基于协同过滤算法的旅游推荐系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…...

遇见问题:使用mybaties向数据库中插入数据,idea显示插入成功,但是数据库中并没有数据变化?

遇见问题&#xff1a;使用mybaties向数据库中插入数据&#xff0c;idea显示插入成功&#xff0c;但是数据库中并没有数据变化? 可能的原因有几种&#xff1a; 没有提交事务&#xff1a;在使用 MyBatis 进行数据库操作时&#xff0c;需要手动提交事务。你可以在插入数据完成后…...

markdown学习笔记

markdown学习笔记 1.文字&#xff08;依靠HTML&#xff09; 1.1文字缩进-空格转义符 单字符空&#xff1a;&emsp; 半字符空&#xff1a;&ensp;1.2文字对齐 「居中&#xff1a;」<center> 居中 </center> or <p align"center"> 居中 …...

C++项目实战——基于多设计模式下的同步异步日志系统-⑧-日志落地类设计

文章目录 专栏导读抽象基类StdoutSink类设计FileSink类设计RollBySizeSink类设计日志落地工厂类设计日志落地类整理日志落地拓展测试RollByTimeSink类设计测试代码测试完整代码 专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0c;C/C领…...

从零开始探索C语言(八)----指针

文章目录 1. 什么是指针&#xff1f;2. 如何使用指针&#xff1f;3. NULL 指针4. 指针的算术运算5. 指针数组6. 指向指针的指针7. 传递指针给函数8. 从函数返回指针 有人说&#xff0c;指针是C语言的灵魂&#xff0c;所以学习C语言&#xff0c;学习指针是很有必要的。 通过指针…...

SpringMVC 的三种异常处理方式详解

目录 1. 什么是异常 2. 为什么要全局异常处理 3. SpringMVC异常分类 4. 异常处理思路 5. 三种异常处理方式示例 ① 配置 SimpleMappingExceptionResolver 处理器 ② 实现 HandlerExceptionResolver 接口 ③ 使用ControllerAdviceExceptionHandler实现全局异常 6. 响应…...

莫比乌斯召回系统介绍

当前召回系统只能召回相关性高的广告&#xff0c;但不能保证该广告变现能力强。莫比乌斯做了如下两点创新&#xff1a; 在召回阶段&#xff0c;引入CPM等业务指标作为召回依据在召回阶段&#xff0c;引入CTR模型&#xff0c;从而召回更多相关性高且变现能力强的广告 参考 百度…...

使用ASM修改组件化 ARouter

工程目录图 1. apt生成的字节码文件 2. asm 生成的代码 请点击下面工程名称&#xff0c;跳转到代码的仓库页面&#xff0c;将工程 下载下来 Demo Code 里有详细的注释 代码&#xff1a;TestCompont...

第21章_瑞萨MCU零基础入门系列教程之事件链接控制器ELC

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写&#xff0c;需要的同学可以在这里获取&#xff1a; https://item.taobao.com/item.htm?id728461040949 配套资料获取&#xff1a;https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总&#xff1a; ht…...

(二十八)大数据实战——Flume数据采集之kafka数据生产与消费集成案例

前言 本节内容我们主要介绍一下flume数据采集和kafka消息中间键的整合。通过flume监听nc端口的数据&#xff0c;将数据发送到kafka消息的first主题中&#xff0c;然后在通过flume消费kafka中的主题消息&#xff0c;将消费到的消息打印到控制台上。集成使用flume作为kafka的生产…...

vue3:22、vue-router的使用

import { createRouter, createWebHistory } from vue-router//history模式&#xff1a;createWebHistory //hash模式&#xff1a;createWebHashHistory//vite中的环境变量 import.meta.env.BASE_URL 就是vite.config.js中的base配置项 const router createRouter({history:…...

深入理解JVM虚拟机第五篇:一些常用的JVM虚拟机(二)

文章目录 一&#xff1a;JRockit VM的介绍 二&#xff1a;J9 VM的介绍 三&#xff1a;KVM和CDC/CLDC Hotspot 四&#xff1a;Azul VM的介绍 五&#xff1a;Liquid VM的介绍 六&#xff1a;Apache Harmoney 七&#xff1a;Microsoft JVM 八&#xff1a;Taobao JVM 九&a…...

导数公式及求导法则

目录 基本初等函数的导数公式 求导法则 有理运算法则 复合函数求导法 隐函数求导法 反函数求导法 参数方程求导法 对数求导法 基本初等函数的导数公式 基本初等函数的导数公式包括&#xff1a; C0(x^n)nx^(n-1)(a^x)a^x*lna(e^x)e^x(loga(x))1/(xlna)(lnx)1/x(sinx)cos…...

SpringMVC系列(六)之JSON数据返回以及异常处理机制

目录 前言 一. JSON概述 二. JSON数据返回 1. 导入pom依赖 2. 添加配置文件&#xff08;spring-mvc.xml&#xff09; 3. ResponseBody注解使用 4. 效果展示 5. Jackson介绍 三. 全局异常处理 1. 为什么要全局异常处理 2. 异常处理思路 3. 异常处理方式一 4. 异常处…...

民安智库(北京第三方窗口测评)开展汽车消费者焦点小组座谈会调查

民安智库近日开展了一场汽车消费者焦点小组座谈会&#xff0c;旨在深入了解目标消费者对汽车功能的需求和消费习惯&#xff0c;为汽车企业提供有针对性的解决方案。 在焦点小组座谈会中&#xff0c;民安智库公司&#xff08;第三方市容环境指数测评&#xff09;邀请了一群具有…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

libfmt: 现代C++的格式化工具库介绍与酷炫功能

libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库&#xff0c;提供了高效、安全的文本格式化功能&#xff0c;是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全&#xff1a…...

数据结构:递归的种类(Types of Recursion)

目录 尾递归&#xff08;Tail Recursion&#xff09; 什么是 Loop&#xff08;循环&#xff09;&#xff1f; 复杂度分析 头递归&#xff08;Head Recursion&#xff09; 树形递归&#xff08;Tree Recursion&#xff09; 线性递归&#xff08;Linear Recursion&#xff09;…...