Хороший концепт и я его применяю с самого начала, как я стал использовать Kubernetes. И на фоне этого я не очень вижу как можно применять helm, а я так хотел.
Когда я три года назад устанавливал первый кластер в HA, то это можно было делать либо в ручную либо использовать kubespray. Kubeadm тогда такого ещё не мог. Сейчас kubespray сам использует kubeadm.
При обновлениях через kubespray у меня всегда были проблемы и проходилось их героически приодолевать. Достало.
Недавно ставил новый кластер (1.14) через kubeadm. Одна команда на каждом сервере и HA кластер готов. Единственный недостаток, что это голый кластер. Сеть, ingress, контроллеры всякие надо ставить самому. Обновление до 1.14.3 тоже получилось без проблем. Пока всё хорошо, посмотрим, как будет со временем.
Мы до того, как на kubernetes пересели, использовали traefik. Ещё на нескольких докер серверах крутиться. Он может всё, что вы написали, только автоматически и ещё Let's encrypt сертификаты.
Выглядит это как-то так.
docker-compose.yaml для traefik
Это вариант конфигурации, при которой создаются сертификаты от Let's encrypt.
Делается всё просто. Стартуете контейнер с traefik, а в остальных добавляете сеть и лайблы и всё.
Но все повторяли одно и тоже: не нужно устанавливать и обслуживать Kubernetes самостоятельно
Может кто-то как-то прокоментрирует этот момент из личного опыта. Я у нас на фирме поствил кубернетес уже три назад и всё нормально работает и я бы не сказал, что у нас с ним какие-то особые проблемы или что с ним как-то мучаемся. Наоборот стало лучше, чем на чистом докере или docker swarm.
Для меня чувствуется в этом высказывание какой-то подвох, больше звучит, что типа не делайте сами проходите к нам.
Спасибо за статью, я к нему уже давно пристматриваюсь. Мне вот интересно если весь кластер сломается. Его (rook) можно будет потом востановить. В смысле данные то останутся, но на сколько это проблемно их опять в кластер получить?
У меня раз кластер ломался, я как представлю, что при этом ещё и данные надо как-то востанавливать.
Вся конфигурация хранится в etcd и по идее её нужно сохранять и конечно есть ещё некоторе количество конфигов на самих серверах, их тоже было бы неплохо сохранять. Но кластер на то и кластер, что он обычно не разваливается.
У меня например про обновлении что-то нето туда записалось и я больше немог создавать новые поды, что-то с сетью было.
K8S это ведь не про размеры, это про автоматизацию. У нас он (k8s) на трёх небольших серверах крутится и мы его взяли не из-за размера, а так-как нам нужено было автоматизировать некоторые вещи и на чистом докере можно было бы тоже сделать, но уже намного сложнее.
Берёте человека 1шт. и напильник тоже 1шт. и вперёд.
Я помню мы так порошок из магния для фейервека добывали и мне до сих пор не ясно откуда у нас было вертолётное колесо из магния дома.
Ну так в целом то как, довольны результатом вы и команда? Почему вы говорите, что со временем перейдёте на prometheus? По-моему prometheus это всё-таки немного другое. Я просто оба использую и prometheus больше для хранения каких-то числовых значений подходит, а icinga2 может и текст выдавать с ошибкой. По идее можно и алерты для prometheus настоить, чтобы числовые значания в текст ошибки переделывал.
Я сам использую icinga2 в пасивном (вот тут я по теме немного писал) режиме. Виндовс с клиентом Nsclient++ шлёт данные через NCSA, а линукс через api.
Логика на самом деле не хромает. Те болезни которые закрыты прививками способны так-же как и все другие изменяться и мутировать, в данное время они это не делают или делают мало. И причиной почему они не изменяются и является как раз плохая способность к распросранению, так как некуда распространятся, потому что все (точнее большенство) привито. Если количество привитых людей упадёт, то начнутся мутации и станут болеть даже те, которые привиты.
Как я слышал, это частая причина из-за которой не берут на работу. Даже если не брать во внимание зарплату, то человеку банально скучно делать такую работу и он, соответственно, пытается найти что-то получше.
На моей прошлой работе была разница в 500€ для программиста из универститета и после Ausbildung'a в месяц, оба без опыта.
Я сам работаю админом, точнее начанал, сейчас я больше в devops перешел.
В Германии есть такая вещь как Ausbildung (не знаю с чем сравнить, в общем это как школа и паралелльная работа, с экзаменами и проектом в конце, делается 3 года, ну или сокращённый вариант — 2.5 года) и есть ещё университет. В обоих случаях можно выучиться на программиста, но в Ausbildung'е получается как-бы упрощённый программист и так-же в Аusbildung'е учаться на админа (Fachinformatiker für Systemintegration).
То есть админом можно работать и с унивеситетским образованием(но я это практически не встречал, так как такой человек для этой работы несколько избыточен), но за это фирме надо платить больше денег и человек с университет человек приходит без опыта. И для работы админом в принципе хватает Ausbildung'a. Зарплата админа (с Ausbildung'ом) начинается с 1800€ в месяц, бывают случаи и грустнее, а человеку из университета надо платить где-то с 3000€, хотя и тут конечно бывают исключения. По-этому, я думаю, фирмам нету смысла брать кого-то из-за границы, чтобы платить ему столько денег. Хотя надо заметить, что ситуация ухудшается и требуется всё больше айтишников, как программистов, так и админов.
Может быть вопрос несколько не в тему. Очень часто (почти всегда) говоря про node.js подразумевают веб разработку и её окружение. А есть проекты на node.js не связанные с веб?
Я просто к тому, что я на ноде пишу консольные программы и всё на удивление хорошо и удобно работает
Это уже не первый обзор электробайков и может кто-то мне может объяснить, почему нету крыльев? Как-то не очень я думаю не очень хорошо когда вся спина и морда лица в грязи.
При обновлениях через kubespray у меня всегда были проблемы и проходилось их героически приодолевать. Достало.
Недавно ставил новый кластер (1.14) через kubeadm. Одна команда на каждом сервере и HA кластер готов. Единственный недостаток, что это голый кластер. Сеть, ingress, контроллеры всякие надо ставить самому. Обновление до 1.14.3 тоже получилось без проблем. Пока всё хорошо, посмотрим, как будет со временем.
Выглядит это как-то так.
docker-compose.yaml для traefik
networks:
traefik:
external: true
services:
traefik:
image: traefik:alpine
networks:
traefik: null
ports:
- 80:80/tcp
- 443:443/tcp
restart: unless-stopped
volumes:
- ./config/traefik.toml:/traefik.toml:rw
- /a/data/traefik/acme.json:/acme.json:rw
- /var/run/docker.sock:/var/run/docker.sock:rw
version: '3.0'
config.toml
debug = false
checkNewVersion = false
logLevel = "ERROR"
defaultEntryPoints = ["https","http"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[retry]
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "docker.localhost"
watch = true
exposedbydefault = false
[acme]
email = "administrator@example.com"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"
И часть docker-compose.yaml из контейнера, где это используется:
networks:
traefik:
external: true
services:
postfix:
image: marooou/postfix-roundcube
environment:
ADMIN_USERNAME: root
ADMIN_PASSWD: pass
DOMAIN_NAME: example.com
labels:
traefik.backend: example-demo-mailhog
traefik.docker.network: traefik
traefik.enable: "true"
traefik.frontend.rule: Host:example.com;PathPrefixStrip:/postfix/
traefik.port: '80'
ports:
- 10110:110/tcp #POP3 not SSL
- 10143:143/tcp #IMAP not SSL
- 10025:25/tcp #SMTP not SSL
- 10465:465/tcp #SMTPS
- 10993:993/tcp #IMAPS
- 10995:995/tcp #POP3S
networks:
default: null
traefik: null
volumes:
- /a/data/example.com/mail/mysql:/var/lib/mysql
- /a/data/example.com/mail/vmail:/var/vmail
- /a/data/example.com/mail/log:/var/log
restart: unless-stopped
version: '3.0'
Это вариант конфигурации, при которой создаются сертификаты от Let's encrypt.
Делается всё просто. Стартуете контейнер с traefik, а в остальных добавляете сеть и лайблы и всё.
Может кто-то как-то прокоментрирует этот момент из личного опыта. Я у нас на фирме поствил кубернетес уже три назад и всё нормально работает и я бы не сказал, что у нас с ним какие-то особые проблемы или что с ним как-то мучаемся. Наоборот стало лучше, чем на чистом докере или docker swarm.
Для меня чувствуется в этом высказывание какой-то подвох, больше звучит, что типа не делайте сами проходите к нам.
Хотя если серьёзно, то хотелось бы каких-то значений, когда хорошо, а когда уже нет?
У меня показывает
У меня раз кластер ломался, я как представлю, что при этом ещё и данные надо как-то востанавливать.
У меня например про обновлении что-то нето туда записалось и я больше немог создавать новые поды, что-то с сетью было.
Я помню мы так порошок из магния для фейервека добывали и мне до сих пор не ясно откуда у нас было вертолётное колесо из магния дома.
Я сам использую icinga2 в пасивном (вот тут я по теме немного писал) режиме. Виндовс с клиентом Nsclient++ шлёт данные через NCSA, а линукс через api.
На моей прошлой работе была разница в 500€ для программиста из универститета и после Ausbildung'a в месяц, оба без опыта.
В Германии есть такая вещь как Ausbildung (не знаю с чем сравнить, в общем это как школа и паралелльная работа, с экзаменами и проектом в конце, делается 3 года, ну или сокращённый вариант — 2.5 года) и есть ещё университет. В обоих случаях можно выучиться на программиста, но в Ausbildung'е получается как-бы упрощённый программист и так-же в Аusbildung'е учаться на админа (Fachinformatiker für Systemintegration).
То есть админом можно работать и с унивеситетским образованием(но я это практически не встречал, так как такой человек для этой работы несколько избыточен), но за это фирме надо платить больше денег и человек с университет человек приходит без опыта. И для работы админом в принципе хватает Ausbildung'a. Зарплата админа (с Ausbildung'ом) начинается с 1800€ в месяц, бывают случаи и грустнее, а человеку из университета надо платить где-то с 3000€, хотя и тут конечно бывают исключения. По-этому, я думаю, фирмам нету смысла брать кого-то из-за границы, чтобы платить ему столько денег. Хотя надо заметить, что ситуация ухудшается и требуется всё больше айтишников, как программистов, так и админов.
Я просто к тому, что я на ноде пишу консольные программы и всё на удивление хорошо и удобно работает