Ответы пользователя по тегу Kubernetes
  • Нужно ли править helm шаблон stolon для поддержки externalIPs?

    voidnugget
    @voidnugget
    Программист-прагматик
    Открываем шаблон (ссылка не поститься потому что содержит слово proxy)
    github.com/helm/charts/blob/master/stable/stolon/templates/proxy-service.yaml

    Cмотрим эту самую 15 строку

    {{- if (or (eq .Values.proxy.service.type "ClusterIP") (empty .Values.proxy.service.type)) }}


    Видим что оно ожидает либо пустой тип либо СlusterIP либо LoadBalancer.

    Меняем
    proxy:
      service:
        type: "ClusterIP"
        clusterIP: "10.233.60.152"


    или

    proxy:
      service:
        type: "LoadBalancer"
        loadBalancerIP: "10.233.60.152"
    Ответ написан
    Комментировать
  • Стоит ли разворачивать kubernetes в домашних условиях?

    voidnugget
    @voidnugget
    Программист-прагматик
    Есть у меня "стандартный стэк"...

    - Rancher на RKE (debian или rancheros)
    - Рабочий кластер на k3os под Calico или Multus CNI
    - kube-prometheus
    - Rook Ceph Minio
    - consul-k8s под Ambassador
    - skaffold & telepresence
    - Argo CI/CD (https://argoproj.github.io/)
    - Gitea вместо gitlab (https://gitea.io)
    - Weave Scope & Net

    Как видно, "поднять Kubernetes" кластер не так просто как гласят PR кампании и реклама.
    Ответ написан
    Комментировать
  • Что нужно знать для работы в DevOps?

    voidnugget
    @voidnugget
    Программист-прагматик
    Уметь поднять

    - Rancher на RKE (debian или rancheros)
    - Рабочий кластер на k3os под Calico
    - Vault Operator
    - kube-prometheus
    - Velero backups
    - Rook Ceph Minio
    - consul-k8s под Ambassador
    - skaffold & telepresence
    - Argo CI/CD (https://argoproj.github.io/)
    - Gitea (https://gitea.io)
    - gitlab
    - Weave Scope & Net

    Желательно уметь писать кастомные Kubernetes Controller'ы под Operator Framework.

    Желательно научиться ещё в DBA и в
    - wal-g
    - stolon
    - pg_pathman
    - pg_rewind
    - pg_repack

    под PostgreSQL.

    А также не помешает познакомиться с жизненным циклом HA Cassandra / ScyllaDB и Kafka.
    Ответ написан
    Комментировать
  • Как написать автотест на проверку наличия папок на удаленных машинах?

    voidnugget
    @voidnugget
    Программист-прагматик
    Вообще есть Terratest Inspec Kitchen (для извращенцев) ServerSpec (для рельсоводов) Bats (для олдфагов).

    Типа так

    Обычно и сам использую TerraTest / Bats / Inspec... Chef'ные поделки от лукавого.
    Ответ написан
    Комментировать
  • Вы используйте Rancher в production?

    voidnugget
    @voidnugget
    Программист-прагматик
    Вы используйте Rancher в production?


    Да.

    Управляющий сервер, не отказоустойчив?


    Отказоустойчив.

    Что будет если он умрет (вот совсем)?


    Ничего.

    Просто отвалятся метрики и Node Pool'ы - при перезапуске может не подхватить состояние и нужно будет ручками ноды "потерянные" в Node Pool'e добавить/убрать.

    На рабочее приложение это особо сильно не повлияет, если у вас в пуле больше 3ёх машин... а так то может лечь.

    Не нашел консоли в вебе, нужно проваливаться в exec контейнера?


    Kubectl соответсвующего класстера запускается... с него уже можно стучаться хоть куда.

    чем вы пользуйтесь для развертывания и управления кластерами k8s?


    Сами пилим аналог ранчера на стероидах, с шахматами и поэтессами...
    Ответ написан
    Комментировать
  • Как ставить разные версии сервисов в чартах helm в gitlab-ci?

    voidnugget
    @voidnugget
    Программист-прагматик
    К сожалению, безопаснее всего через Operators Framework и Skaffold дёргать соответствующие чарты и деплоить ...

    Соответственно Ваше приложение будет оператором, а сервисы под капотом сугубо атомарными и изолированными, немного рекламы.

    Само приложение лучше накатывать не через CI а настроить нормальное СD на Argo или Spinnaker. Argo более гибок...
    Ответ написан
    Комментировать
  • Kuber vs rancher vs docker?

    voidnugget
    @voidnugget
    Программист-прагматик
    совсем не следит за состоянием самих нод - если одна ООМится


    Уже пофиксили через HEALTHCHECK / STOPSIGNAL в Dockerfile. Да и давно работает стандартый OOM.

    Как я понимаю, эту проблему решает кубернетс - это некая надстройка(??)


    Нет, кубер это в первую очередь средство управления ресурсами, причём любыми...
    Так как есть CRD и custom controller'ы, c Operator Framework'oм.

    ComCast, например, управляет железом для стриминга и соответствующим SDN полностью в рамках K8S.

    Для кубера придумали довольно много всякого (говна в том числе), что бы упростить деплой и способ описания жизненного цикла приложений.

    Пока ничего лучше Operator Framework поверх Argo / Spinnaker не знаю.

    Есть для "простых" - rancher.


    Rancher сам по себе только деплоит Kubernetes класстер на пачку серверов, мониторит его, а также позволяет немного бэкапить, накатывать простенькиие Helm Chart'ы.

    Потому в 99% случаев всё сводиться к "Terraform'у ручками" и к самописным Custom Node Driver'ам.

    Вот что реально можно и стоит автоматизировать на Rancher'e так это Cluster Nodes Autoscaling, когда ранчер сам в Node Pool добавляет / удаляет машин по текущим метрикам и делает соответствующий rebuild всякого...

    Практической пользы от rancher'a в случае использования Kubernetes as a Service хостингов не много, если часто не приходиться клонить / обновлять / удалять пачки кластеров и переносить всё с одного хостинга на другой, ну там с подвала в GCP / AWS и наоборот.

    Мне хочется избавиться от проблемы докера (особенно когда сворм все запихивает на одну оставшуюся ноду), и попрпобовать что-то новое.


    Можно жить в проде и без докера - он используется только для сборки образов.

    Пробуйте Kata Containers под gVisor в Kubernetes (получается довольно секурно).
    Сам Kubernetes можно запустить например не в докере а в Nomad'e (так делает Sony).

    И есть ли адекватные gui для управления кубером?


    Кроме ранчера не видел больше ничего ...
    Сам пишу им конкурента сейчас.
    Ответ написан
  • Существует ли внятная дока/книга/статья по кубернетес архитектуре?

    voidnugget
    @voidnugget
    Программист-прагматик
    Проблема не в наличии книги а в том что само API кубера довольно изменчиво и каждую минорную версию половина кубера устаревает... потому надо научиться азам, смотреть на существующие операторы и писать что-то похожее на Operator Framework / Operator SDK, пробовать на go в кастомные контроллеры и с разными стратегиями деплоя в Argo / Spinnaker.
    Ответ написан
    Комментировать
  • Если ли дистрибутив Kubernetes, которым можно установить kubernetes без интернета?

    voidnugget
    @voidnugget
    Программист-прагматик
    Вообще такое называется Air Gap деплойментом и вполне возможно с помощью Rancher / RancherOS / k3os.

    Просто выкачиваются в архив образы релиза парой скриптов 1, 2. Это достаточно хорошо описано в документации.

    Потом этот архив импортируется на DockerOS и можно поднимать k3os хосты и менеджить их в ранчере...
    Сам ранчер желательно допилить под потребности такого проекта.

    Поддержка у ранчера достаточно хорошая.
    Ответ написан
    Комментировать