Skip to content

Commit 34eb010

Browse files
committed
Move to dedicated page
Signed-off-by: Tom Kerkhove <[email protected]>
1 parent 1140d5c commit 34eb010

File tree

2 files changed

+43
-32
lines changed

2 files changed

+43
-32
lines changed

articles/api-management/how-to-self-hosted-gateway-on-kubernetes-in-production.md

Lines changed: 8 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The Azure portal provides commands to create self-hosted gateway resources in th
2828
Consider [creating and deploying](https://www.kubernetesbyexample.com/) a self-hosted gateway into a separate namespace in production.
2929

3030
## 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).
3232

3333
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.
3434

@@ -48,40 +48,16 @@ It's impossible to reliably predict and recommend the amount of per-container CP
4848
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.
4949

5050
## 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.
5152

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.
6154

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).
6356

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).
8561
8662
## DNS policy
8763
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.

articles/api-management/self-hosted-gateway-overview.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,41 @@ The following functionality found in the managed gateways is **not available** i
4949
- 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.
5050
- Built-in cache. Learn about using an [external Redis-compatible cache](api-management-howto-cache-external.md) in self-hosted gateways.
5151

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 |
57+
| ------------- | -------- | ------- | ------- | ------- |
58+
| `{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+
5287
## Connectivity to Azure
5388

5489
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

Comments
 (0)