OpenShift4 - RHCOS(译)

OpenShift4 - RHCOS(译),第1张

Red Hat Enterprise Linux CoreOS (RHCOS)代表了下一代的单用途容器 *** 作系统技术。RHCOS是由创建Red Hat Enterprise Linux Atomic Host和CoreOS Container Linux的开发团队创建的,它将Red Hat Enterprise Linux (RHEL)的质量标准与Container Linux的自动化、远程升级特性结合在一起。

RHCOS仅作为OpenShift容器平台4.3的一个组件被支持,适用于所有的OpenShift容器平台机器。RHCOS是OpenShift容器平台控制平面或主机的唯一支持的 *** 作系统。虽然RHCOS是所有集群机器的默认 *** 作系统,但是您可以创建使用RHEL作为其 *** 作系统的 compute 节点(也称为 worker 节点)。RHCOS在OpenShift容器平台上的部署方式有两种:

基于RHEL : 底层 *** 作系统主要由RHEL组件组成。支持RHEL的同样质量、安全和控制措施也支持RHCOS。例如,RHCOS软件在RPM包中,每个RHCOS系统都启动一个RHEL内核和一组由systemd init系统管理的服务。

受控不变性 : 虽然它包含RHEL组件,但RHCOS的设计比默认的RHEL安装管理更严格。管理是在OpenShift容器平台集群中远程执行的。当您设置您的RHCOS机器时,您只能修改一些系统设置。这种受控制的不变性允许OpenShift容器平台在集群中存储RHCOS系统的最新状态,因此它总是能够创建额外的机器,并根据最新的RHCOS配置执行更新。

crio容器运行时 :虽然RHCOS包含运行Docker所需的OCI和libcontainer格式容器的特性,但它合并了crio容器引擎,而不是Docker容器引擎。通过专注于Kubernetes平台所需的特性(如OpenShift容器平台),crio可以提供与Kubernetes不同版本的特定兼容性。与提供更大特性集的容器引擎相比,crio还提供了更小的足迹和更少的攻击面。目前,crio仅作为OpenShift容器平台集群中的容器引擎可用。

容器工具集 :对于诸如构建、复制和以其他方式管理容器的任务,RHCOS使用一组兼容的容器工具替换Docker CLI工具。podman CLI工具支持许多容器运行时特性,比如运行、启动、停止、列出和删除容器和容器映像。skopeo CLI工具可以复制、验证和签署图像。您可以使用crictl CLI工具来处理来自crio容器引擎的容器和吊舱。虽然不鼓励在RHCOS中直接使用这些工具,但是可以将它们用于调试目的。

rpm-ostree升级 :RHCOS提供使用rpm-ostree系统的事务升级。更新是通过容器映像交付的,并且是OpenShift容器平台更新过程的一部分。部署后,将提取、提取容器映像并将其写入磁盘,然后修改引导装载程序以引导到新版本。机器将以滚动的方式重新启动更新,以确保集群容量受到的影响最小。

通过MachineConfigOperator更新 :在OpenShift容器平台中,Machine Config Operator 处理 *** 作系统升级。与通过yum升级来升级单个包不同,rpm-ostree将 *** 作系统的升级作为一个原子单元来交付。新的 *** 作系统部署在升级期间进行,并在下一次重新启动时生效。如果升级出现问题,一次回滚和重新启动将使系统恢复到以前的状态。OpenShift容器平台中的RHCOS升级是在集群更新期间执行的。

对于RHCOS系统,rpm-ostree文件系统的布局具有以下特点:

RHCOS被设计成部署在OpenShift容器平台集群上,只需要最少的用户配置。其最基本的形式包括:

因为OpenShift容器平台中的RHCOS系统被设计为在此之后完全由OpenShift容器平台集群管理,所以不鼓励直接更改RHCOS机器。虽然可以出于调试目的对RHCOS机器集群进行有限的直接访问,但是不应该直接配置RHCOS系统。相反,如果您需要在您的OpenShift容器平台节点上添加或更改特性,请考虑通过以下方式进行更改:

下面是一些你可以在 day-1 进行的定制的例子:

为了完成这些任务,您可以扩展openshift-install过程,以包括额外的对象,如MachineConfigs。那些导致创建MachineConfigs的过程可以在集群启动后传递给Machine Config Operator。

针对OpenShift容器平台的RHCOS部署之间的差异取决于您是部署在安装程序提供的基础设施上,还是部署在用户提供的基础设施上:

Ignition只有在首次安装RHCOS系统时才能运行。之后,可以使用MachineConfigs提供Ignition配置。

Ignition是在初始配置期间被RHCOS用来 *** 作磁盘的实用工具。它完成常见的磁盘任务,包括分区磁盘、格式化分区、编写文件和配置用户。在第一次启动时,Ignition从安装介质或您指定的位置读取其配置,并将配置应用到机器上。

无论您是安装集群还是向集群中添加机器,Ignition总是执行OpenShift容器平台集群机器的初始配置。大多数实际的系统设置是在每台机器上进行的。对于每台机器,Ignition将获取RHCOS镜像并启动RHCOS内核。在内核命令行上的选项,识别部署类型和启用了启动的初始Ram磁盘(initramfs)的位置。

要使用Ignition创建机器,您需要Ignition配置文件。OpenShift容器平台安装程序创建了部署集群所需的Ignition配置文件。这些文件基于您直接或通过安装配置提供信息给install-config.yaml 文件。

Ignition配置机器的方式与cloud-init或Linux Anaconda kickstart等工具配置系统的方式类似,但有一些重要的区别:

在OpenShift容器平台集群中,RHCOS机器的Ignition过程包括以下几个步骤:

然后,机器就可以加入集群,不需要重新启动。

要查看用于部署引导机的Ignition配置文件,请运行以下命令:

在你回答了几个问题之后,bootstrap.ign, master.ign, 和worker.ign文件出现在您输入的目录中。

为了查看 bootstrap.ign文件,通过jq过滤器,以下是该文件的一个片段:

解码 bootstrap.ign文件内容。将表示该文件内容的base64编码的数据字符串通过管道传输到base64 -d命令。下面是一个例子,使用/etc/motd文件的内容从上面的输出添加到引导机:

在master.ign 和 worker.ign 文件上重复这些命令,查看每种机器类型的Ignition配置文件的来源。对于worker.ign,您应该看到类似下面这样的一行。确定它如何从引导机获得Ignition配置:

下面是一些你可以从bootstrap.ign文件学到:

Machine Config Pools管理节点集群及其相应的Machine Configs。Machine Configs包含集群的配置信息。列出所有已知的Machine Config Pools:

列出所有的Machine Config:

在应用这些MachineConfigs时,Machine Config Operator 的行为与Ignition有所不同。machineconfigs按顺序读取(从00 到99 )。machineconfigs中的标签标识每个节点(主节点或工作节点)的类型。如果相同的文件出现在多个machineconfig文件中,则最后一个获胜。因此,例如,出现在99 文件中的任何文件都将替换出现在00 文件中的相同文件。输入的machineconfig对象被合并到一个“呈现的”machineconfig对象中,该对象将被operator用作目标,并且是您可以在machineconfigpool中看到的值。

要查看从一个MachineConfigs中管理哪些文件,请在一个特定的MachineConfigs中查找“Path:”。例如:

如果您想要更改其中一个文件中的设置,例如将crio.conf文件中的pids_limit更改为1500 (pids_limit = 1500),您可以创建一个新的只包含您想要更改的文件的machineconfig。

确保稍后为machineconfig指定一个名称(例如10-worker-container-runtime)。请记住,每个文件的内容都是url样式的数据。然后将新的machineconfig应用于集群。

Photon OS是VMware公司基于Linux内核研发的一个容器 *** 作系统,部署之后可以为用户交付VMware公司的容器技术。与VMware公司的另一个容器技术vSphere Integrated Containers(VIC)不同,这是一个独立的OS,你可以把它当作类似ESXi这样的Hyervisor存在一样。 Photon OS的部署支持多种模式,包括:o 以OVA的形式部署,点击这里下载部署文件.o 部署到Google ComputeEngine,点击这里下载部署文件.o 部署到vCloud AIR.o 部署到Amazon WebServices,点击这里下载部署文件.o 部署到Microsoft Azure,点击这里下载部署文件. 截止2016年03月14日,Photon OS的安装介质有三种类型,分别是:o OVA部署介质,很小,就130M左右o Photon OS, Tech Preview – FullISO,这个版本会安装所有的东西,包括Photon OS里所需的rpm-ostree hosts和services.o Photon OS, Tech Preview – MinimalISO,这个版本则会最小化安装,只会安装Photon OS里所必须的组件. 首先,先安装一个VMware Fusion,猫猫用的是8.0版本,当然,如果是Windows平台,可以用VMware Workstation或vSphere平台,都Ok的。打开你的VMware Fusion,点击下图所示下载到的Photon OS ova版本:然后直接确认,等待导入完成后看到下图所示界面:如果有网路、CPU、RAM之类修改需求的,可以点击上图所示的Customize Settings,否则,可以直接点击Finish完成导入; 之后,就可以Power On这个OS,它其实就是一个Linux 3.0 Kernel的机器,启动过程非常迅速,启动完成时,会要求我们修改密码,默认密码为”changeme”,所以需要修改这就完成导入这个OVA了。

Photon OS是VMware公司基于Linux内核研发的一个容器 *** 作系统,部署之后可以为用户交付VMware公司的容器技术。与VMware公司的另一个容器技术vSphere Integrated Containers(VIC)不同,这是一个独立的OS,你可以把它当作类似ESXi这样的Hyervisor存在一样。

Photon OS的部署支持多种模式,包括:

o 以OVA的形式部署,点击这里下载部署文件.

o 部署到Google ComputeEngine,点击这里下载部署文件.

o 部署到vCloud AIR.

o 部署到Amazon WebServices,点击这里下载部署文件.

o 部署到Microsoft Azure,点击这里下载部署文件.

截止2016年03月14日,Photon OS的安装介质有三种类型,分别是:

o OVA部署介质,很小,就130M左右

o Photon OS, Tech Preview – FullISO,这个版本会安装所有的东西,包括Photon OS里所需的rpm-ostree hosts和services.

o Photon OS, Tech Preview – MinimalISO,这个版本则会最小化安装,只会安装Photon OS里所必须的组件.

首先,先安装一个VMware Fusion,猫猫用的是8.0版本,当然,如果是Windows平台,可以用VMware Workstation或vSphere平台,都Ok的。打开你的VMware Fusion,点击下图所示下载到的Photon OS ova版本:

然后直接确认,等待导入完成后看到下图所示界面:

如果有网路、CPU、RAM之类修改需求的,可以点击上图所示的Customize Settings,否则,可以直接点击Finish完成导入;

之后,就可以Power On这个OS,它其实就是一个Linux 3.0 Kernel的机器,启动过程非常迅速,启动完成时,会要求我们修改密码,默认密码为”changeme”,所以需要修改

这就完成导入这个OVA了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7101631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存