• Русский
  • Установка

    Установка Alauda DevOps Pipelines

    Это руководство предназначено для администраторов кластера и описывает процесс установки оператора Alauda DevOps Pipelines в Kubernetes-кластер.

    Предварительные требования

    • У вас есть доступ к Kubernetes-кластеру с учётной записью, обладающей правами cluster-admin.

    • Установлен CLI-инструмент kubectl.

    • В вашем кластере включена функция Marketplace или доступен Operator Hub.

    • Скачайте пакет оператора и сохраните его в рабочем каталоге на машине для операций.

      • Загрузка оператора

        INFO

        Alauda Devops Pipelines можно получить из Alauda Cloud.

        Для получения дополнительной информации обратитесь в службу поддержки потребителей.

      • Загрузка оператора на платформу

        Независимо от того, импортируете ли вы нового оператора или добавляете новую версию к существующему оператору, вы можете использовать инструмент violet для выполнения задачи, команды при этом одинаковы.

        Выполните следующую команду в рабочем каталоге:

        ./violet push \
            <operator-package> \
            --platform-address <platform-address> \
            --platform-username <platform-username> \
            --platform-password <platform-password> \
            --clusters <clusters>
            --force
        1. Запустите инструмент violet для загрузки пакета оператора на платформу.
        2. <operator-package>: имя пакета оператора (пример: tektoncd-operator.latest.amd64.v4.7.0.tgz).
        3. <platform-address>: URL-адрес платформы (пример: https://platform.example.com).
        4. <platform-username>: имя пользователя платформы, требуются права администратора платформы.
        5. <platform-password>: пароль пользователя платформы.
        6. <clusters>: список кластеров, куда нужно загрузить оператора, разделённый запятыми (пример: global, business).
        7. --force: принудительное перезаписывание существующих образов и артефактов в реестре.
        WARNING

        Если вы загружаете новую версию для обновления существующего tektoncd-operator, параметр --force обязателен при использовании violet для загрузки Operator, чтобы перезаписать существующие образы и артефакты в реестре.

        Затем перейдите на страницу платформы Platform Management -> Marketplace -> Upload Packages, найдите оператор по ключевому слову и кликните по названию оператора, чтобы перейти на страницу с деталями оператора.

        На странице деталей будет отображена новая версия оператора. Если статус Uploaded, значит загрузка прошла успешно.

    Установка Alauda DevOps Pipelines через веб-консоль

    Вы можете установить оператор Alauda DevOps Pipelines, используя список операторов в Marketplace или OperatorHub. При установке оператора автоматически устанавливаются необходимые Custom Resources (CR).

    Оператор предоставляет следующие Custom Resource Definitions (CRD) для управления компонентами Tekton: tektonconfigs.operator.tekton.dev, tektonpipelines.operator.tekton.dev, tektontriggers.operator.tekton.dev, tektonhubs.operator.tekton.dev и другие.

    Если Tekton Pipelines уже установлен в вашем кластере, оператор выполнит бесшовное обновление существующей установки.

    Оператор Alauda DevOps Pipelines позволяет выбрать компоненты для установки, указав предустановленную конфигурацию в Custom Resource TektonConfig (CR). CR TektonConfig автоматически устанавливается вместе с оператором. Поддерживаемые предустановки:

    • Lite: устанавливает только Tekton Pipelines.
    • Basic: устанавливает Tekton Pipelines и Tekton Triggers.
    • All: предустановка по умолчанию при установке CR TektonConfig. Устанавливает все компоненты Tekton, включая Tekton Pipelines и Tekton Triggers.

    Краткое описание каналов

    • stable (по умолчанию): устанавливает последнюю LTS-версию. Рекомендуется для производственных сред.
    • latest: устанавливает последнюю доступную версию, включая не-LTS релизы. Рекомендуется для разработки и тестирования.
    • pipelines-4.10: ограничивает обновления только патч-релизами v4.10.z.

    Шаги

    • В веб-консоли перейдите в раздел Marketplace или OperatorHub.

    • В поле Filter by keyword найдите оператор Alauda DevOps Pipelines в каталоге. Кликните по названию оператора Alauda DevOps Pipelines Operator.

    • Ознакомьтесь с обзором оператора на странице Alauda DevOps Pipelines Operator. Нажмите Install.

    • На странице Install Operator:

      • Для Installation Mode выберите All namespaces on the cluster (default). Этот режим устанавливает оператора в пространство имён tekton-operator по умолчанию, что позволяет оператору отслеживать и быть доступным во всех пространствах имён кластера.
      • Для Approval Strategy выберите Automatic. Это гарантирует автоматическое управление будущими обновлениями оператора через Operator Lifecycle Manager (OLM). Если выбрать стратегию Manual, OLM будет создавать запросы на обновление, которые администратор кластера должен будет одобрить вручную для обновления оператора.
      • При наличии нескольких каналов выберите нужный Update Channel.
    • Нажмите Install. Оператор появится на странице Installed Operators.

    • Убедитесь, что Status установлен в Succeeded, чтобы подтвердить успешную установку оператора Alauda DevOps Pipelines.

    • Проверьте, что все компоненты оператора успешно установлены. Войдите в кластер через терминал и выполните команду:

      $ kubectl get tektonconfig config

      Пример вывода

      NAME     VERSION   READY   REASON
      config   v0.74.1     True

      Если состояние READY равно True, это означает успешную установку оператора и его компонентов.

      Дополнительно проверьте версии компонентов командой:

      $ kubectl get tektonpipeline,tektontrigger,tektonhub,tektonchain

      Пример вывода

      NAME                                          VERSION           READY   REASON
      tektonpipeline.operator.tekton.dev/pipeline   v0.65.5-c96b8b8   True
      
      NAME                                        VERSION           READY   REASON
      tektontrigger.operator.tekton.dev/trigger   v0.30.1-f53d05d   True
      
      NAME                                VERSION   READY   REASON   APIURL   UIURL
      tektonhub.operator.tekton.dev/hub   1.19.2    True
      
      NAME                                    VERSION           READY   REASON
      tektonchain.operator.tekton.dev/chain   v0.23.0-927681d   True

    Установка Alauda DevOps Pipelines через CLI

    Вы можете установить оператор Alauda DevOps Pipelines из OperatorHub с помощью командной строки (CLI).

    Шаги

    • Создайте YAML-файл объекта Subscription для подписки пространства имён на оператор Alauda DevOps Pipelines, например, sub.yaml:

    Пример YAML для Subscription

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: tektoncd-operator
      namespace: tekton-operator
    spec:
      channel: stable
      name: tektoncd-operator
      source: platform
      sourceNamespace: cpaas-system
    1. Имя канала, на который вы хотите подписаться. stable — канал по умолчанию, устанавливающий последнюю LTS-версию. Используйте latest для получения всех релизов или pipelines-4.10 для обновлений только патчей v4.10.z.
    2. Имя оператора для подписки.
    3. Имя объекта CatalogSource, предоставляющего оператора.
    4. Пространство имён объекта CatalogSource. Может отличаться в зависимости от конфигурации кластера.
    • Создайте объект Subscription, выполнив команду:

      $ kubectl apply -f sub.yaml

      Подписка установит оператор Alauda DevOps Pipelines в пространство имён tekton-operator. Оператор автоматически установит компоненты Tekton в целевом пространстве имён по умолчанию tekton-pipelines.

    Удаление Alauda DevOps Pipelines

    Администраторы кластера могут удалить оператор Alauda DevOps Pipelines, выполнив следующие действия:

    • Удалите все CR опциональных компонентов, если они существуют, затем удалите CR TektonConfig.
    • Удалите оператор Alauda DevOps Pipelines.
    • При необходимости удалите Custom Resource Definitions (CRD) группы operator.tekton.dev.

    Простое удаление оператора не удалит компоненты Alauda DevOps Pipelines, созданные по умолчанию при установке оператора.

    Удаление экземпляров ресурсов Alauda DevOps Pipelines

    Сначала удалите CR TektonConfig и любые другие CR компонентов Tekton, если они существуют.

    Шаги

    • В веб-консоли перейдите в раздел AdministrationCustomResourceDefinitions или аналогичный.
    • Найдите CRD TektonConfig.
    • Кликните по CRD TektonConfig, чтобы открыть страницу с деталями.
    • Перейдите на вкладку Instances.
    • Если отображается экземпляр, откройте меню Options для этого экземпляра.
    • Выберите Delete.
    • Подтвердите удаление CR, нажав Delete.
      • Удаление ресурса TektonConfig вызовет каскадное удаление автоматически созданных компонентов TektonPipelines, TektonTriggers, TektonHubs, TektonChains и т.д.
    • Повторите эти шаги для других CR компонентов Tekton, если они существуют.
      • Если вы вручную создавали TektonResults или OpenShiftPipelinesAsCodes, их возможно придётся удалить вручную.

    Удаление оператора Alauda DevOps Pipelines

    Вы можете удалить оператор через веб-консоль.

    Шаги

    • На странице Marketplace или OperatorHub перейдите в раздел Installed Operators.
    • Найдите оператор Alauda DevOps Pipelines в списке.
    • Откройте меню Options и выберите Uninstall Operator.
    • В окне Uninstall Operator? выберите Delete all operand instances for this operator, затем нажмите Uninstall.

    Удаление определений ресурсов Alauda DevOps Pipelines (опционально)

    Если вы хотите полностью удалить все следы Tekton Operator, можно удалить Custom Resource Definitions (CRD) группы operator.tekton.dev.

    Шаги

    • В веб-консоли перейдите в раздел AdministrationCustomResourceDefinitions или аналогичный.
    • Найдите CRD по ключевому слову operator.tekton.dev.
    • Для каждого CRD, который хотите удалить:
      • Откройте меню Options.
      • Выберите Delete CustomResourceDefinition.
      • Подтвердите удаление, нажав Delete.

    Настройка конфигурации в TektonConfig

    В Alauda DevOps Pipelines вы можете настроить следующие параметры с помощью Custom Resource (CR) TektonConfig:

    • Оптимизация производительности Tekton Pipelines, включая режим высокой доступности для контроллера Tekton Pipelines
    • Конфигурация управляющей плоскости Tekton Pipelines
    • Изменение учётной записи сервиса по умолчанию
    • Настройка резолверов pipeline
    • Отключение определённых функций или компонентов

    Предварительные требования

    Оператор Alauda DevOps Pipelines должен быть установлен.

    Настройка производительности с помощью TektonConfig CR

    Вы можете изменить поля в параметре .spec.pipeline.performance Custom Resource TektonConfig для настройки поддержки высокой доступности (HA) и производительности контроллера Tekton Pipelines.

    Пример полей производительности в TektonConfig

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        performance:
          disable-ha: false
          buckets: 7
          replicas: 5
          threads-per-controller: 2
          kube-api-qps: 5.0
          kube-api-burst: 10
          statefulset-ordinals: false

    Все поля необязательны. При их указании оператор Alauda DevOps Pipelines включает большинство из них в параметры деплоя tekton-pipelines-controller в контейнере tekton-pipelines-controller. Также оператор обновляет поле bucket в ConfigMap config-leader-election в пространстве имён tekton-pipelines.

    Если значения не заданы, оператор не обновляет эти поля и применяет значения по умолчанию контроллера Tekton Pipelines.

    INFO

    Если вы измените или удалите какие-либо поля производительности, оператор обновит деплоймент tekton-pipelines-controller и ConfigMap config-leader-election (если поле bucket изменилось) и пересоздаст pod tekton-pipelines-controller.

    Режим высокой доступности (HA) применяется к контроллеру Tekton Pipelines; он создаёт и запускает pod-ы на основе определений pipeline runs и task runs. Без HA режима все операции выполняет один pod, что может привести к высокой нагрузке и задержкам.

    В режиме HA Tekton Pipelines использует несколько pod-ов (реплик) для выполнения этих операций. Изначально операции контроллера распределяются по корзинам (buckets). Каждая реплика выбирает операции из одной или нескольких корзин. Если две реплики могут одновременно выбрать одну операцию, контроллер внутри решает, кто её выполнит.

    Режим HA не влияет на задачи, которые запускаются после создания pod-а.

    ИмяОписание
    disable-haВключение или отключение режима высокой доступности (HA). По умолчанию HA включён.
    bucketsКоличество корзин для обработки операций контроллера в режиме HA. Максимальное значение — 10.
    replicasКоличество pod-ов, создаваемых для обработки операций контроллера в режиме HA. Значение должно быть равно или меньше количества корзин.
    threads-per-controllerКоличество потоков (воркеров) для обработки очереди задач контроллера Tekton Pipelines.
    kube-api-qpsМаксимальное количество запросов в секунду (QPS) от REST-клиента к мастеру кластера.
    kube-api-burstМаксимальный всплеск запросов для ограничения скорости.
    statefulset-ordinalsВключение режима StatefulSet Ordinals для контроллера Tekton Pipelines.

    Конфигурация управляющей плоскости Tekton Pipelines

    Вы можете настроить управляющую плоскость Tekton Pipelines, редактируя поля конфигурации в Custom Resource TektonConfig. Оператор Alauda DevOps Pipelines автоматически включает значения по умолчанию для этих полей, чтобы вы могли использовать управляющую плоскость Tekton Pipelines.

    Процесс

    1. В веб-консоли перейдите в раздел CustomResourceDefinitions.
    2. Найдите Custom Resource Definition (CRD) tektonconfigs.operator.tekton.dev.
    3. Кликните по TektonConfig для просмотра страницы с деталями CRD.
    4. Перейдите на вкладку Instances.
    5. Кликните по экземпляру config для просмотра деталей CR TektonConfig.
    6. Перейдите на вкладку YAML.
    7. Отредактируйте YAML-файл TektonConfig в соответствии с вашими требованиями.

    Пример CR TektonConfig с значениями по умолчанию

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        running-in-environment-with-injected-sidecars: true
        metrics.taskrun.duration-type: histogram
        metrics.pipelinerun.duration-type: histogram
        await-sidecar-readiness: true
        default-service-account: pipeline
        require-git-ssh-secret-known-hosts: false
        enable-tekton-oci-bundles: false
        metrics.taskrun.level: task
        metrics.pipelinerun.level: pipeline
        enable-api-fields: stable
        enable-provenance-in-status: false
        enable-custom-tasks: true
        disable-creds-init: false
        disable-affinity-assistant: true

    Опции флагов функций

    В CR TektonConfig можно настроить следующие флаги функций для управления поведением Tekton Pipelines:

    • disable-affinity-assistant (по умолчанию: false)
    • disable-creds-init (по умолчанию: false)
    • enable-api-fields (по умолчанию: stable)
    • enable-custom-tasks (по умолчанию: true)
    • await-sidecar-readiness (по умолчанию: true)
    • running-in-environment-with-injected-sidecars (по умолчанию: true)
    • require-git-ssh-secret-known-hosts (по умолчанию: false)
    • enable-provenance-in-status (по умолчанию: true)

    Подробные описания каждой опции смотрите в документации Tekton Operator.

    Изменение учётной записи сервиса по умолчанию

    Вы можете изменить учётную запись сервиса по умолчанию для Tekton Pipelines, отредактировав поле default-service-account в спецификации .spec.pipeline. Имя учётной записи по умолчанию — pipeline.

    Пример

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      pipeline:
        default-service-account: custom-pipeline-account

    Установка меток и аннотаций для пространства имён установки

    Вы можете задать метки и аннотации для пространства имён tekton-pipelines, в которое оператор устанавливает компоненты Tekton Pipelines.

    Укажите метки и аннотации, добавив их в спецификацию .spec.targetNamespaceMetadata Custom Resource TektonConfig.

    Пример установки меток и аннотаций для пространства имён tekton-pipelines

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      targetNamespaceMetadata:
        labels: {"example-label":"example-value"}
        annotations: {"example-annotation":"example-value"}

    Следующие шаги

    После успешной установки оператора Alauda DevOps Pipelines: