如何从 Fedora 25 原子主机到 26

[ad_1]

7 月,原子工作组提出了 第一的第二 的发布 Fedora 26 原子主机。 本文将向您展示如何准备现有的 Fedora 25 原子主机系统 Fedora 26 并进行升级。

如果你真的不想升级到 Fedora 26 见后面部分: Fedora 25 原子主机生命支持。

准备升级

在执行更新之前 Fedora 26 原子主机,检查文件系统以验证根文件系统中至少存在几 GiB 的可用空间。 更新到 Fedora 26 可能检索超过 1GiB 的新内容(未与 Fedora 25),因此需要足够的可用空间。

幸运的是,上游 OSTree 已经实现了一些 文件系统检查 以确保升级在填满文件系统之前停止。

这里的例子是一个 Vagrant 盒子。 首先,检查可用空间:

[[email protected] ~]$ sudo df -kh /
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/atomicos-root  3.0G  1.4G  1.6G  47% /

仅有的

1.6G

free 意味着根文件系统可能需要扩展以确保有足够的空间。 通过运行以下命令检查可用空间:

[[email protected] ~]$ sudo vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  atomicos   1   2   0 wz--n- 40.70g 22.60g
[[email protected] ~]$ sudo lvs
  LV          VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  docker-pool atomicos twi-a-t--- 15.09g             0.13   0.10                            
  root        atomicos -wi-ao----  2.93g

相关系统上的卷组具有

22.60克

免费和

原子/根

逻辑卷是

2.93克

在尺寸方面。 将根卷组的大小增加 3 GiB:

[[email protected] ~]$ sudo lvresize --size=+3g --resizefs atomicos/root
  Size of logical volume atomicos/root changed from 2.93 GiB (750 extents) to 5.93 GiB (1518 extents).
  Logical volume atomicos/root successfully resized.
meta-data=/dev/mapper/atomicos-root isize=512    agcount=4, agsize=192000 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1 spinodes=0 rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=768000, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 768000 to 1554432
[[email protected] ~]$ sudo lvs
  LV          VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  docker-pool atomicos twi-a-t--- 15.09g             0.13   0.10                            
  root        atomicos -wi-ao----  5.93g

调整大小

上面的命令还一次性调整了文件系统的大小。 要确认,请检查文件系统使用情况:

[[email protected] ~]$ sudo df -kh /
Filesystem                 Size  Used Avail Use% Mounted on
/dev/mapper/atomicos-root  6.0G  1.4G  4.6G  24% /

升级

现在系统应该可以升级了。 如果您在生产系统上执行此操作,您可能需要为停机准备服务。

如果您使用编排平台,则需要注意一些事项。 如果您使用 Kubernetes,请参阅后面的 Kubernetes 部分:使用 Kubernetes 升级系统。 如果您使用 OpenShift Origin(即通过由 openshift-ansible 安装程序),升级应该不需要任何准备。

目前系统开启 Fedora 25 原子主机使用

fedora-atomic/25/x86_64/docker-host

参考。

[[email protected] ~]$ rpm-ostree status
State: idle
Deployments:
● fedora-atomic:fedora-atomic/25/x86_64/docker-host
                Version: 25.154 (2017-07-04 01:38:10)
                 Commit: ce555fa89da934e6eef23764fb40e8333234b8b60b6f688222247c958e5ebd5b

为了做升级的位置 Fedora 26 存储库需要添加为新的远程(如 git 远程)

牡蛎

了解:

[[email protected] ~]$ sudo ostree remote add --set=gpgkeypath=/etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-26-primary fedora-atomic-26 https://kojipkgs.fedoraproject.org/atomic/26

从命令中可以看出,一个新的遥控器被称为

fedora-atomic-26

添加了一个远程 url

https://kojipkgs.fedoraproject.org/atomic/26

. 这

gpgkeypath

在遥控器的配置中也设置了变量。 这告诉 OSTree 它应该在从远程下载时验证提交签名。这是启用的新功能 Fedora 26 原子主机。

现在系统有了

fedora-atomic-26

远程升级可以执行:

[[email protected] ~]$ sudo rpm-ostree rebase fedora-atomic-26:fedora/26/x86_64/atomic-host

Receiving metadata objects: 0/(estimating) -/s 0 bytes
Signature made Sun 23 Jul 2017 03:13:09 AM UTC using RSA key ID 812A6B4B64DAB85D
  Good signature from "Fedora 26 Primary <[email protected]>"

Receiving delta parts: 0/27 5.3 MB/s 26.7 MB/355.4 MB
Signature made Sun 23 Jul 2017 03:13:09 AM UTC using RSA key ID 812A6B4B64DAB85D
  Good signature from "Fedora 26 Primary <[email protected]>"

27 delta parts, 9 loose fetched; 347079 KiB transferred in 105 seconds                                                                                                                                            
Copying /etc changes: 22 modified, 0 removed, 58 added
Transaction complete; bootconfig swap: yes deployment count change: 1
Upgraded:
  GeoIP 1.6.11-1.fc25 -> 1.6.11-1.fc26
  GeoIP-GeoLite-data 2017.04-1.fc25 -> 2017.06-1.fc26
  NetworkManager 1:1.4.4-5.fc25 -> 1:1.8.2-1.fc26
  ...
  ...
  setools-python-4.1.0-3.fc26.x86_64
  setools-python3-4.1.0-3.fc26.x86_64
Run "systemctl reboot" to start a reboot
[vagrant[email protected] ~]$ sudo reboot
Connection to 192.168.121.217 closed by remote host.
Connection to 192.168.121.217 closed.

重启后状态如下:

$ vagrant ssh
[[email protected] ~]$ rpm-ostree status
State: idle
Deployments:
● fedora-atomic-26:fedora/26/x86_64/atomic-host
                Version: 26.91 (2017-07-23 03:12:08)
                 Commit: 0715ce81064c30d34ed52ef811a3ad5e5d6a34da980bf35b19312489b32d9b83
           GPGSignature: 1 signature
                         Signature made Sun 23 Jul 2017 03:13:09 AM UTC using RSA key ID 812A6B4B64DAB85D
                         Good signature from "Fedora 26 Primary <[email protected]>"

  fedora-atomic:fedora-atomic/25/x86_64/docker-host
                Version: 25.154 (2017-07-04 01:38:10)
                 Commit: ce555fa89da934e6eef23764fb40e8333234b8b60b6f688222247c958e5ebd5b
[[email protected] ~]$ cat /etc/fedora-release
Fedora release 26 (Twenty Six)

系统现已开启 Fedora 26 原子主机。 如果这是一个生产系统,现在将是检查服务的好时机,很可能是在容器中运行,看看它们是否仍然有效。 如果服务没有按预期出现,您可以使用回滚命令:

sudo rpm-ostree 回滚。

要跟踪版本之间升级 Atomic Host 的更新命令,请访问 这个维基页面.

使用 Kubernetes 升级系统

Fedora 25 Atomic Host 随 Kubernetes v1.5.3, 和 Fedora 26 Atomic Host 随 Kubernetes 一起提供 v1.6.7. 如果您将参与现有 Kubernetes 集群的系统从 25 升级到 26,则必须进行一些配置更改。

节点服务器

在 Kubernetes 1.6 中,

–配置

论据不再有效。 如果存在具有

KUBELET_ARGS

变量在

/etc/kubernetes/kubelet

指向清单目录使用

–配置

参数,您必须将参数名称更改为

–pod-manifest-path

. 也在

KUBELET_ARGS

,添加一个附加参数:

–cgroup-driver=systemd

.

例如,如果

/etc/kubernetes/kubelet

文件以以下内容开头:

KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubelet.kubeconfig --config=/etc/kubernetes/manifests --cluster-dns=10.254.0.10 --cluster-domain=cluster.local"

然后将其更改为:

KUBELET_ARGS="--kubeconfig=/etc/kubernetes/kubelet.kubeconfig --pod-manifest-path=/etc/kubernetes/manifests --cluster-dns=10.254.0.10 --cluster-domain=cluster.local --cgroup-driver=systemd"

主服务器

留在 etcd2

从 Kubernetes 1.5 到 1.6 上游 转移 从使用 etcd API 的第 2 版到第 3 版。 Kubernetes 文档 指示用户 添加 两个论据

KUBE_API_ARGS

中的变量

/etc/kubernetes/apiserver

文件:

--storage-backend=etcd2 --storage-media-type=application/json

这可确保 Kubernetes 在升级完成后继续查找存储在 etcd 中的任何 pod、服务或其他对象。

迁移到 etcd3

您可以稍后将 etcd 数据迁移到 v3 API。 首先,停止 etcd 和 kube-apiserver 服务。 然后,假设数据存储在

/var/lib/etcd

,运行以下命令迁移到 etcd3:

# ETCDCTL_API=3 etcdctl --endpoints https://YOUR-ETCD-IP:2379 migrate --data-dir=/var/lib/etcd

数据迁移后,删除

–存储后端=etcd2

–存储媒体类型=应用程序/json

来自的论点

/etc/kubernetes/apiserver

文件,然后重新启动 etcd 和 kube-apiserver 服务。

Fedora 25 原子主机生命支持

原子工作组 决定 不断更新

fedora-atomic/25/x86_64/docker-host

每天参考菩提在里面跑 Fedora. 每天都会创建一个新的更新。 但是,建议您将系统升级到 Fedora 26 因为未来的测试和开发侧重于 Fedora 26 原子主机。 Fedora 25 OSTrees 不会被明确测试。

结论

过渡到 Fedora 26 Atomic Host 应该是一个顺利的过程。 如果您有问题或想参与 Atomic Host 的未来方向,请加入 IRC(#atomic on 自由节点) 或在 原子级 邮件列表。

[ad_2]

Related Posts