Необходимые компоненты
Чтобы использовать ARC, убедитесь, что у вас есть следующее.
-
Кластер Kubernetes.
- Для управляемой облачной среды можно использовать AKS. Для получения дополнительной информации см. Служба Azure Kubernetes в документации #REF!.
- Для локальной настройки можно использовать миникуб или тип. Дополнительные сведения см. в документации minikube по миникубе и в документации по типу.
-
Helm 3
- Дополнительные сведения см. в разделе "Установка Helm" в документации Helm .
-
Хотя развертывание ARC не требуется, рекомендуется реализовать способ сбора и хранения журналов с контроллера, прослушивателей и временных запусков перед развертыванием ARC в рабочих рабочих процессах.
Установка контроллера запуска действий
-
Чтобы установить оператор и пользовательские определения ресурсов (CRD) в кластере, выполните указанные ниже действия.
- В диаграмме Helm обновите значение до нужного расположения модулей pod оператора. Это пространство имен должно разрешить доступ к серверу API Kubernetes.
- Установите диаграмму Helm.
В следующем примере устанавливается последняя версия диаграммы. Чтобы установить определенную версию, можно передать аргумент вместе с версией диаграммы, которую вы хотите установить. Список релизов можно найти в #REF! Container Registry.
Bash NAMESPACE="arc-systems" helm install arc \ --namespace "${NAMESPACE}" \ --create-namespace \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controllerNAMESPACE="arc-systems" helm install arc \ --namespace "${NAMESPACE}" \ --create-namespace \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controllerДополнительные параметры конфигурации Helm см . в документации по ARC.
-
Чтобы включить проверку подлинности ARC в GitHub, создайте personal access token (classic). Дополнительные сведения см. в разделе AUTOTITLE.
Настройка масштабируемого набора runner
-
Чтобы настроить масштабируемый набор runner, выполните следующую команду в терминале, используя значения из конфигурации ARC.
При выполнении команды помните следующее.
-
Тщательно обновите значение. Имя установки будет использоваться в качестве значения в рабочих процессах. Дополнительные сведения см. в разделе AUTOTITLE.
-
Обновите значение до расположения, в которое нужно создать модули pod runner.
-
Задайте URL-адрес репозитория, организации или предприятия. Это сущность, к которой будут принадлежать средства выполнения.
-
Установите значение GitHub personal access token с областями и для репозитория и средств выполнения организаторов.
-
В этом примере команда устанавливает последнюю версию диаграммы Helm. Чтобы установить определенную версию, можно передать аргумент с версией диаграммы, которую вы хотите установить. Список релизов можно найти в #REF! Container Registry.
Примечание.
- Рекомендуется создать модули pod runner в другом пространстве имен, отличном от пространства имен, содержащего модули pod оператора.
- В качестве рекомендации по обеспечению безопасности создайте секреты Kubernetes и передайте ссылки на секреты. Передача секретов в виде обычного текста через CLI может представлять угрозу безопасности. Дополнительные сведения см. в разделе AUTOTITLE.
Bash INSTALLATION_NAME="arc-runner-set" NAMESPACE="arc-runners" GITHUB_CONFIG_URL="https://github.com/<your_enterprise/org/repo>" GITHUB_PAT="<PAT>" helm install "${INSTALLATION_NAME}" \ --namespace "${NAMESPACE}" \ --create-namespace \ --set githubConfigUrl="${GITHUB_CONFIG_URL}" \ --set githubConfigSecret.github_token="${GITHUB_PAT}" \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-setINSTALLATION_NAME="arc-runner-set" NAMESPACE="arc-runners" GITHUB_CONFIG_URL="https://github.com/<your_enterprise/org/repo>" GITHUB_PAT="<PAT>" helm install "${INSTALLATION_NAME}" \ --namespace "${NAMESPACE}" \ --create-namespace \ --set githubConfigUrl="${GITHUB_CONFIG_URL}" \ --set githubConfigSecret.github_token="${GITHUB_PAT}" \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-setДополнительные параметры конфигурации Helm см . в документации по ARC.
-
-
В терминале выполните следующую команду, чтобы проверить установку.
Bash helm list -A
helm list -AДолжен отобразиться похожий результат:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION arc arc-systems 1 2023-04-12 11:45:59.152090536 +0000 UTC deployed gha-runner-scale-set-controller-0.4.0 0.4.0 arc-runner-set arc-runners 1 2023-04-12 11:46:13.451041354 +0000 UTC deployed gha-runner-scale-set-0.4.0 0.4.0 -
Чтобы проверить модуль pod диспетчера, выполните следующую команду в терминале.
Bash kubectl get pods -n arc-systems
kubectl get pods -n arc-systemsЕсли все было установлено успешно, состояние модулей pod отображается как "Запущено".
NAME READY STATUS RESTARTS AGE arc-gha-runner-scale-set-controller-594cdc976f-m7cjs 1/1 Running 0 64s arc-runner-set-754b578d-listener 1/1 Running 0 12s
Если установка не прошла успешно, см . сведения об устранении неполадок в AUTOTITLE .
Использование масштабируемых наборов runner
Теперь вы создадите и запустите простой тестовый рабочий процесс, использующий средство выполнения масштабируемого набора runner.
-
В репозитории создайте рабочий процесс, аналогичный следующему примеру. Значение должно совпадать с именем установки Helm, используемым при установке набора запуска автомасштабирования.
Дополнительные сведения о добавлении рабочих процессов в репозиторий см. в разделе AUTOTITLE.
YAML name: Actions Runner Controller Demo on: workflow_dispatch: jobs: Explore-GitHub-Actions: # You need to use the INSTALLATION_NAME from the previous step runs-on: arc-runner-set steps: - run: echo "🎉 This job uses runner scale set runners!"name: Actions Runner Controller Demo on: workflow_dispatch: jobs: Explore-GitHub-Actions: # You need to use the INSTALLATION_NAME from the previous step runs-on: arc-runner-set steps: - run: echo "🎉 This job uses runner scale set runners!" -
После добавления рабочего процесса в репозиторий вручную активируйте рабочий процесс. Дополнительные сведения см. в разделе AUTOTITLE.
-
Чтобы просмотреть созданные модули pod runner во время выполнения рабочего процесса, выполните следующую команду из терминала.
Bash kubectl get pods -n arc-runners -w
kubectl get pods -n arc-runners -wУспешные выходные данные будут выглядеть следующим образом.
NAMESPACE NAME READY STATUS RESTARTS AGE arc-runners arc-runner-set-rmrgw-runner-p9p5n 1/1 Running 0 21s
Следующие шаги
Actions Runner Controller помогает эффективно управлять GitHub Actions. Готовы приступить к работе? Ниже приведены некоторые полезные ресурсы для выполнения следующих действий с помощью ARC:
- Подробные сведения о проверке подлинности см. в разделе AUTOTITLE.
- Сведения об использовании средств выполнения ARC в рабочих процессах см. в разделе AUTOTITLE.
- Сведения о развертывании см. в разделе AUTOTITLE.
Юридическая информация
Части были адаптированы в соответствии с https://github.com/actions/actions-runner-controller/ лицензией Apache-2.0:
Copyright 2019 Moto Ishizawa
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.