成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Fedora CoreOS 入門

系統 Linux
Fedora CoreOS(FCOS)是由 CoreOS Container Linux 和 Fedora Atomic Host 合并而來。它是一個專注于運行容器化應用程序的精簡的獨體操作系統。安全性是首要重點,FCOS 提供了自動更新,并帶有 SELinux 強化。

[[357276]]

現在被稱為 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” 一節。):

  1. $ sudo dnf install coreos-installer
  2. $ 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
  3. $ xz -d fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2.xz
  4. $ ls
  5. fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2

創建一個配置

要定制一個 FCOS 系統,你需要提供一個配置文件,Ignition 將使用這個文件來配置系統。你可以用這個文件來配置諸如創建用戶、添加受信任的 SSH 密鑰、啟用 systemd 服務等等。

以下配置創建了一個 core 用戶,并在 authorized_keys 文件中添加了一個 SSH 密鑰。它還創建了一個 systemd 服務,使用 podman 來運行一個簡單的 “hello world” 容器:

  1. version: "1.0.0"
  2. variant: fcos
  3. passwd:
  4. users:
  5. - name: core
  6. ssh_authorized_keys:
  7. - ssh-ed25519 my_public_ssh_key_hash fcos_key
  8. systemd:
  9. units:
  10. -
  11. contents: |
  12. [Unit]
  13. Description=Run a hello world web service
  14. After=network-online.target
  15. Wants=network-online.target
  16. [Service]
  17. ExecStart=/bin/podman run --pull=always --name=hello --net=host -p 8080:8080 quay.io/cverna/hello
  18. ExecStop=/bin/podman rm -f hello
  19. [Install]
  20. WantedBy=multi-user.target
  21. enabled: true
  22. name: hello.service

在配置中加入你的 SSH 密鑰后,將其保存為 config.yaml。接下來使用 Fedora CoreOS Config Transpiler(fcct)工具將這個 YAML 配置轉換成有效的 Ignition 配置(JSON 格式)。

直接從 Fedora 的資源庫中安裝 fcct,或者從 GitHub 中獲取二進制文件:

  1. $ sudo dnf install fcct
  2. $ fcct -output config.ign config.yaml

安裝并運行 Fedora CoreOS

要運行鏡像,你可以使用 libvirt 堆棧。要在 Fedora 系統上使用 dnf 軟件包管理器安裝它:

  1. $ sudo dnf install @virtualization

現在讓我們創建并運行一個 Fedora CoreOS 虛擬機:

  1. $ chcon --verbose unconfined_u:object_r:svirt_home_t:s0 config.ign
  2. $ virt-install --name=fcos \
  3. --vcpus=2 \
  4. --ram=2048 \
  5. --import \
  6. --network=bridge=virbr0 \
  7. --graphics=none \
  8. --qemu-commandline="-fw_cfg name=opt/com.coreos/config,file=${PWD}/config.ign" \
  9. --disk=size=20,backing_store=${PWD}/fedora-coreos-32.20200907.3.0-qemu.x86_64.qcow2

安裝成功后,會顯示一些信息并提供登錄提示符:

  1. Fedora CoreOS 32.20200907.3.0
  2. Kernel 5.8.10-200.fc32.x86_64 on an x86_64 (ttyS0)
  3. SSH host key: SHA256:BJYN7AQZrwKZ7ZF8fWSI9YRhI++KMyeJeDVOE6rQ27U (ED25519)
  4. SSH host key: SHA256:W3wfZp7EGkLuM3z4cy1ZJSMFLntYyW1kqAqKkxyuZrE (ECDSA)
  5. SSH host key: SHA256:gb7/4Qo5aYhEjgoDZbrm8t1D0msgGYsQ0xhW5BAuZz0 (RSA)
  6. ens2: 192.168.122.237 fe80::5054:ff:fef7:1a73
  7. Ignition: user provided config was applied
  8. Ignition: wrote ssh authorized keys file for user: core

Ignition 配置文件沒有為 core 用戶提供任何密碼,因此無法通過控制臺直接登錄。(不過,也可以通過 Ignition 配置為用戶配置密碼。)

使用 Ctrl + ] 組合鍵退出虛擬機的控制臺。然后檢查 hello.service 是否在運行:

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

使用預先配置的 SSH 密鑰,你還可以訪問虛擬機并檢查其上運行的服務:

  1. $ ssh core@192.168.122.237
  2. $ systemctl status hello
  3. hello.service - Run a hello world web service
  4. Loaded: loaded (/etc/systemd/system/hello.service; enabled; vendor preset: enabled)
  5. Active: active (running) since Wed 2020-10-28 10:10:26 UTC; 42s ago

zincati、rpm-ostree 和自動更新

zincati 服務使用自動更新驅動 rpm-ostreed。

檢查虛擬機上當前運行的 Fedora CoreOS 版本,并檢查 zincati 是否找到了更新:

  1. $ ssh core@192.168.122.237
  2. $ rpm-ostree status
  3. State: idle
  4. Deployments:
  5. ostree://fedora:fedora/x86_64/coreos/stable
  6. Version: 32.20200907.3.0 (2020-09-23T08:16:31Z)
  7. Commit: b53de8b03134c5e6b683b5ea471888e9e1b193781794f01b9ed5865b57f35d57
  8. GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
  9. $ systemctl status zincati
  10. zincati.service - Zincati Update Agent
  11. Loaded: loaded (/usr/lib/systemd/system/zincati.service; enabled; vendor preset: enabled)
  12. Active: active (running) since Wed 2020-10-28 13:36:23 UTC; 7s ago
  13. Oct 28 13:36:24 cosa-devsh zincati[1013]: [INFO ] initialization complete, auto-updates logic enabled
  14. Oct 28 13:36:25 cosa-devsh zincati[1013]: [INFO ] target release '32.20201004.3.0' selected, proceeding to stage it
  15.  
  16. ... zincati reboot ...

重啟后,我們再遠程登錄一次,檢查新版的 Fedora CoreOS:

  1. $ ssh core@192.168.122.237
  2. $ rpm-ostree status
  3. State: idle
  4. Deployments:
  5. ostree://fedora:fedora/x86_64/coreos/stable
  6. Version: 32.20201004.3.0 (2020-10-19T17:12:33Z)
  7. Commit: 64bb377ae7e6949c26cfe819f3f0bd517596d461e437f2f6e9f1f3c24376fd30
  8. GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
  9. ostree://fedora:fedora/x86_64/coreos/stable
  10. Version: 32.20200907.3.0 (2020-09-23T08:16:31Z)
  11. Commit: b53de8b03134c5e6b683b5ea471888e9e1b193781794f01b9ed5865b57f35d57
  12. GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0

rpm-ostree status 現在顯示了兩個版本的 Fedora CoreOS,一個是 QEMU 鏡像中的版本,一個是更新后的最新版本。有了這兩個版本,就可以使用 rpm-ostree rollback 命令回滾到之前的版本。

最后,你可以確保 hello 服務仍在運行并提供內容:

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

更多信息參見:Fedora CoreOS 更新

刪除虛擬機

要進行事后清理,使用以下命令刪除虛擬機和相關存儲:

  1. $ virsh destroy fcos
  2. $ virsh undefine --remove-all-storage fcos

結論

Fedora CoreOS 為在容器中運行應用程序提供了一個堅實而安全的操作系統。它在推薦主機使用聲明式配置文件進行配置的 DevOps 環境中表現出色。自動更新和回滾到以前版本的操作系統的能力,可以在服務的運行過程中帶來安心的感覺。

通過關注項目文檔中的教程,了解更多關于 Fedora CoreOS 的信息。 

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2021-10-03 14:47:26

Fedora CoreGitHub Acti運行器

2015-01-15 10:50:46

CoreOSUnitedStackDocker

2011-09-30 10:41:06

Fedora

2021-11-22 09:56:13

FedoraLinux

2015-05-05 14:16:22

容器技術CoreOSGoogle

2015-11-17 09:46:29

CoreOS開源漏洞分析

2015-05-05 11:04:31

CoreOS自動化運維

2015-07-20 15:08:58

CoreOS安裝

2011-05-19 13:09:50

Fedora 15

2009-12-21 17:05:48

2010-01-11 18:21:12

Fedora reis

2009-12-28 09:51:17

Fedora GNOM

2015-08-27 13:23:42

CoreOSKubernetesKubelet

2023-02-18 13:47:04

CoreOS容器操作系統云原生

2009-12-15 15:46:23

Fedora平臺

2014-12-03 10:13:01

Docker容器技術Rocket

2017-08-11 10:38:12

LinuxCoreOS發行版

2012-08-30 11:22:54

Fedora 18

2019-05-14 15:55:15

Fedora 29Fedora 30Linux

2019-11-05 13:20:00

Fedora 30Fedora 31Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜寂寞影院列表 | 国产精品美女视频 | 天天看片天天干 | 亚洲精品一区中文字幕 | 国产日韩91| 欧美一区二区在线观看 | 亚洲久久一区 | 国产乱精品一区二区三区 | www.中文字幕.com| 国产成人免费视频网站高清观看视频 | 亚洲成人免费视频 | 国产在线二区 | 亚洲激情一区二区 | 日韩欧美在线观看视频网站 | 色综合99| 中文字幕不卡在线观看 | 日本精品一区 | 中文在线一区 | 成人国产精品久久 | 亚洲国产精品人人爽夜夜爽 | 色天堂影院| 国产羞羞视频在线观看 | 日韩精品一区二区三区在线观看 | 国产在线不卡视频 | 91在线观 | a在线视频 | 黄色免费av| 国产精品无码久久久久 | 搞黄网站在线观看 | 婷婷色国产偷v国产偷v小说 | 国产精品免费看 | 超碰97av | 国产视频第一页 | 欧美a在线看 | 一区二区视频在线观看 | 中文字幕在线观看一区 | 国产乱码精品一品二品 | 成人亚洲在线 | 国产精品久久久久一区二区三区 | 黄色一级片aaa | 国产乱性 |