POD — это группа один или несколько контейнеров (например, контейнеры Docker), с общей памятью/сетью и спецификацией для запуска контейнеров. Содержание POD всегда Координаторы и кооперативные и Беги в общем контексте Отказ
Стручки поделиться Сетевые и хранение :
Контейнеры внутри POD имеют IP-адрес и пространство портов и могут найти друг друга через localhost
POD может указать набор совмещенных объемов хранения, что позволяет контейнерам обмениваться данными.
Restarting a container in a Pod should not be confused with restarting the Pod. The Pod itself does not run, but is an environment the containers run in and persists until it is deleted.
Вот пример шаблона POD:
apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: containers: - name: myapp-container image: busybox command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
Сервис — это абстракция, которая определяет логический набор стручков и политика, к которой к ним доступ (Иногда этот шаблон называется микросервисом). Набор стручков, ориентированных на сервис, обычно определяется селектор .
Услуги позволяют разделить развязку — если набор стручков «Frontend» необходимо поговорить с набором «Backend» стручков, это возможно из-за абстракции службы.
Вот пример шаблона сервиса, который будет соответствовать вышеуказанным подводам:
apiVersion: v1 kind: Service metadata: name: my-service spec: selector: <--------------------- this is what selects pods app: myApp <--------------------- ports: - protocol: TCP port: 80 targetPort: 9376
Kubernetes назначает эту услугу IP-адрес (иногда называемый «кластерным IP»), который используется услугой Proxies Отказ
Kubernetes Servicetypes позволяют вам указать, какую услугу вы хотите. По умолчанию Clusterip .
Тип значений и их поведение:
Clusterip : Раскрывает службу на кластерной внутреннем IP. Выбор этого значения делает услугу только доступной только из кластера. Это сервис по умолчанию.
NodePort : Раскрывает службу на IP каждого узла в статическом порте (NodePort). Служба Clusterip, на которую автоматически создается сервисная маршрута NODEPORT. Вы сможете связаться с сервисом NodePort, снаружи кластера, запрашивая:.
* LoadBalancer : Ударяет службу внешне, используя балансировщик нагрузки облака. Услуги NodePort и Clusterip, на которые автоматически создаются маршруты балансировщика внешних нагрузки.
Внешнее имя : Позволяет возврату псевдонима на внешнюю службу. Он используется для услуг, пока не принес в кластер Kubernetes (немного как заполнитель). После того, как эти услуги готовы, мы можем изменить тип и трафик будет течь к внутренним объектам.
Файлы на диске в контейнере являются эфемерные, которые представляют некоторые проблемы для нетривиальных приложений при работе в контейнерах. Во-первых, Когда контейнер аварийрует, kubelet будет перезапущен его, но файлы будут потеряны — контейнер начинается с чистого состояния Отказ Во-вторых, При работе контейнеров вместе в POD часто необходимо делиться файлами между этими контейнерами Отказ
Объемная абстракция Cubernetes решает оба этих задачи Отказ
A volume has the same lifetime as the pod that encloses it
Kubernetes поддерживает несколько виртуальных кластеров, поддерживаемых тем же физическим кластером. Эти виртуальные кластеры называются пространствами имен. Пространства имен предназначены для использования в средах со многими пользователями, распространяющимися по нескольким командам или проектам.
Развертывание предоставляет декларативные обновления для стручек и реплиссетов.
Цель реплизета состоит в том, чтобы поддерживать стабильный набор репликных стручков в любой момент времени. Таким образом, он часто используется для гарантии наличия указанного количества идентичных стручков.
Вы описываете желаемое состояние в развертывании, а контроллер развертывания изменяет фактическое состояние в желаемое состояние при контролируемой скорости.
Daemonset гарантирует, что все (или некоторые) узлы запускают копию POD, такого как демон хранения кластера, демон коллекции журналов или демон мониторинга.
Установка состояния — это объект API рабочей нагрузки, используемый для управления приложениями состояния.
Управляет развертыванием и масштабированием набора стручков и обеспечивает гарантии по поводу упорядочения и уникальности этих стручков.
Оригинал: «https://dev.to/boncheff/ckad-revision-core-concepts-o7l»