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: articles/api-management/how-to-self-hosted-gateway-on-kubernetes-in-production.md
+8-32Lines changed: 8 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ The Azure portal provides commands to create self-hosted gateway resources in th
28
28
Consider [creating and deploying](https://www.kubernetesbyexample.com/) a self-hosted gateway into a separate namespace in production.
29
29
30
30
## Number of replicas
31
-
The minimum number of replicas suitable for production is two.
31
+
The minimum number of replicas suitable for production is three, preferably combined with [high-available scheduling of the instances](#high-availability).
32
32
33
33
By default, a self-hosted gateway is deployed with a **RollingUpdate** deployment [strategy](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy). Review the default values and consider explicitly setting the [maxUnavailable](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#max-unavailable) and [maxSurge](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#max-surge) fields, especially when you're using a high replica count.
34
34
@@ -48,40 +48,16 @@ It's impossible to reliably predict and recommend the amount of per-container CP
48
48
We recommend setting resource requests to two cores and 2 GiB as a starting point. Perform a load test and scale up/out or down/in based on the results.
49
49
50
50
## Container image tag
51
+
The YAML file provided in the Azure portal uses the **latest** tag. This tag always references the most recent version of the self-hosted gateway container image.
51
52
52
-
We provide a variety of container images for self-hosted gateways to meet your needs:
53
-
-`2.0.0` - The most specific tag for a container image.
54
-
-*Use this image if you always want to run the same container image.*
55
-
-`v2` - The latest stable version of the v2 container image. (Moving tag)
56
-
-*Use this image if you always want to run our v2 container image with every new feature and patch.*
57
-
-`v2-preview` - The latest preview version of the container image. (Moving tag)
58
-
-*Use this image if you always want to run our latest preview container image, but not recommended for production.*
59
-
-`latest` - The latest stable version of the container image. (Moving tag)
60
-
-*Use this image to evaluate the self-hosted gateway, but not recommended for production.*
53
+
Consider using a specific version tag in production to avoid unintentional upgrade to a newer version.
61
54
62
-
You can find a full list of available tags[here](https://mcr.microsoft.com/v2/azure-api-management/gateway/tags/list).
55
+
You can [download a full list of available tags](https://mcr.microsoft.com/v2/azure-api-management/gateway/tags/list).
63
56
64
-
### Use of tags in our official deployment options
65
-
66
-
Our deployment options in the Azure portal use the `v2` tag which allows customers to use the most recent version of the self-hosted gateway v2 container image with all feature updates and patches.
67
-
68
-
> [!NOTE]
69
-
> We provide the command and YAML snippets as reference, feel free to use a more specific tag if you wish to.
70
-
71
-
When installing with our Helm chart, image tagging is optimized for you. The Helm chart's application version pins the gateway to a given version and does not rely on `latest`.
72
-
73
-
Learn more on how to [install an API Management self-hosted gateway on Kubernetes with Helm](how-to-deploy-self-hosted-gateway-kubernetes-helm.md).
74
-
75
-
### Risk of using moving tags
76
-
77
-
Moving tags are tags that are potentially updated when a new version of the container image is released. This allows container users to receive updates to the container image without having to update their deployments.
78
-
79
-
This means that you can potentially run different versions in parallel without noticing it, for example when you perform scaling actions once `v2` tag was updated.
80
-
81
-
Example - `v2` tag was released with `2.0.0` container image, but when `2.1.0` will be released, the `v2` tag will be linked to the `2.1.0` image.
82
-
83
-
> [!IMPORTANT]
84
-
> Consider using a specific version tag in production to avoid unintentional upgrade to a newer version.
57
+
> [!TIP]
58
+
> When installing with Helm, image tagging is optimized for you. The Helm chart's application version pins the gateway to a given version and does not rely on `latest`.
59
+
>
60
+
> Learn more on how to [install an API Management self-hosted gateway on Kubernetes with Helm](how-to-deploy-self-hosted-gateway-kubernetes-helm.md).
85
61
86
62
## DNS policy
87
63
DNS name resolution plays a critical role in a self-hosted gateway's ability to connect to dependencies in Azure and dispatch API calls to backend services.
Copy file name to clipboardExpand all lines: articles/api-management/self-hosted-gateway-overview.md
+35Lines changed: 35 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,6 +49,41 @@ The following functionality found in the managed gateways is **not available** i
49
49
- Client certificate renegotiation. This means that for [client certificate authentication](api-management-howto-mutual-certificates-for-clients.md) to work, API consumers must present their certificates as part of the initial TLS handshake. To ensure this behavior, enable the Negotiate Client Certificate setting when configuring a self-hosted gateway custom hostname.
50
50
- Built-in cache. Learn about using an [external Redis-compatible cache](api-management-howto-cache-external.md) in self-hosted gateways.
51
51
52
+
### Container images
53
+
54
+
We provide a variety of container images for self-hosted gateways to meet your needs:
55
+
56
+
| Tag convention | Recommendation | Example | Rolling tag | Recommended for production |
|`{major}.{minor}.{patch}`| Use this tag to always to run the same version of the gateway |`2.0.0`| ❌ | ✔️ |
59
+
|`v{major}`| Use this tag to always run a major version of the gateway with every new feature and patch. |`v2`| ✔️ | ❌ |
60
+
|`v{major}-preview`| Use this tag if you always want to run our latest preview container image. |`v2-preview`| ✔️ | ❌ |
61
+
|`latest`| Use this tag if you want to evaluate the self-hosted gateway. |`latest`| ✔️ | ❌ |
62
+
63
+
You can find a full list of available tags [here](https://mcr.microsoft.com/v2/azure-api-management/gateway/tags/list).
64
+
65
+
#### Use of tags in our official deployment options
66
+
67
+
Our deployment options in the Azure portal use the `v2` tag which allows customers to use the most recent version of the self-hosted gateway v2 container image with all feature updates and patches.
68
+
69
+
> [!NOTE]
70
+
> We provide the command and YAML snippets as reference, feel free to use a more specific tag if you wish to.
71
+
72
+
When installing with our Helm chart, image tagging is optimized for you. The Helm chart's application version pins the gateway to a given version and does not rely on `latest`.
73
+
74
+
Learn more on how to [install an API Management self-hosted gateway on Kubernetes with Helm](how-to-deploy-self-hosted-gateway-kubernetes-helm.md).
75
+
76
+
#### Risk of using rolling tags
77
+
78
+
Rolling tags are tags that are potentially updated when a new version of the container image is released. This allows container users to receive updates to the container image without having to update their deployments.
79
+
80
+
This means that you can potentially run different versions in parallel without noticing it, for example when you perform scaling actions once `v2` tag was updated.
81
+
82
+
Example - `v2` tag was released with `2.0.0` container image, but when `2.1.0` will be released, the `v2` tag will be linked to the `2.1.0` image.
83
+
84
+
> [!IMPORTANT]
85
+
> Consider using a specific version tag in production to avoid unintentional upgrade to a newer version.
86
+
52
87
## Connectivity to Azure
53
88
54
89
Self-hosted gateways require outbound TCP/IP connectivity to Azure on port 443. Each self-hosted gateway must be associated with a single API Management service and is configured via its management plane. A self-hosted gateway uses connectivity to Azure for:
0 commit comments