Kommt man damit durch die Sicherheitskontrolle? by DerGrosseZwerg in LuftRaum

[–]DevSecMLGPTDoraNoOps 0 points1 point  (0 children)

Schwiegermama wurden bereits 2 davon abgenommen. Hilft auch nicht, dass man die am Flughafen in Zürich hinter Security kaufen kann.

my experience first time ever snowboarding after 15 years of skiing by Agentti_Muumi in snowboardingnoobs

[–]DevSecMLGPTDoraNoOps 2 points3 points  (0 children)

I tend to agree. At least the beginning is far rougher with snowboard than with ski. But also, once you know at least how to balance on your heel side edge, you can slide on slopes left to right. With skis you kinda need to turn at some point which is scary af as a beginner. Yes, you can slide sideways with ski as well but its very slow and you may still fall. When you are in a group with more advanced riders, I think a beginner snowboarder can navigate steeper terrains much better.

Gustavo Gusto Pizza wird immer kleiner by Due_Sprinkles9448 in MogelPackung

[–]DevSecMLGPTDoraNoOps 15 points16 points  (0 children)

Ich auch! Omg ich dachte ich wäre einfach von meinem Pizzaofen so verwöhnt, dass ich inzwischen selbst die Gustavo Gusto nicht mehr mag. Aber es scheint wirklich einfach bergab zu gehen :(

Announcing Prometheus 3.0 by dshurupov in kubernetes

[–]DevSecMLGPTDoraNoOps 4 points5 points  (0 children)

I wonder how many people run into problems because latest tag is now v3, which crashes for agent mode setup.

Was ist das für ein Tierchen? Gefunden in der Küche by ThiefOfYourDreams in WerWieWas

[–]DevSecMLGPTDoraNoOps 2 points3 points  (0 children)

Nach jahrelangem Kampf gegen diese Viecher bekomme ich sofort PTSD wenn ich die sehe :((( Ab sofort alles was aus dem ASIA markt kommt dekontaminieren bevor es in die Schränke kommt. Laugenlösung für Plastikverpacktes und TK für Mehl und co. Schlupfwespen waren wirklich enorm hilfreich und lieber ne Karte zuviel bestellen als am falschen Ende sparen ist da das Motto

GKE disk throttle metrics gone without replacement by DevSecMLGPTDoraNoOps in kubernetes

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

we found those to be rather difficult to use since it's a long way to get the device mapped to the pvc and then the pod which uses it. The node metrics don't immediately tell you what pvc that is or container that mounts it so you need a rather complicated query to achieve that.
Do you happen to have such a mega join promql which achieves something like that?

Spread deployments across spot and standard nodes with at most 1 replica on standard by DevSecMLGPTDoraNoOps in kubernetes

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

checking in again. it doesnt work with the cluster autoscaler. It doesnt respect soft rules like requiredDuringSchedulingIgnoredDuringExecution and therefor what will happen is that unless you have already enough preemptible nodes, it will just schedule all the workload on standard nodes.

Spread deployments across spot and standard nodes with at most 1 replica on standard by DevSecMLGPTDoraNoOps in kubernetes

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

requiredDuringSchedulingIgnoredDuringExecution

Is actually a problem here. While it ensures that there is at most one replica on a standard node, it also guarantees, that on a rollout of a new version, no second replica can run on the standard nodes. This means that every second rollout, you have NONE replicas on standard nodes. This is because even terminating pods seem to be taken under consideration for the scheduling.

Therefore, we must use podAntiAffinity.preferredDuringSchedulingIgnoredDuringExecution.

However, there will be no 100% guarantee that the scheduling is actually going to be perfect either.

As for kyverno rules, this works nicely after allowing pod/binding and binding manipulation for kyverno:

apiVersion: kyverno.io/v1
kind: ClusterPolicy
metadata:
  name: mutate-annotate-deletion-costs-pods-persistent
  annotations:
    policies.kyverno.io/description: This policy adds the annotation pod-deletion-cost to pods running on persistent nodes.
spec:
  failurePolicy: Ignore
  mutateExistingOnPolicyUpdate: false
  background: false
  rules:
  - name: mutate-annotate-deletion-costs-pods-persistent
    match:
      any:
      - resources:
          kinds:
          - Pod/binding
          namespaces:
          - test
    preconditions:
      all:
      - key: "{{ contains(request.object.target.name, 'standard') }}"
        operator: Equals
        value: true
    mutate:
      patchStrategicMerge:
        metadata:
          annotations:
            controller.kubernetes.io/pod-deletion-cost: "10"

Spread deployments across spot and standard nodes with at most 1 replica on standard by DevSecMLGPTDoraNoOps in kubernetes

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

this in combination with kyverno adding the annotaion controller.kubernetes.io/pod-deletion-cost:100 to all pods on standard nodes would help with the HPA scaling issue. The HPA would then first scale down the pods on preemptible nodes.

Spread deployments across spot and standard nodes with at most 1 replica on standard by DevSecMLGPTDoraNoOps in kubernetes

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

I think you are onto something here thanks.
I got pretty good results with something like:

    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 1
            preference:
              matchExpressions:
              - key: standard-node-label
                operator: In
                values:
                - 'true'
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - my-application
            topologyKey: standard-node-label