You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/actions/concepts/runners/github-hosted-runners.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,9 @@ We recommend using actions to interact with the software installed on runners. T
71
71
72
72
If there is a tool that you'd like to request, please open an issue at [actions/runner-images](https://github.com/actions/runner-images). This repository also contains announcements about all major software updates on runners.
73
73
74
-
> [!NOTE] You can also install additional software on {% data variables.product.prodname_dotcom %}-hosted runners. See [AUTOTITLE](/actions/using-github-hosted-runners/customizing-github-hosted-runners).
74
+
> [!NOTE]
75
+
> * You can also install additional software on {% data variables.product.prodname_dotcom %}-hosted runners. See [AUTOTITLE](/actions/using-github-hosted-runners/customizing-github-hosted-runners).
76
+
> * While nested virtualization is technically possible while using runners, it is not officially supported. Any use of nested VMs is experimental and done at your own risk, we offer no guarantees regarding stability, performance, or compatibility.
75
77
76
78
## Cloud hosts used by {% data variables.product.prodname_dotcom %}-hosted runners
Copy file name to clipboardExpand all lines: content/actions/concepts/runners/support-for-arc.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ GitHub only supports the latest Autoscaling Runner Sets version of ARC. Support
23
23
24
24
## Scope of support for Actions Runner Controller
25
25
26
-
If your support request is outside of the scope of what our team can help you with, we may recommend next steps to resolve your issue outside of {% data variables.contact.github_support %}. Your support request is possibly out of {% data variables.contact.github_support %}'s scope if the request is primarily about:
26
+
To ensure a smooth adoption of Actions Runner Controller, we recommend that organizations have a Kubernetes expert on staff. Many aspects of ARC installation, including container orchestration, networking, policy application, and integration with managed Kubernetes providers, fall outside GitHub Support’s scope and require in-depth Kubernetes knowledge. If your support request is outside of the scope of what our team can help you with, we may recommend next steps to resolve your issue outside of {% data variables.contact.github_support %}. Your support request is out of {% data variables.contact.github_support %}'s scope if the request is primarily about:
27
27
28
28
* The legacy community-maintained version of ARC
29
29
* Installing, configuring, or maintaining dependencies
Copy file name to clipboardExpand all lines: content/actions/tutorials/use-actions-runner-controller/deploy-runner-scale-sets.md
+38-28Lines changed: 38 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -592,16 +592,11 @@ In Kubernetes mode, ARC uses runner container hooks to create a new pod in the s
592
592
593
593
#### Prerequisites
594
594
595
-
Kubernetes mode relies on persistent volumes to share job details between the runner pod and the container job pod. For more information, see the [Persistent Volumes](https://kubernetes.io/docs/concepts/storage/persistent-volumes/) section in the Kubernetes documentation.
595
+
Kubernetes mode supports two approaches for sharing job data between the runner pod and the container job pod. You can use persistent volumes, which remain the recommended option for scenarios requiring concurrent write access, or you can use container lifecycle hooks to restore and export job filesystems between pods without relying on RWX volumes. The lifecycle hook approach improves portability and performance by leveraging localstorage and is ideal for clusters without shared storage.
596
596
597
-
To use Kubernetes mode, you must do the following.
597
+
#### Configuring Kubernetes mode with persistent volumes
598
598
599
-
* Create persistent volumes available for the runner pods to claim.
600
-
* Use a solution to automatically provision persistent volumes on demand.
601
-
602
-
For testing, you can use a solution like [OpenEBS](https://github.com/openebs/openebs).
603
-
604
-
#### Configuring Kubernetes mode
599
+
To use Kubernetes mode, you must create persistent volumes that the runner pods can claim and use a solution that automatically provisions these volumes on demand. For testing, you can use a solution like [OpenEBS](https://github.com/openebs/openebs).
605
600
606
601
To enable Kubernetes mode, set the `containerMode.type` to `kubernetes`in your [`values.yaml`](https://github.com/actions/actions-runner-controller/blob/master/charts/gha-runner-scale-set/values.yaml) file.
607
602
@@ -618,26 +613,41 @@ containerMode:
618
613
619
614
{% data reusables.actions.actions-runner-controller-helm-chart-options %}
620
615
621
-
> [!NOTE]
622
-
> When Kubernetes mode is enabled, workflows that are not configured with a container job will fail with an error similar to:
623
-
>
624
-
>```bash
625
-
> Jobs without a job container are forbidden on this runner, please add a 'container:' to your job or contact your self-hosted runner administrator.
626
-
>```
627
-
>
628
-
> To allow jobs without a job container to run, set`ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER` to `false` on your runner container. This instructs the runner to disable this check.
629
-
>
630
-
>```yaml
631
-
> template:
632
-
> spec:
633
-
> containers:
634
-
> - name: runner
635
-
> image: ghcr.io/actions/actions-runner:latest
636
-
> command: ["/home/runner/run.sh"]
637
-
> env:
638
-
> - name: ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER
639
-
> value: "false"
640
-
>```
616
+
#### Configuring Kubernetes mode with container lifecycle hooks
617
+
618
+
To enable Kubernetes mode using container lifecycle hooks, set the `containerMode.type` to `kubernetes-novolume`in your `values.yaml` file:
619
+
620
+
```yaml
621
+
containerMode:
622
+
type: "kubernetes-novolume"
623
+
```
624
+
625
+
>[!NOTE]
626
+
>When using `kubernetes-novolume` mode, the container must run as `root` to support lifecycle hook operations.
627
+
628
+
#### Troubleshooting Kubernetes mode
629
+
630
+
When Kubernetes mode is enabled, workflows that are not configured with a container job will fail with an error similar to:
631
+
632
+
```bash
633
+
Jobs without a job container are forbidden on this runner, please add a 'container:' to your job or contact your self-hosted runner administrator.
634
+
```
635
+
636
+
To allow jobs without a job container to run, set`ACTIONS_RUNNER_REQUIRE_JOB_CONTAINER` to `false` on your runner container. This instructs the runner to disable this check.
637
+
> [!WARNING]
638
+
>Allowing jobs to run without a container in`kubernetes` or `kubernetes-novolume` mode can give the >runner pod elevated privileges with the Kubernetes API server, including the ability to create pods and access secrets. Before changing this default, we recommend carefully reviewing the potential security implications.
Copy file name to clipboardExpand all lines: content/actions/tutorials/use-actions-runner-controller/quickstart.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,9 +24,6 @@ In order to use ARC, ensure you have the following.
24
24
* For a managed cloud environment, you can use AKS. For more information, see [Azure Kubernetes Service](https://azure.microsoft.com/en-us/products/kubernetes-service) in the Azure documentation.
25
25
* For a local setup, you can use minikube or kind. For more information, see [minikube start](https://minikube.sigs.k8s.io/docs/start/) in the minikube documentation and [kind](https://kind.sigs.k8s.io/) in the kind documentation.
26
26
27
-
> [!NOTE]
28
-
> OpenShift clusters are currently unsupported.
29
-
30
27
* Helm 3
31
28
* For more information, see [Installing Helm](https://helm.sh/docs/intro/install/) in the Helm documentation.
32
29
* While it is not required for ARC to be deployed, we recommend ensuring you have implemented a way to collect and retain logs from the controller, listeners, and ephemeral runners before deploying ARC in production workflows.
Copy file name to clipboardExpand all lines: content/admin/data-residency/network-details-for-ghecom.md
+62Lines changed: 62 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -95,6 +95,68 @@ If you use Azure private networking for {% data variables.product.company_short
95
95
| arm64 |`centralus`, `eastus2`, `westus3`|
96
96
| GPU |`centralus`, `eastus2`, `westus3`|
97
97
98
+
### IP ranges for Azure private networking
99
+
100
+
#### EU
101
+
102
+
Actions IPs:
103
+
* 74.241.192.231
104
+
* 20.4.161.108
105
+
* 74.241.204.117
106
+
* 20.31.193.160
107
+
108
+
EU region:
109
+
* 108.143.197.176/28
110
+
* 20.123.213.96/28
111
+
* 20.224.46.144/28
112
+
* 20.240.194.240/28
113
+
* 20.240.220.192/28
114
+
* 20.240.211.208/28
115
+
116
+
#### Austrailia
117
+
118
+
Actions IPs:
119
+
* 4.147.140.77
120
+
* 20.53.114.78
121
+
122
+
Austraila region:
123
+
* 4.237.73.192/28
124
+
* 20.5.226.112/28
125
+
* 20.248.163.176/28
126
+
127
+
#### Required for all regions
128
+
129
+
*`Storage` service tag
130
+
* Communication requirements for github.com
131
+
* 192.30.252.0/22
132
+
* 185.199.108.0/22
133
+
* 140.82.112.0/20
134
+
* 143.55.64.0/20
135
+
* 20.201.28.151/32
136
+
* 20.205.243.166/32
137
+
* 20.87.245.0/32
138
+
* 4.237.22.38/32
139
+
* 20.207.73.82/32
140
+
* 20.27.177.113/32
141
+
* 20.200.245.247/32
142
+
* 20.175.192.147/32
143
+
* 20.233.83.145/32
144
+
* 20.29.134.23/32
145
+
* 20.199.39.232/32
146
+
* 20.217.135.5/32
147
+
* 4.225.11.198/32
148
+
* 4.208.26.197/32
149
+
* 20.26.156.215/32
150
+
151
+
### Domains for Azure private networking
152
+
153
+
*`*.<TENANT>.ghe.com`
154
+
*`<TENANT>.ghe.com`
155
+
*`github.com`
156
+
*`*.githubusercontent.com`
157
+
*`*.blob.core.windows.net`
158
+
*`*.web.core.windows.net`
159
+
98
160
## IP ranges for {% data variables.product.prodname_importer_proper_name %}
99
161
100
162
If you're running a migration to your enterprise with {% data variables.product.prodname_importer_proper_name %}, you may need to add certain ranges to an IP allow list. See [AUTOTITLE](/migrations/using-github-enterprise-importer/migrating-between-github-products/managing-access-for-a-migration-between-github-products#configuring-ip-allow-lists-for-migrations).
Multiple NICs may appear for a single job in your subscription because the {% data variables.product.prodname_actions %} service over-provisions resources to run jobs. Once a runner is idle, the {% data variables.product.prodname_actions %} service automatically de-provisions the resource and removes the corresponding NIC.
1
+
Starting in November 2025, NICs created by the {% data variables.product.prodname_actions %} service will no longer appear in your Azure subscriptions. Moving forward, NICs are now provisioned in a service subscription and assigned IP addresses from your subnet.
0 commit comments