[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]