---
title: "Kubernetes: API Priority and Fairness"
description: "Kubernetes: API Priority and Fairness"
image: https://blog.elos.navy/hubfs/Canva%20images/Jan%20Nev%C4%9Bd%C4%9Bl_API%20.png
---

[![logoELOS black-1](https://blog.elos.navy/hs-fs/hubfs/logoELOS%20black-1.png?width=844&height=253&name=logoELOS%20black-1.png)

![Logo-ELOS-Large-Canavas-1](https://blog.elos.navy/hs-fs/hubfs/Logo-ELOS-Large-Canavas-1.png?width=200&height=64&name=Logo-ELOS-Large-Canavas-1.png) 

](https://elos.navy/cs/)

[**](https://blog.elos.navy/kubernetes-api-priority-and-fairness#tmpmodule_1568675152246189)

**

###### 2 min read

# [Kubernetes: API Priority and Fairness](https://blog.elos.navy/kubernetes-api-priority-and-fairness)

 21.10.2020 19:37:22

- [Tweet](https://twitter.com/share)

Aneb z deníku Openshift architekta a implementátora.

Aktuálně jsme s podporou firmy Red Hat řešili problém občasné nedostupnosti API serveru Openshiftu 4.5. Řešitelná byla pouze restartem. Jednalo se o situaci, kdy byl cluster operator openshift-apiserver ve stavu degraded a server samotný vracel velké množství chyb “503 (the server is currently unable to handle the request)”.

Při hledání řešení jsme se soustředili na novou vlastnost Kubernetes API serveru - v jeho nastavení totiž přibyla tzv. *feature gate* ** APIPriorityAndFairness=true**:

```
$ oc rsh kube-apiserver-beta-bpsht-master-1 cat /etc/kubernetes/static-pod-resources/configmaps/config/config.yaml
...
    "feature-gates": [
      "APIPriorityAndFairness=true",
      "RotateKubeletServerCertificate=true",
      "SupportPodPidsLimit=true",
      "NodeDisruptionExclusion=true",
      "ServiceNodeExclusion=true",
      "SCTPSupport=true",
      "LegacyNodeRoleBehavior=false"
    ],

...
```

Jedná se o dlouho očekávanou funkcionalitu umožňující administrátorům optimalizovat a prioritizovat zpracování REST API požadavků podle definovaných pravidel. To se hodí především v situaci, kdy je API server pod natolik velkým náporem API requestů, že je de-facto vyřazen z provozu (např. logická chyba v kódu operátora chrlícího API požadavky). Služby platformy mohou být v tomto případě částečně paralizovány, protože její jednotlivé komponenty nejsou schopny komunikovat s control plane.

Kubernetes API server nyní za tímto účelem disponuje novou skupinou API objektů [*flowcontrol.apiserver.k8s.io/v1alpha1*](http://flowcontrol.apiserver.k8s.io/v1alpha1), mezi něž patří také objekt ***FlowSchema***:

```
[jan.nevedel@brtnik-x1 OpenShift]$ oc --kubeconfig kubeconfig-beta get flowschema 
NAME                                PRIORITYLEVEL                             MATCHINGPRECEDENCE   DISTINGUISHERMETHOD   AGE   MISSINGPL
exempt                              exempt                                    1                    <none>                72d   False
system-leader-election              leader-election                           100                  ByUser                72d   False
...
global-default                      global-default                            9900                 ByUser                72d   False
catch-all                           catch-all                                 10000                ByUser                72d   False
```

Objekt ***FlowSchema*** definuje pravidla, na jejichž základě API server **prioritizuje příchozí požadavky a zpracovává přednostně ty s vyšší prioritou**. I při vysokém objemu příchozích požadavků tedy API server zůstává dostupný pro kritické komponenty platformy.

Detaily implementace jsou dobře popsány přímo v dokumentaci Kubernetes na této adrese: [https://kubernetes.io/docs/concepts/cluster-administration/flow-control/](https://kubernetes.io/docs/concepts/cluster-administration/flow-control/) .

Výsledkem naší komunikace s podporou Red Hatu byl patch, který upravuje právě pravidla pro API Priority and Fairness. Nasazení na testovacích prostředích proběhlo dnes, efekt budeme vyhodnocovat na konci týdne. V situacích jako je tato jsme rádi, že zákazník zvolil Kubernetes platformu od solidního vendora, se kterým jsme schopni vzniklé problémy řešit. Ačkoliv jde o důležitou novou vlastnost Kubernetes API serveru, s modifikací defaultních pravidel je zapotřebí zacházet velmi opatrně.

![Jan Nevěděl](https://via.placeholder.com/100x100.jpg/e0e7ee)

#### Written by [Jan Nevěděl](https://blog.elos.navy/author/jan-nevěděl)

Honza is the heart and soul of ELOS. He boarded this vessel when it was still in the dock and its launch was still nautical miles away. He's been through both good and bad weather with us. From the position of systems engineer and architect, Honza helps to introduce new technologies and approaches in the Czech and Slovak business environment. He is one of the first Red Hat Certified Instructors in the region. His certifications transcript is too long to read, so we won´t bother you with that. But what you need to know is that Honza transfers his oversight skills and strategies to yachting as well. On the boat, he is our tactic. Outside of work, Honza is a stubborn promoter of scooters and outdoor activities.

[**](https://www.facebook.com/honza.nevedel) [**](https://www.linkedin.com/in/jan-nev%C4%9Bd%C4%9Bl-1066868/)

###### [Next Post **](https://blog.elos.navy/zpracování-metrik-aplikací-a-infrastruktury)

[![](https://cdn2.hubspot.net/hubfs/507386/CLEAN-images/gfx/feat-img-temp.jpg)](https://blog.elos.navy/zpracování-metrik-aplikací-a-infrastruktury)

###### [Zpracování metrik aplikací a infrastruktury](https://blog.elos.navy/zpracování-metrik-aplikací-a-infrastruktury)

 

## Chcete se dozvědět více?

Prostě jen klikněte na tlačítko níže a zarezervujte si s námi bezplatnou konzultaci.

 

[![ZAREZERVOVAT KONZULTACI ZDARMA](https://hubspot-no-cache-eu1-prod.s3.amazonaws.com/cta/default/4499183/9bc48832-e437-4bf6-8de9-bfeac7fab9e0.png)](https://hubspot-cta-redirect-eu1-prod.s3.amazonaws.com/cta/redirect/4499183/9bc48832-e437-4bf6-8de9-bfeac7fab9e0)

 

### Featured

### Příspěvky podle štítků

- [DevOps (10)](https://blog.elos.navy/tag/devops)
- [Kubernetes (7)](https://blog.elos.navy/tag/kubernetes)
- [Red Hat OpenShift (5)](https://blog.elos.navy/tag/red-hat-openshift)
- [Automation (3)](https://blog.elos.navy/tag/automation)
- [OpenShift (3)](https://blog.elos.navy/tag/openshift)
- [AI (2)](https://blog.elos.navy/tag/ai)
- [Budoucnost AI (2)](https://blog.elos.navy/tag/budoucnost-ai)
- [OpenSource (2)](https://blog.elos.navy/tag/opensource)
- [Red Hat (2)](https://blog.elos.navy/tag/red-hat)
- [Red Hat OpenShift AI (2)](https://blog.elos.navy/tag/red-hat-openshift-ai)
- [Security (2)](https://blog.elos.navy/tag/security)
- [Service Mesh (2)](https://blog.elos.navy/tag/service-mesh)
- [Training (2)](https://blog.elos.navy/tag/training)
- [finops (2)](https://blog.elos.navy/tag/finops)
- [AI Inference (1)](https://blog.elos.navy/tag/ai-inference)
- [AWS (1)](https://blog.elos.navy/tag/aws)
- [Ansible (1)](https://blog.elos.navy/tag/ansible)
- [BackstageIO (1)](https://blog.elos.navy/tag/backstageio)
- [Bavaria 46 (1)](https://blog.elos.navy/tag/bavaria-46)
- [Billing (1)](https://blog.elos.navy/tag/billing)
- [Business Case (1)](https://blog.elos.navy/tag/business-case)
- [Chorvatsko (1)](https://blog.elos.navy/tag/chorvatsko)
- [Cloud Native (1)](https://blog.elos.navy/tag/cloud-native)
- [CloudComputing (1)](https://blog.elos.navy/tag/cloudcomputing)
- [Container Management (1)](https://blog.elos.navy/tag/container-management)
- [Digitalizace (1)](https://blog.elos.navy/tag/digitalizace)
- [Docker Hub (1)](https://blog.elos.navy/tag/docker-hub)
- [ELOS Sailing Team (1)](https://blog.elos.navy/tag/elos-sailing-team)
- [Edge Computing (1)](https://blog.elos.navy/tag/edge-computing)
- [Enterprise IT (1)](https://blog.elos.navy/tag/enterprise-it)
- [EnterpriseArchitecture (1)](https://blog.elos.navy/tag/enterprisearchitecture)
- [Firemní kultura (1)](https://blog.elos.navy/tag/firemní-kultura)
- [FiremníFinance (1)](https://blog.elos.navy/tag/firemnífinance)
- [Generativní umělá inteligence (1)](https://blog.elos.navy/tag/generativní-umělá-inteligence)
- [Git (1)](https://blog.elos.navy/tag/git)
- [Git Alternativa (1)](https://blog.elos.navy/tag/git-alternativa)
- [ITbudgeting (1)](https://blog.elos.navy/tag/itbudgeting)
- [ITnáklady (1)](https://blog.elos.navy/tag/itnáklady)
- [ITstrategie (1)](https://blog.elos.navy/tag/itstrategie)
- [ITvsBusiness (1)](https://blog.elos.navy/tag/itvsbusiness)
- [InstructLab (1)](https://blog.elos.navy/tag/instructlab)
- [Jujutsu (1)](https://blog.elos.navy/tag/jujutsu)
- [LLM (1)](https://blog.elos.navy/tag/llm)
- [Landing Zone (1)](https://blog.elos.navy/tag/landing-zone)
- [MLOps (1)](https://blog.elos.navy/tag/mlops)
- [Microservices (1)](https://blog.elos.navy/tag/microservices)
- [MiniShift (1)](https://blog.elos.navy/tag/minishift)
- [Minikube (1)](https://blog.elos.navy/tag/minikube)
- [NákladováOptimalizace (1)](https://blog.elos.navy/tag/nákladováoptimalizace)
- [OCP 4 developer sandbox (1)](https://blog.elos.navy/tag/ocp-4-developer-sandbox)
- [OpenShift AI (1)](https://blog.elos.navy/tag/openshift-ai)
- [OpenShift Local (1)](https://blog.elos.navy/tag/openshift-local)
- [OpenShift Zadarmo (1)](https://blog.elos.navy/tag/openshift-zadarmo)
- [OpenShift for free (1)](https://blog.elos.navy/tag/openshift-for-free)
- [OpenShift zdarma (1)](https://blog.elos.navy/tag/openshift-zdarma)
- [OpenShift_AI (1)](https://blog.elos.navy/tag/openshift_ai)
- [PUMPS Regata (1)](https://blog.elos.navy/tag/pumps-regata)
- [Platforma pro AI řešení (1)](https://blog.elos.navy/tag/platforma-pro-ai-řešení)
- [Podman AI Lab (1)](https://blog.elos.navy/tag/podman-ai-lab)
- [Quay.io (1)](https://blog.elos.navy/tag/quay-io)
- [Red Hat CRC (1)](https://blog.elos.navy/tag/red-hat-crc)
- [Red Hat CodeReady Workspaces (1)](https://blog.elos.navy/tag/red-hat-codeready-workspaces)
- [Red Hat Codeready Containers (1)](https://blog.elos.navy/tag/red-hat-codeready-containers)
- [Red Hat Enterprise Linux (1)](https://blog.elos.navy/tag/red-hat-enterprise-linux)
- [Red Hat OpenShift Online (1)](https://blog.elos.navy/tag/red-hat-openshift-online)
- [Red Hat Quay (1)](https://blog.elos.navy/tag/red-hat-quay)
- [RedHatDeveloperHub (1)](https://blog.elos.navy/tag/redhatdeveloperhub)
- [SELinux (1)](https://blog.elos.navy/tag/selinux)
- [SaaS (1)](https://blog.elos.navy/tag/saas)
- [Trénování AI (1)](https://blog.elos.navy/tag/trénování-ai)
- [Umělá inteligence (1)](https://blog.elos.navy/tag/umělá-inteligence)
- [Velké jazykové modely (1)](https://blog.elos.navy/tag/velké-jazykové-modely)
- [Vítězství (1)](https://blog.elos.navy/tag/vítězství)
- [certifikace (1)](https://blog.elos.navy/tag/certifikace)
- [rust (1)](https://blog.elos.navy/tag/rust)
- [skills (1)](https://blog.elos.navy/tag/skills)

[Zobrazit vše](https://blog.elos.navy/kubernetes-api-priority-and-fairness#)

### Přihlaste se k odběru

##### Domů

Home

##### Portfolio

Portfolio

##### Posádka

The Crew

##### Školení

Training

[![logoELOS black-1](https://blog.elos.navy/hs-fs/hubfs/logoELOS%20black-1.png?width=80&height=24&name=logoELOS%20black-1.png "logoELOS black-1")](https://elos.navy)

Copyright © 2021 ELOS Technologies All rights reserved

[**](https://www.facebook.com/elostech/)[**](https://twitter.com/ElosTechnologie)[**](https://www.linkedin.com/company/877141/admin/)[**](https://www.youtube.com/channel/UCAyKbFyDLep98KsMX_XTlOg)

**