Термины Kubernetes: pod, node, taint, eviction, reconcile

Тема дорожной карты · Английский для IT

🔊 Словарь терминов с произношением →

Словарь Kubernetes построен на морской и бытовой метафорике, и его термины почти никогда не переводят. Само название — греческое «кормчий», отсюда логотип-штурвал и имена Helm (штурвал), Harbor (гавань), Argo (корабль аргонавтов). Pod — «стручок», группа контейнеров, как стручок гороха или стая китов (a pod of whales); наименьшая единица развёртывания. Node — узел, машина в кластере; control plane — управляющий слой, worker node — рабочая нода. Cluster — кластер. Namespace — пространство имён. Deployment — декларативное описание набора Pod'ов, ReplicaSet — набор реплик, StatefulSet, DaemonSet — по одному Pod'у на ноду, Job и CronJob. Service — стабильная точка доступа к Pod'ам, Ingress — вход HTTP-трафика. ConfigMap и Secret. Volume, PersistentVolume (PV), PersistentVolumeClaim (PVC) — заявка на хранилище, StorageClass. Label — метка, selector — выбор по меткам, annotation — аннотация. Taint — «порча»: пометка на ноде, отталкивающая Pod'ы; toleration — терпимость к taint'у, позволяющая Pod'у всё же попасть на ноду. Affinity / anti-affinity — притяжение / отталкивание при планировании. Scheduler — планировщик, to schedule a pod — назначить на ноду, pending — ждёт назначения. Eviction — выселение Pod'а с ноды при нехватке ресурсов. Reconcile — привести фактическое состояние к желаемому; reconciliation loop — цикл контроллера, desired state и actual state / observed state. Controller, operator — контроллер с доменной логикой, CRD — пользовательский тип ресурса. Probe — проверка: liveness, readiness, startup. Request и limit — запрошенные и предельные ресурсы, QoS class, OOMKilled. Rolling update, rollout, rollback, drain — вывести ноду из работы, cordon — запретить назначение на ноду, uncordon. Sidecar — вспомогательный контейнер в Pod'е, init container. Manifest — YAML-описание, apply, kubectl (читается «кьюб-си-ти-эл», «кьюб-контрол» или «кьюб-катл»). Helm chart — пакет, release, values.

Как произносится

Kubernetes /ˌkuːbərˈnɛtiːz/, K8s «кей-эйтс», kube /kjuːb/, kubectl — «кьюб-си-ти-эл» /ˌkjuːb siː tiː ˈɛl/ (официально), «кьюб-контрол» или «кьюб-катл» /ˈkjuːbkʌtl/ (разговорно), pod /pɒd/, node /noʊd/, namespace /ˈneɪmspeɪs/, taint /teɪnt/, toleration /ˌtɒləˈreɪʃən/, affinity /əˈfɪnəti/, eviction /ɪˈvɪkʃən/, evict /ɪˈvɪkt/, reconcile /ˈrɛkənsaɪl/ (ударение на первый слог), reconciliation /ˌrɛkənsɪliˈeɪʃən/, scheduler /ˈskɛdʒuːlər/ или /ˈʃɛdjuːlər/, probe /proʊb/, liveness /ˈlaɪvnəs/, readiness /ˈrɛdinəs/, drain /dreɪn/, cordon /ˈkɔːrdən/, manifest /ˈmænɪfɛst/, Helm /hɛlm/, chart /tʃɑːrt/, etcd «эт-си-ди», daemon /ˈdiːmən/ в DaemonSet, ingress /ˈɪŋɡrɛs/.

Как употребляется

  • The pod is stuck in Pending because no node tolerates the taint. — Pod висит в Pending, потому что ни одна нода не терпит taint.
  • Drain the node before the upgrade, then uncordon it. — Выведи ноду перед обновлением, потом верни в работу.
  • The controller reconciles every 30 seconds. — Контроллер сверяет состояние каждые 30 секунд.
  • Readiness probe is failing, so the service isn't routing to it. — Readiness-проба падает, сервис не шлёт трафик.
  • It got OOMKilled; bump the memory limit. — Убит по памяти, подними лимит.
  • Roll back the deployment to the previous revision. — Откати deployment на предыдущую ревизию.
  • Apply the manifest and watch the rollout. — Примени манифест и следи за выкаткой.
  • Set pod anti-affinity so replicas land on different nodes. — Настрой anti-affinity, чтобы реплики разошлись по нодам.

Ловушки

Первая ловушка — переводить объекты: «стручок», «развёртывание», «служба» в русской документации только запутывают; объекты Kubernetes пишут латиницей с заглавной: Pod, Deployment, Service. Вторая — node как «нод» в английской речи: /noʊd/ с дифтонгом. Третья — reconcile с ударением на второй слог: правильно /ˈrɛkənsaɪl/. Четвёртая — eviction и deletion: выселение это перенос по причине нехватки ресурсов или обслуживания ноды, удаление — явное действие. Пятая — taint понимать как «ошибка»: это намеренная метка администратора. Шестая — Service и «сервис»: в Kubernetes это конкретный объект, а не микросервис; носители уточняют a Kubernetes Service или the Service object. Седьмая — kubectl произносить по-разному в одной команде: выберите вариант и держитесь его.

Связанные понятия

Полезные ресурсы