Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(lb): create guide migration lb #7484

Merged
merged 12 commits into from
Feb 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pages/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -887,6 +887,7 @@
+ [Secure a Nginx Ingress with cert-manager on OVHcloud Managed Kubernetes](public_cloud/containers_orchestration/managed_kubernetes/securing-nginx-ingress-cert-manager)
+ [Installing Istio on OVHcloud Managed Kubernetes](public_cloud/containers_orchestration/managed_kubernetes/installing-istio)
+ [Traffic management with Istio on OVHcloud Managed Kubernetes](public_cloud/containers_orchestration/managed_kubernetes/traffic-management-with-istio)
+ [How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia)](public_cloud/containers_orchestration/managed_kubernetes/migrate-loadbalancer-iolb-to-octavia)
+ [Storage](public-cloud-containers-orchestration-managed-kubernetes-k8s-storage)
+ [Setting-up a Persistent Volume on OVHcloud Managed Kubernetes](public_cloud/containers_orchestration/managed_kubernetes/setting-up-a-persistent-volume)
+ [Resizing Persistent Volumes](public_cloud/containers_orchestration/managed_kubernetes/resizing-persistent-volumes)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Expose your applications using OVHcloud Public Cloud Load Balancer
excerpt: "How to expose your applications hosted on Managed Kubernetes Service using the OVHcloud Public Cloud Load Balancer"
updated: 2025-01-30
updated: 2025-02-14
---

> [!warning]
>
> Usage of the [Public Cloud Load Balancer](/links/public-cloud/load-balancer) with Managed Kubernetes Service (MKS) is now in General Availability.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster. See also [How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia)](/pages/public_cloud/containers_orchestration/managed_kubernetes/migrate-loadbalancer-iolb-to-octavia).
>

## Objective
Expand Down Expand Up @@ -411,36 +411,6 @@ test-lb-todel LoadBalancer 10.3.107.18 141.94.215.240 80:30172/TCP

When exposing services like nginx-ingress-controller, it's a common requirement that the client connection information could pass through proxy servers and load balancers, therefore visible to the backend services. Knowing the originating IP address of a client may be useful for setting a particular language for a website, keeping a denylist of IP addresses, or simply for logging and statistics purposes. You can follow the official Cloud Controller Manager documentation on how to [Use PROXY protocol to preserve client IP](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#use-proxy-protocol-to-preserve-client-ip).

#### Migrate from Loadbalancer for Kubernetes to Public Cloud Load Balancer

In order to migrate from an existing [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) to a [Public Cloud Load Balancer](/links/public-cloud/load-balancer) you will have to modify an existing Service and change its LoadBalancer class.

Your existing LoadBalancer Service using [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) should have the following annotation:

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "iolb"
```

##### Step 1 - Edit your Service to change the LoadBalancer class to 'octavia'

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "octavia" // not required for clusters running kubernetes versions >= 1.31, you can just remove the annotation.
```

##### Step 2 - Apply the change

```yaml
kubectl apply -f your-service-manifest.yaml
```

> [!warning]
>
> As [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) and [Public Cloud Load Balancer](/links/public-cloud/load-balancer) do not use the same solution for Public IP allocation, **it is not possible to keep the existing public IP** of your Loadbalancer for Kubernetes.
> Changing the LoadBalancer class of your Service will lead to the creation of a new Loadbalancer and the allocation of a new Public IP (Floating IP).
>

### Use an existing Floating IP in the tenant

To use an available Floating IP to your K8S LoadBalancer, use the field `.spec.loadBalancerIP` to find this Floating IP in your tenant.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Expose your applications using OVHcloud Public Cloud Load Balancer
excerpt: "How to expose your applications hosted on Managed Kubernetes Service using the OVHcloud Public Cloud Load Balancer"
updated: 2025-01-30
updated: 2025-02-14
---

> [!warning]
>
> Usage of the [Public Cloud Load Balancer](/links/public-cloud/load-balancer) with Managed Kubernetes Service (MKS) is now in General Availability.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster. See also [How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia)](/pages/public_cloud/containers_orchestration/managed_kubernetes/migrate-loadbalancer-iolb-to-octavia).
>

## Objective
Expand Down Expand Up @@ -411,36 +411,6 @@ test-lb-todel LoadBalancer 10.3.107.18 141.94.215.240 80:30172/TCP

When exposing services like nginx-ingress-controller, it's a common requirement that the client connection information could pass through proxy servers and load balancers, therefore visible to the backend services. Knowing the originating IP address of a client may be useful for setting a particular language for a website, keeping a denylist of IP addresses, or simply for logging and statistics purposes. You can follow the official Cloud Controller Manager documentation on how to [Use PROXY protocol to preserve client IP](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#use-proxy-protocol-to-preserve-client-ip).

#### Migrate from Loadbalancer for Kubernetes to Public Cloud Load Balancer

In order to migrate from an existing [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) to a [Public Cloud Load Balancer](/links/public-cloud/load-balancer) you will have to modify an existing Service and change its LoadBalancer class.

Your existing LoadBalancer Service using [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) should have the following annotation:

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "iolb"
```

##### Step 1 - Edit your Service to change the LoadBalancer class to 'octavia'

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "octavia" // not required for clusters running kubernetes versions >= 1.31, you can just remove the annotation.
```

##### Step 2 - Apply the change

```yaml
kubectl apply -f your-service-manifest.yaml
```

> [!warning]
>
> As [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) and [Public Cloud Load Balancer](/links/public-cloud/load-balancer) do not use the same solution for Public IP allocation, **it is not possible to keep the existing public IP** of your Loadbalancer for Kubernetes.
> Changing the LoadBalancer class of your Service will lead to the creation of a new Loadbalancer and the allocation of a new Public IP (Floating IP).
>

### Use an existing Floating IP in the tenant

To use an available Floating IP to your K8S LoadBalancer, use the field `.spec.loadBalancerIP` to find this Floating IP in your tenant.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Expose your applications using OVHcloud Public Cloud Load Balancer
excerpt: "How to expose your applications hosted on Managed Kubernetes Service using the OVHcloud Public Cloud Load Balancer"
updated: 2025-01-30
updated: 2025-02-14
---

> [!warning]
>
> Usage of the [Public Cloud Load Balancer](/links/public-cloud/load-balancer) with Managed Kubernetes Service (MKS) is now in General Availability.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster. See also [How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia)](/pages/public_cloud/containers_orchestration/managed_kubernetes/migrate-loadbalancer-iolb-to-octavia).
>

## Objective
Expand Down Expand Up @@ -411,36 +411,6 @@ test-lb-todel LoadBalancer 10.3.107.18 141.94.215.240 80:30172/TCP

When exposing services like nginx-ingress-controller, it's a common requirement that the client connection information could pass through proxy servers and load balancers, therefore visible to the backend services. Knowing the originating IP address of a client may be useful for setting a particular language for a website, keeping a denylist of IP addresses, or simply for logging and statistics purposes. You can follow the official Cloud Controller Manager documentation on how to [Use PROXY protocol to preserve client IP](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#use-proxy-protocol-to-preserve-client-ip).

#### Migrate from Loadbalancer for Kubernetes to Public Cloud Load Balancer

In order to migrate from an existing [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) to a [Public Cloud Load Balancer](/links/public-cloud/load-balancer) you will have to modify an existing Service and change its LoadBalancer class.

Your existing LoadBalancer Service using [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) should have the following annotation:

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "iolb"
```

##### Step 1 - Edit your Service to change the LoadBalancer class to 'octavia'

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "octavia" // not required for clusters running kubernetes versions >= 1.31, you can just remove the annotation.
```

##### Step 2 - Apply the change

```yaml
kubectl apply -f your-service-manifest.yaml
```

> [!warning]
>
> As [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) and [Public Cloud Load Balancer](/links/public-cloud/load-balancer) do not use the same solution for Public IP allocation, **it is not possible to keep the existing public IP** of your Loadbalancer for Kubernetes.
> Changing the LoadBalancer class of your Service will lead to the creation of a new Loadbalancer and the allocation of a new Public IP (Floating IP).
>

### Use an existing Floating IP in the tenant

To use an available Floating IP to your K8S LoadBalancer, use the field `.spec.loadBalancerIP` to find this Floating IP in your tenant.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Expose your applications using OVHcloud Public Cloud Load Balancer
excerpt: "How to expose your applications hosted on Managed Kubernetes Service using the OVHcloud Public Cloud Load Balancer"
updated: 2025-01-30
updated: 2025-02-14
---

> [!warning]
>
> Usage of the [Public Cloud Load Balancer](/links/public-cloud/load-balancer) with Managed Kubernetes Service (MKS) is now in General Availability.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster. See also [How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia)](/pages/public_cloud/containers_orchestration/managed_kubernetes/migrate-loadbalancer-iolb-to-octavia).
>

## Objective
Expand Down Expand Up @@ -411,36 +411,6 @@ test-lb-todel LoadBalancer 10.3.107.18 141.94.215.240 80:30172/TCP

When exposing services like nginx-ingress-controller, it's a common requirement that the client connection information could pass through proxy servers and load balancers, therefore visible to the backend services. Knowing the originating IP address of a client may be useful for setting a particular language for a website, keeping a denylist of IP addresses, or simply for logging and statistics purposes. You can follow the official Cloud Controller Manager documentation on how to [Use PROXY protocol to preserve client IP](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#use-proxy-protocol-to-preserve-client-ip).

#### Migrate from Loadbalancer for Kubernetes to Public Cloud Load Balancer

In order to migrate from an existing [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) to a [Public Cloud Load Balancer](/links/public-cloud/load-balancer) you will have to modify an existing Service and change its LoadBalancer class.

Your existing LoadBalancer Service using [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) should have the following annotation:

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "iolb"
```

##### Step 1 - Edit your Service to change the LoadBalancer class to 'octavia'

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "octavia" // not required for clusters running kubernetes versions >= 1.31, you can just remove the annotation.
```

##### Step 2 - Apply the change

```yaml
kubectl apply -f your-service-manifest.yaml
```

> [!warning]
>
> As [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) and [Public Cloud Load Balancer](/links/public-cloud/load-balancer) do not use the same solution for Public IP allocation, **it is not possible to keep the existing public IP** of your Loadbalancer for Kubernetes.
> Changing the LoadBalancer class of your Service will lead to the creation of a new Loadbalancer and the allocation of a new Public IP (Floating IP).
>

### Use an existing Floating IP in the tenant

To use an available Floating IP to your K8S LoadBalancer, use the field `.spec.loadBalancerIP` to find this Floating IP in your tenant.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
title: Expose your applications using OVHcloud Public Cloud Load Balancer
excerpt: "How to expose your applications hosted on Managed Kubernetes Service using the OVHcloud Public Cloud Load Balancer"
updated: 2025-01-30
updated: 2025-02-14
---

> [!warning]
>
> Usage of the [Public Cloud Load Balancer](/links/public-cloud/load-balancer) with Managed Kubernetes Service (MKS) is now in General Availability.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster.
> However this LoadBalancer (based on Octavia project) is not the default one yet for clusters running Kubernetes versions <1.31. For those clusters, you must use the annotation `loadbalancer.ovhcloud.com/class: octavia` to deploy an Octavia LoadBalancer from your MKS cluster. See also [How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia)](/pages/public_cloud/containers_orchestration/managed_kubernetes/migrate-loadbalancer-iolb-to-octavia).
>

## Objective
Expand Down Expand Up @@ -411,36 +411,6 @@ test-lb-todel LoadBalancer 10.3.107.18 141.94.215.240 80:30172/TCP

When exposing services like nginx-ingress-controller, it's a common requirement that the client connection information could pass through proxy servers and load balancers, therefore visible to the backend services. Knowing the originating IP address of a client may be useful for setting a particular language for a website, keeping a denylist of IP addresses, or simply for logging and statistics purposes. You can follow the official Cloud Controller Manager documentation on how to [Use PROXY protocol to preserve client IP](https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#use-proxy-protocol-to-preserve-client-ip).

#### Migrate from Loadbalancer for Kubernetes to Public Cloud Load Balancer

In order to migrate from an existing [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) to a [Public Cloud Load Balancer](/links/public-cloud/load-balancer) you will have to modify an existing Service and change its LoadBalancer class.

Your existing LoadBalancer Service using [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) should have the following annotation:

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "iolb"
```

##### Step 1 - Edit your Service to change the LoadBalancer class to 'octavia'

```yaml
annotations:
loadbalancer.ovhcloud.com/class: "octavia" // not required for clusters running kubernetes versions >= 1.31, you can just remove the annotation.
```

##### Step 2 - Apply the change

```yaml
kubectl apply -f your-service-manifest.yaml
```

> [!warning]
>
> As [Loadbalancer for Kubernetes](/links/public-cloud/load-balancer-kubernetes) and [Public Cloud Load Balancer](/links/public-cloud/load-balancer) do not use the same solution for Public IP allocation, **it is not possible to keep the existing public IP** of your Loadbalancer for Kubernetes.
> Changing the LoadBalancer class of your Service will lead to the creation of a new Loadbalancer and the allocation of a new Public IP (Floating IP).
>

### Use an existing Floating IP in the tenant

To use an available Floating IP to your K8S LoadBalancer, use the field `.spec.loadBalancerIP` to find this Floating IP in your tenant.
Expand Down Expand Up @@ -605,4 +575,4 @@ Visit our dedicated Discord channel: <https://discord.gg/ovhcloud>. Ask question

If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for a custom analysis of your project.

Join our community of users on <https://community.ovh.com/en/>.
Join our [community of users](/links/community).
Loading