oc-hitachi-wall.png

OpenShift - подключаем VSP One Block

Привет всем 👋 В сегодняшней заметке хочу поделиться опытом подключения дисковой полки Hitachi VSP One Block 26 к кластеру OpenShift по Fibre Channel (FC). Перед установкой Отмечу, что ранее СХД была подключена к SAN-сети. На стороне SAN-коммутаторов были созданы алиасы (aliases) и зоннинг (zoning) для серверов OpenShift и полки Hitachi. Для провижининга дисковых разделов потребуется открыть сетевой доступ по порту 443/TCP между нодами кластера OpenShift и СХД. Дополнительно, на стороне дисковой полки потребуется создать локального пользователя с правами на создание и маппинг дисков. ...

May 12, 2025 · 5 min · 903 words · Tony
oc-ntp-wall.png

OpenShift - настройка NTP

Привет всем 👋, Допустим, представим такую ситуацию что вы подняли свеженький кластер OpenShift в закрытой сети без доступа к внешним NTP. Или же просто хотите пофиксить ошибку - NodeClockNotSynchronising. В рамках этой заметки поправим это. Итак, на сервере или локально у себя создаем такую файловую структуру. mkdir -p shift/manifests/ntp Затем заходим в неё: cd shift/manifests/ На нодах шифта для синхронизации времени используется демон - chronyd. Находим конфигурации chrony с помощью grep: oc get mc | grep chrony -- 50-masters-chrony-configuration 3.1.0 26h 50-workers-chrony-configuration 3.1.0 26h Эти два конфига нам предстоит изменить. Поэтому выгружаем их содержимое себе локально. ...

April 28, 2025 · 2 min · 293 words · Tony
k8s-kubeadm-wall.png

K8s - установка через kubeadm

Приветствую всех, Сегодняшний пост на тему настройки кластера kubernetes при помощи утилиты kubeadm. На текущий момент kubeadm является native инструментом для работы с кластерами. В отличие от kubespray, данный инструмент на выходе дает нам простой, не перегруженный софтами кластер. Если же запускаете куб на голом железе или в виртуальной инфрастуктуре, то 8 из 10 рекомендаций будет в пользу kubeadm. С точки зрения прокачки опыта работы с кубами, тоже плюс к понимаю как его готовить. ...

March 2, 2024 · 9 min · 1706 words · Tony
/static/images/k8s-cluster-wall.png

K8s - доступ к кластеру (Из вне)

Привет всем, Как уже стало понятным из описания, в этой заметке разбираемся с предоставлением доступа для внешних клиентов на сервисы запущенные в кластере. В качестве тестового стенда у меня поднят кластер из 3х нод. Две ноды в роли воркеров, и одна нода в роли мастер-ноды. Создаем деплоймент Для тестирования доступов, предварительно развернем тестовое приложение. В нашем случаи это будем обычный деплоймент, который поднимает 3 экземпляра nginx. При запросах на веб-сервера будет отдаваться ответ с текущем именем пода. ...

August 6, 2023 · 7 min · 1374 words · Tony

K8s - добавление нод через kubespray

В этой заметку покажу, как можно скейлить (масштабировать) кластер k8s - горизонтально, за счет добавления новый нод в кластер. Если нам требуется добавить новую worker-ноду, то в kubespray имеется отдельный плейбук - scale.yml. Перед его запуском нам требуется только добавить новую ноду в текущий инвентарь. Для добавления новых мастер нод, ноды также нужно определить в инвентаре и далее запустить основной playbook kubespray. Я подготовил небольшой кластер состоящий из трех сервером. На базе этого кластера будет реализовывать задачу скейлинга нод. (Серым цветом отображены ноды, которые добавим в процессе) ...

June 28, 2023 · 4 min · 837 words · Tony
tanzu-vsphere-wall.jpg

Tanzu K8s - деплой кластера (HAProxy + vDS)

Сегодня хотелось поделиться опытом настройки и пониманием работы такого managed решения, как VMware Tanzu. На актуальное время достаточно различной информации по архитектуре и практикам использования Tanzu. Поэтому хотелось бы сделать небольшое summary, и продемонстрировать пример настройки такого кластера с нуля. Так скажем собрать чемодан всего необходимого. В небольшое отступление, стоит отметить что я пойду по самому простому пути и мой сетап будет построен на HAproxy и vDS, без NSX-t (Или его собрата AVI). Так как это дополнительный расход на обслуживание и отдельная лицензия. ...

June 11, 2023 · 12 min · 2430 words · Tony
k8s-csi-wall.webp

K8s - использование CSI, интеграция с vSphere

Буквально в прошлой заметке поднимали новый кластер куба используя инструмент kubespray. Сегодня же проработаем задачу постоянных томов для этого кластера. Напомню, что это было три виртуалки, размещенные на vmware инфраструктуре. И сразу же появилась идея провижинить постоянные тома в vSphere, у которой начиная с версии vSphere 6.7 (Update3) стала доступна поддержка Cloud Native Storage (CNS). Немного теории Cloud Native Storage (CNS) - это некая прослойка между vSphere и K8s, которая дает нам возможности для создания и управления постоянными томами в экосистеме vSphere. (Компонентная схема, для понимания) ...

May 9, 2023 · 9 min · 1840 words · Tony
k8s-install-klubespray-wall.jpg

K8s - установка через kubespray

В этой заметке развернем кластер куба используя инструмент - kubespray. Если вы уже читали про методы установки кластера, то косвенно знакомы с kubespray. Вкратце это сборник ansible-плэйбуков и ролей, дающий нам возможности: Основное это установка кластера k8s, установка как актуальной версии, так у более старой версии кластера, Установка контейнерного runtime (Docker, Cri-o, Containerd), Установка сетевых решений (Calico, Flannel), Установка и настройка кластера etcd, Возможность установки дополнительных компонентов - это DNS, Ingress-контроллеры, Cert-менеджеры, Storage-драйверы и прочее. Добавление/Удаление нод кластера. Обновеление кластера. Стоит сделать отступление относительно установки дополнительных компонентов, все же рекомендуют накатывать компоненты независимо от kubespray. Так как обновление или обычная замена версии компонента, может привести к проблемкам. ...

May 5, 2023 · 9 min · 1784 words · Tony
k8s-pv-wall

K8s - Pv, Pvc

Немного теории Ранее разбирались с деплойментами, запускали наши (stateless) приложения и демонстрировали фишки self-healing в кубернетес. В рамках этого топика разберемся томами (volumes), поймем как мы может запускать приложения с сохранением состояния. В кубернетес есть несколько разновидностей типов томов. Некоторые из типов являются универсальными и подходят для локального хранения данных, какие-то могут быть приспособлены для специфичных задач. Один pod может использовать одновременно несколько типов томов. Тип volume может быть: emptyDir - пустой каталог, который может использоваться для хранения временных файлов. Время жизни этого тома тесно связанно с жизнью пода. Все данные теряются после сметри пода. hostPath - этот тип используется для монтирование каталогов из файловой системы самого хоста. Данные остаются, после завершения цикла жизни пода и могут быть переиспользованы другим подом. gitRepo - том, который инициализируется при проверке содержимого git-репозитория. nfs - общий nfs ресурс, монтируемый в под. local - локальные смонтированные устройства на узлах. cephfs, glusterfs, rdb, vsphereVolume - тип используемый, для монтирования сетевых файловых хранилищ. confingMap, secret - специальны тип, используемый для предоставления поду определенных ресурсов kubernetes. persistentVolume, persistentVolumeClaim - способ использования заранее и динамически резервируемые постоянные хранилища. В рамках этой записи упор будет на постоянных томах и дополнительных абстракциях вокруг постоянных томов. Название типа - PV (PersistentVolume) постоянные тома, обусловлено способу хранение данных, то есть хранилище не привязывается сроку жизни пода. Данные не теряются, если pod умрет, перезапустится или запуститься на другой ноде. Существует многожество реализации постоянных томов, например: nfs, glusterfs, cephfs, fc, iscsi, googleDisk. ...

April 12, 2023 · 9 min · 1757 words · Tony
k8s-ingress-welcom.png

K8s - Ingress, Ingress controller

Ingress В прошлой заметке разбирались и запускали сервисы. Как отмечалось, объект сервис на практике применим только для работы внутри кластера. Но также нам нечего не мешает опубликовать наше приложения используя тип сервиса - NodePort. Эта схема будет работать и считается самой простой, но за ней могут стоять большие проблемы. Во первых каждый такой сервис публикует свой порт наружу. В случаи, если у нас какой то публичный кластер не в закрытом сетевом контуре это проблема. Во вторых у нас может быть кучу таких сервисов, каждый из которых имеет свой порт. Мы просто устанем все это инвенторизировать. ...

December 27, 2022 · 5 min · 1005 words · Tony