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

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

    Данный документ предоставляет администраторам кластера процесс установки оператора Alauda DevOps Pipelines на кластер Kubernetes.

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

    • У вас есть доступ к кластеру Kubernetes с учетной записью, имеющей привилегии cluster-admin.
    • Вы установили интерфейс командной строки kubectl.
    • В вашем кластере включена функция Marketplace или доступен Operator Hub.

    Установка Alauda DevOps Pipelines с использованием веб-консоли

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

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

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

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

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

    Шаги

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

    • Используйте поле Фильтр по ключевым словам, чтобы найти Alauda DevOps Pipelines Operator в каталоге. Нажмите на заголовок Alauda DevOps Pipelines Operator.

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

    • На странице Установить оператора:

      • Для Режима установки выберите Все пространства имен кластера (по умолчанию). Этот режим устанавливает оператора в пространства имен по умолчанию tekton-operator, позволяя оператору следить за всеми пространствами имен в кластере и быть доступным.
      • Для Стратегии одобрения выберите Автоматическое. Это обеспечивает автоматическую обработку будущих обновлений оператора менеджером жизненного цикла оператора (OLM). Если вы выберете стратегию одобрения Ручное, OLM создаст запросы на обновление. В качестве администратора кластера вы должны вручную одобрить запросы на обновление OLM, чтобы обновить оператора до новой версии.
      • Выберите Канал обновлений, если доступно несколько каналов.
    • Нажмите Установить. Вы увидите оператора на странице установленных операторов.

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

    • Убедитесь, что все компоненты оператора 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: latest
      name: tektoncd-operator
      source: platform
      sourceNamespace: cpaas-system
    1. Имя канала, на который вы хотите подписаться. Канал latest позволяет установить последнюю стабильную версию оператора Alauda DevOps Pipelines.
    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.
    • При необходимости удалите определения пользовательских ресурсов (CRD) для группы operator.tekton.dev.

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

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

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

    Шаги

    • В веб-консоли перейдите в раздел АдминистрированиеCustomResourceDefinitions или эквивалентный раздел.
    • Найдите CRD TektonConfig.
    • Нажмите на CRD TektonConfig, чтобы отобразить детальную страницу.
    • Нажмите на вкладку Экземпляры.
    • Если экземпляр отображается, нажмите меню Опции отображаемого экземпляра.
    • Выберите Удалить TektonConfig.
    • Нажмите Удалить, чтобы подтвердить удаление CR.
    • Повторите эти шаги для любых других CR компонентов Tekton, которые могут существовать.

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

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

    Шаги

    • На странице Marketplace или OperatorHub перейдите в Установленные операторы.
    • Найдите оператор Alauda DevOps Pipelines в списке.
    • Нажмите меню Опции и выберите Удалить оператор.
    • В окне Удалить оператор? выберите Удалить все экземпляры операторов для этого оператора, затем нажмите Удалить.

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

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

    Шаги

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

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

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

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

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

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

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

    Вы можете изменить поля в параметре .spec.pipeline.performance в пользовательском ресурсе TektonConfig (CR), чтобы изменить поддержку высокой доступности (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 изменилось) и пересоздаст под контроллера tekton-pipelines-controller.

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

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

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

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

    Настройка управляющей плоскости Tekton Pipelines

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

    Процесс

    1. В веб-консоли перейдите в раздел CustomResourceDefinitions.
    2. Найдите определение пользовательского ресурса tektonconfigs.operator.tekton.dev (CRD).
    3. Нажмите на TektonConfig, чтобы увидеть детальную страницу CRD.
    4. Нажмите на вкладку Экземпляры.
    5. Нажмите на экземпляр config, чтобы увидеть детали пользовательского ресурса TektonConfig CR.
    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.

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

    Вы можете изменить сервисную учетную запись по умолчанию для 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 пользовательского ресурса TektonConfig (CR).

    Пример установки меток и аннотаций для пространства имен 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: