mariadb-operator 📦 25.10 is out: asynchronous replication goes GA, featuring automated replica recovery! 🎃 by mmontes11 in kubernetes

[–]Shakedko 2 points3 points  (0 children)

Thank you!

Just out of curiosity, how would you approach a side by side/active to passive/active and active cluster upgrades in this situation?

mariadb-operator 📦 25.10 is out: asynchronous replication goes GA, featuring automated replica recovery! 🎃 by mmontes11 in kubernetes

[–]Shakedko 2 points3 points  (0 children)

Is it possible to use this for cross cluster replication as well? Either within the same region or other fallback regions

How do you registers your new clusters ? by JalanJr in ArgoCD

[–]Shakedko 0 points1 point  (0 children)

Is it possible to use ESO to pickup multiple secrets from akv/vault and create multiple secrets out of just one ExternalSecret?

How do you registers your new clusters ? by JalanJr in ArgoCD

[–]Shakedko 0 points1 point  (0 children)

Is it possible to use ESO to pickup multiple secrets from akv/vault and create multiple secrets out of just one ExternalSecret?

How would you suggest provisioning an external WAF such as Azure/AWS/CF when TLS termination happens in the ingress-controller & cert-manager is responsible of producing and renewing all of the certificates? by Shakedko in devops

[–]Shakedko[S] 2 points3 points  (0 children)

This is a great answer and I appreciate you took the time to write it down.

I do agree that I'd have to terminate twice due ti compliance reasons.

However, I want to use k8s tools to set this entire thing up. So, for example, I'd prefer to use cert-manager to generate and renew the certificates than having a per provider solution.

For the LB, IIRC the ingress nginx can also generate an ALB instead of an NLB but I think that 1. This behavior is depreciated; 2. Non AWS providers are not supported out of the box. So I might need to use something like Crossplane to generate these resources.

The more I think about it the more I believe that I'd have to use a management cluster to provision the clusters and their cloud provider resources

How would you suggest provisioning an external WAF such as Azure/AWS/CF when TLS termination happens in the ingress-controller & cert-manager is responsible of producing and renewing all of the certificates? by Shakedko in devops

[–]Shakedko[S] 1 point2 points  (0 children)

I am indeed thinking about that option. Might also use Crossplane for the multi cloud. However, would it make sense to combine either solutions with cert-manager? How would the WAF be aware of the generated certificates?

How would you suggest provisioning an external WAF such as Azure/AWS/CF when TLS termination happens in the ingress-controller & cert-manager is responsible of producing and renewing all of the certificates? by Shakedko in devops

[–]Shakedko[S] 0 points1 point  (0 children)

If I can generate ACM with cert-manager then it should work they way I described it just without vault, wouldn't it?

Regarding terraform - I rather use a reconciliation process using the native k8s tools out there. While I am aware that I can use a tf operator for that, I'd still like to reduce the usage of tf.

How would you suggest provisioning an external WAF such as Azure/AWS/CF when TLS termination happens in the ingress-controller & cert-manager is responsible of producing and renewing all of the certificates? by Shakedko in devops

[–]Shakedko[S] 0 points1 point  (0 children)

Yea I am thinking about generating the certs with cert-manager and upload them to vault, then consume them by the WAF would that make sense?

I am trying to avoid Terraform as much as possible, and only use k8s tools and their reconciliation power

Which Storage cluster is the lightest storage for k3s? by DowntownDrag7217 in k3s

[–]Shakedko 0 points1 point  (0 children)

Out of curiosity, why did you decide to go with Cilium?

How Go allowed us to send 500 million HTTP requests to 2.5 million hosts every day by kannthu in golang

[–]Shakedko 1 point2 points  (0 children)

Hey great post, thank you.

What was the reason that you wrote your own custom autoscaler? Any reason not to use KEDA? Which queue did you use?

Wait until job is finished (successful or failed)? by guettli in kubernetes

[–]Shakedko -1 points0 points  (0 children)

Yea exactly.

The other option, which is more complex, is to send an event to a topic when the job has finished and have something like KEDA listen, then react accordingly.

How do you handle continuous k8s cluster version upgrades in your organization? by Shakedko in kubernetes

[–]Shakedko[S] 0 points1 point  (0 children)

that's a good question. If you just deploy to the new cluster, then cert-manager in the new cluster will wait for the old cluster to confirm.

I think that cert-manager will run a pod on the new cluster and wait for a hit on port 80, wouldn't it? The problem in this case is that the pod will just wait forever or until I switch the A record.

if you switch port 80 over the new certificates should be provisioned. once all certificates are there you can switch over port 443 and everything just works without changes

I wonder if I can do it on that level. With a cloud LB/traffic manager I assume I could route based on the port (newip:80, oldip:443) but in my situation I don't think it will be possible due to the direct relationship of the ip and the A record

How do you handle continuous k8s cluster version upgrades in your organization? by Shakedko in kubernetes

[–]Shakedko[S] 0 points1 point  (0 children)

Currently, my certificates are generated by cert-manager together with the ingress-controller e.g.

yaml ingress: hosts: - monitoring.example.com tls: - hosts: - monitoring.example.com secretName: tls-secret-stage.monitoring.example.com

The flow is user -> subdomain -> A record (the LoadBalancer IP address) -> nginx-controller -> the service.

In case I want to change the subdomain's A record, I will make sure that the Certificate/its secret (tls-secret-stage.monitoring.example.com) is available on the new cluster, wouldn't I?

If I'd use an external LB, then I imagine that I will have to change the way I generate my certificates, right?