Pull to refresh

Comments 12

, я работаю исполнительным директором по разработке в Газпромбанке. На разных этапах карьеры я участвовал во многих собеседованиях, а в настоящее время сам собеседую кандидатов на должность инженеров DevOps и системных администраторов в Газпромбанке

А .. а как тогда у вас построен процесс интервью, что вопросы про то, что делает ls -la задаются на вашем уровне ?

— Допустим, у нас postgresql в кластере k8s, и разработчики просят к ней доступ. Каким образом мы можем решить этот вопроc? — Прежде всего, мы можем развернуть в кластере веб-основанный тулинг для работы с базой, например pgadmin, и опубликовать его через ingress для разработчиков.

????????????????????????????????? В кластере то зачем ?

Есть также вариант с использованием какого-нибудь инструмента для доступа разработчика к кластеру (например, Kubernetes dashboard или LENS) с возможностью сделать exec в POD

?????? Зачем вообще разработчику ходить в боевой кластер, да еще с правами exec в кластере ???

Не очень понял что вас изумляет в последних двух вопросах.

Что значит "зачем в кластере поднимать pgadmin"? там речь идет о вебморде pgadmin, т.е. серверная часть предлагается развернуть внутри кластера, а юзер будет пользовать webморду

Во втором, я не увидел что речь идет про "боевой кластер". Вполне нормально на тестовом окружении дать такой доступ.

Что значит "зачем в кластере поднимать pgadmin"? там речь идет о вебморде pgadmin, т.е. серверная часть предлагается развернуть внутри кластера, а юзер будет пользовать webморду

1 pgadmin - это не web приложение, web к нему идет отдельно, читать тут

https://www.pgadmin.org/docs/pgadmin4/development/server_deployment.html

Какие плюсы у решения с web?

2 pgadmin - зачем его кластеризовать? то есть, какие плюсы разработчиками и организации от использования кластера ?

Плюсы в том, что для доступа к БД мы используем интерфейс, который легко опубликовать стандартным способом через ингресс. А значит защитить, зашифровать, сделать аутентификацию и прочее не отходя от стандартной схемы предоставления доступов, которая уже наверняка отлажена.

А с чего вы взяли, что кластер обязательно боевой? Чем вас так пугает постгресс в тестовом энве?

Простите, но чем вам не угодил постгрес в кластере. У нас два года уже в проде,в качестве sci ceph - полет нормальный.

Если не секрет, какой объём базы и сколько iops она делает в среднем?

управления конфигурациями приложений на основе контейнеризации и (реже) виртуализации

эээ

Открываю доку

Containers have become popular because they provide extra benefits, such as:

  • Agile application creation and deployment: increased ease and efficiency of container image creation compared to VM image use.

  • Continuous development, integration, and deployment: provides for reliable and frequent container image build and deployment with quick and efficient rollbacks (due to image immutability). https://kubernetes.io/docs/concepts/overview/

Открываю pluralsight

Kubernetes vs. Virtual Machines: Understanding the Differences

https://www.pluralsight.com/resources/blog/cloud/kubernetes-virtual-machines-difference

То есть, KubeVirt есть, https://kubevirt.io/ - но ???

— Пробы должны проверять функционал приложения, задействованный в обработке запросов пользователя.

Пробы ?? То есть из мониторинга приложения пробы вытаскиваются на уровень k8s ?

Например, если в одном кластере k8s у нас продуктовый и тестовые окружения

Можно не надо?

Да, многие ингресс-контроллеры поддерживают публикацию бинарных протоколов, но это неудобно.

открыл документацию

While the Kubernetes Ingress resource only officially supports routing external HTTP(s) traffic to services, ingress-nginx can be configured to receive external TCP/UDP traffic from non-HTTP protocols and route them to internal services using TCP/UDP port mappings that are specified within a ConfigMap.

https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/

или это про FastCGI ?

https://kubernetes.github.io/ingress-nginx/user-guide/fcgi-services/

— Каким образом мы можем управлять размещением PODов на конкретных нодах кластера k8s?

Для более равномерного распределения подов, рекомендую использовать Pod Topology Spread Constraints.

topologySpreadConstraints:
        - maxSkew: 1
          topologyKey: kubernetes.io/hostname
          whenUnsatisfiable: DoNotSchedule
          labelSelector:
            matchLabels:
              app: foo
          matchLabelKeys:
            - pod-template-hash

topologySpreadConstraints направлен на управление равномерным распределением подов по зонам, в то время как pod affinity и node affinity предоставляют более общие механизмы

Спасибо за ценное дополнение. Если интересует позиция DevOps инженера в Газпромбанке - стукнитесь в личку :)

Каким образом мы можем управлять размещением PODов на конкретных нодах кластера k8s?

Еще, как минимум, есть nodeName

Sign up to leave a comment.