• Русский
  • Настройка квот ресурсов для компонентов Trigger

    Обзор

    Настройте квоты ресурсов, связанные с компонентом Trigger.

    Сценарии использования

    • Настройка квот ресурсов для компонентов control plane Trigger
    • Тонкая настройка количества реплик и параметров CPU/memory для Deployments Trigger в зависимости от нагрузки кластера

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

    Рекомендации по настройке ресурсов

    Перед настройкой квот ресурсов:

    • Оцените доступные ресурсы и емкость вашего кластера
    • Учитывайте характер трафика webhook и пиковую нагрузку событий
    • Начинайте с консервативных значений и корректируйте их на основе данных мониторинга
    • Сначала проверяйте конфигурации в непроизводственных средах

    Шаги

    Шаг 1

    Отредактируйте ресурс TektonConfig.

    $ kubectl edit tektonconfigs.operator.tekton.dev config

    Шаг 2

    WARNING

    Изменение конфигурации может инициировать rolling update Pods компонента, что может привести к временному недоступности сервиса. Выполняйте это в подходящее время.

    Пример изменения конфигурации spec.trigger.options.deployments:

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonConfig
    metadata:
      name: config
    spec:
      trigger:
        options:
          disabled: false
          deployments:
            tekton-triggers-controller:
              spec:
                replicas: <REPLICA_COUNT>  # e.g., 1
                template:
                  spec:
                    containers:
                      - name: tekton-triggers-controller
                        resources:
                          requests:
                            cpu: <CPU_REQUEST>        # e.g., "200m"
                            memory: <MEMORY_REQUEST>  # e.g., "256Mi"
                          limits:
                            cpu: <CPU_LIMIT>          # e.g., "500m"
                            memory: <MEMORY_LIMIT>    # e.g., "512Mi"
    
            tekton-triggers-core-interceptors:
              spec:
                replicas: <REPLICA_COUNT>  # e.g., 1
                template:
                  spec:
                    containers:
                      - name: tekton-triggers-core-interceptors
                        resources:
                          requests:
                            cpu: <CPU_REQUEST>        # e.g., "200m"
                            memory: <MEMORY_REQUEST>  # e.g., "256Mi"
                          limits:
                            cpu: <CPU_LIMIT>          # e.g., "500m"
                            memory: <MEMORY_LIMIT>    # e.g., "512Mi"
    
            tekton-triggers-webhook:
              spec:
                replicas: <REPLICA_COUNT>  # e.g., 1
                template:
                  spec:
                    containers:
                      - name: webhook
                        resources:
                          requests:
                            cpu: <CPU_REQUEST>        # e.g., "200m"
                            memory: <MEMORY_REQUEST>  # e.g., "256Mi"
                          limits:
                            cpu: <CPU_LIMIT>          # e.g., "500m"
                            memory: <MEMORY_LIMIT>    # e.g., "512Mi"

    Шаг 3

    Отправьте конфигурацию и дождитесь обновления Pods.

    $ kubectl get pods -n tekton-pipelines -w
    
    NAME                                                READY   STATUS    RESTARTS   AGE
    tekton-triggers-controller-67f69dbb5d-zk5x2         1/1     Running   0          2m16s
    tekton-triggers-core-interceptors-d6495f95f-vk49r   1/1     Running   0          2m16s
    tekton-triggers-webhook-55758bbcd9-2qvzs            1/1     Running   0          2m16s

    Результат выполнения

    Вы увидите, что конфигурации квот ресурсов для связанных с Trigger компонентов вступили в силу.

    $ kubectl get deployments.apps -n tekton-pipelines tekton-triggers-controller tekton-triggers-core-interceptors tekton-triggers-webhook -o yaml | grep 'resources:' -A 6
    
              resources:
                limits:
                  cpu: 500m
                  memory: 512Mi
                requests:
                  cpu: 200m
                  memory: 256Mi
    --
              resources:
                limits:
                  cpu: 500m
                  memory: 512Mi
                requests:
                  cpu: 200m
                  memory: 256Mi
    --
              resources:
                limits:
                  cpu: 500m
                  memory: 512Mi
                requests:
                  cpu: 200m
                  memory: 256Mi

    Ссылки