随着技术的不断演进,应用的部署方式从传统的一个操作系统之上部署多个应用的方式演化为基于 Hypervisor 通过虚拟化方式来部署应用。近些年,随着容器技术的不断成熟,很多应用又从虚拟化的部署方式逐渐转向到容器化部署。容器化技术可以理解为操作系统层面的轻量级虚拟化。
要运行容器,必须要通过容器镜像进行。可以在互联网上的公共容器镜像仓库中搜索已有的容器镜像。大家最熟悉的容器镜像仓库是 DockerHub:
浪潮商用机器的 K1 Power 服务器使用的是 IBM POWER 处理器,不同于 Intel 的 X86 处理器。在互联网上的公共容器镜像仓库中搜索镜像时,请注意带 ppc64le 标签的镜像才是支持 Power 服务器的版本:
要制作自己应用程序的容器镜像可以通过 Dockerfile 实现。通过 Dockerfile 制作镜像的过程,以及 Dockerfile 的示例如下面两幅图片所示:
如果系统中包含了大量的容器,完全通过手动的方式管理容器是一个极大的挑战,此时就需要容器编排系统。目前,开源的 Kubernetes ( K8S )已经成为了容器编排系统的事实标准。很多厂商均基于 Kubernetes 发布了自己的商用容器云系统,其中 Redhat 的 OpenShift Container Platform 无疑是其中的佼佼者。 2018 年发布的 OpenShift 3.11 开始支持 Power 平台, 2019 年发布的 OpenShift 4.x 是 Power 服务器上的首选版本。
OpenShift 4 的技术堆栈如下图所示:底层操作系统采用的是 Red Hat Enterprise Linux CoreOS (RHCOS) ,容器运行时是 CRI-O ,基于 Kubernets 引入了 Operator 的功能来支持有状态的应用;最上层是 OpenShift 的特定服务,包含性能监控组件 Prometheus/Grafana 、 EFK 日志套件、 CI/CD 组件、服务网格 Istio 等。
OpenShift 基于 Kubernetes 开发,架构和 Kubernestes 类似,包含 master 结点和 worker 结点:
并原生支持高可用架构:
围绕整个容器云的生态, Redhat 进行了大量的工作,包含:
1) 收购 CoreOS ,并将其容器操作系统整合到 RHEL 中,形成新的容器操作系统 Red Hat Enterprise Linux CoreOS (RHCOS) 。
2) 开发与 Kubernetes CRI 兼容性更好的轻量级的容器运行时 CRI-O ,替代 docker 。
3) 考虑到 docker 需要 root 权限的不安全因素,开发新的容器管理工具: podman 、 buildah 和 skopeo 。
OpenShift 在 Kubernetes 的基础上引入了一些新的概念,如 Image Stream 、 Source 2 Image 、 Template 。 OpenShift 4 同时大力引入了 Kubernetes 中的 Operator 用于有状态应用的维护。下面分别对 Image Stream 、 Source 2 Image 、 Template 和 Operator 进行介绍。
也可以到 github 上搜索针对 ppc64le 平台的模板:
https://github.com/openshift/library/tree/master/arch/ppc64le/official
可以通过 Operator SDK 构建自己应用的 Operator 。
Operator SDK 的网址如下:https://github.com/operator-framework/operator-sdk
OpenShift 的官网对 Operator SDK 的使用进行了介绍:https://docs.openshift.com/container-platform/4.6/operators/operator_sdk/osdk-getting-started.html
Operator 的三种构建方式如下图:
OpenShift 内置了很多应用厂商开发的 Operator :
在 Redhat 的网址上也可以查找和下载 OpenShift 认证的 Operator :
https://catalog.redhat.com/software/operators/search
https://operatorhub.io 网址上也可以下载很多应用对应的 Operator :
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论