第 2 章 Operator 如何使用红帽构建的 MicroShift


您可以将 Operator 与 Red Hat build of MicroShift 搭配使用,以创建用于监控集群中运行的服务的应用程序。操作员可以管理应用程序及其资源,如部署数据库或消息总线。作为在集群中运行的自定义软件,可以使用 Operator 来实现和自动化常见操作。

Operator 提供了更本地化的配置体验,并与 Kubernetes API 和 CLI 工具(如 kubectloc )集成。Operator 是专为您的应用程序而设计的。Operator 允许您配置组件而不是修改全局配置文件。

红帽 MicroShift 应用程序的构建通常预期部署到静态环境中。但是,如果在您的用例中很有用,Operator 就会可用。要确定 Operator 与 Red Hat build of MicroShift 的兼容性,请查看 Operator 的文档。

2.1. 如何在红帽构建的 MicroShift 中安装 Operator

为尽量减少红帽构建的 MicroShift 占用空间,Operator 直接使用清单安装,而不使用 Operator Lifecycle Manager (OLM)。以下示例演示了如何在红帽构建的 MicroShift 中使用 kustomize 配置管理工具来部署应用程序。使用相同的步骤使用清单安装 Operator。

2.1.1. 清单在 kustomize 中如何工作

kustomize 配置管理工具与红帽构建的 MicroShift 集成。在每次开始时,红帽构建的 MicroShift 会在 /etc/microshift/manifests/usr/lib/microshift/ 清单目录中搜索 kustomization.yaml 文件。如果找到了一个,红帽构建的 MicroShift 会自动运行与 kubectl apply -k 命令等效的命令,以将标识的清单应用到集群。

位置作用

/etc/microshift/manifests

用于配置管理系统或开发的读写位置。

/usr/lib/microshift/manifests

在基于 OSTree 的系统上嵌入配置清单的只读位置。

2.1.2. 使用清单示例

本例演示了使用 /etc/microshift/manifests 目录中的 kustomize 清单自动部署 BusyBox 容器。

流程

  1. 运行以下命令来创建 BusyBox 清单文件:

    1. 定义目录位置:

      $ MANIFEST_DIR=/etc/microshift/manifests
    2. 创建目录:

      $ sudo mkdir -p ${MANIFEST_DIR}
    3. 将 YAML 文件放在目录中:

      $ sudo tee ${MANIFEST_DIR}/busybox.yaml &>/dev/null <<EOF
      
      apiVersion: v1
      kind: Namespace
      metadata:
        name: busybox
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: busybox-deployment
      spec:
        selector:
          matchLabels:
            app: busybox
        template:
          metadata:
            labels:
              app: busybox
          spec:
            containers:
            - name: busybox
              image: BUSYBOX_IMAGE
              command:
                - sleep
                - "3600"
      EOF
  2. 接下来,运行以下命令来创建 kustomize 清单文件:

    1. 将 YAML 文件放在目录中:

      $ sudo tee ${MANIFEST_DIR}/kustomization.yaml &>/dev/null <<EOF
      ---
      apiVersion: kustomize.config.k8s.io/v1beta1
      kind: Kustomization
      namespace: busybox
      resources:
        - busybox.yaml
      images:
        - name: BUSYBOX_IMAGE
          newName: registry.k8s.io/busybox
      EOF
  3. 运行以下命令重启 Red Hat build of MicroShift 以应用清单:

    $ sudo systemctl restart microshift
  4. 运行以下命令应用清单并启动 busybox pod:

    $ oc get pods -n busybox
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.