Pull to refresh
28
Karma
0
Rating
Миндубаев Андрей @Covex

Разработчик ПО

  • Followers 13
  • Following 12
  • Posts
  • Comments

Kubernetes (k8s) + Helm + GitLab CI/CD. Деплоим правильно

DevOps *
Tutorial
В данной статье я хочу рассказать как деплоить приложения в разные среды. В этом примере, мы будем деплоить в: «Test» и «Production». Разумеется, вы можете добавить любые среды.

Для деплоя приложений я использую HELM. Он позволяет гибко управлять конфигурациями. В чем вы сможете убедится ниже. Предполагается, что у вас уже есть настроенный runner с helm-ом и вы знаете и умеете работать с HELM-ом.

Пример файла: .gitlab-ci.yml

.base_deploy: &base_deploy
  stage: deploy
  script:
  - PROJECT_NAME="${CI_PROJECT_NAME}-${CI_ENVIRONMENT_SLUG}"
  - helm --namespace ${CI_ENVIRONMENT_SLUG} upgrade -i ${PROJECT_NAME} helm --set "global.env=${CI_ENVIRONMENT_SLUG}";

stages:
  - deploy

Deploy to Test:
  <<: *base_deploy
  environment:
    name: test

Deploy to Production:
  <<: *base_deploy
  environment:
    name: production
  when: manual

Здесь стоит обратить внимание на то, что в зависимости от среды мы передаем переменную: «test» или «production».

Имя проекта мы тоже формируем с учетом имени переменной, для того, чтобы helm понимал, что это разные проекты (helm ls).

Далее, мы передаем эту переменную (среду) в HELM как: «global.env».

Для выше указанного примера helm должен находиться в одноименной папке в вашем репозиторие.
Читать дальше →
Total votes 16: ↑11 and ↓5 +6
Views 21K
Comments 10

Практическое знакомство с пакетным менеджером для Kubernetes — Helm

Флант corporate blog Open source *System administration *DevOps *Kubernetes *


Статья является логическим продолжение нашей недавней публикации об истории пакетного менеджера для Kubernetes — Helm. В этот раз мы снова затронем вопросы устройства и функционирования нынешнего Helm (версия 2.x), а также управляемых им чартов и репозиториев, после чего перейдём к практике: установке Helm в кластер Kubernetes и использованию чартов.
Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Views 57K
Comments 9

Непрерывная инфраструктура в облаке

JUG Ru Group corporate blog Server Administration *DevOps *Cloud services
Демонстрация использования инструментов с открытым исходным кодом, таких как Packer и Terraform, для непрерывной поставки изменений инфраструктуры в любимую пользователями облачную среду.


Материал подготовлен на основе выступления Пола Стека (Paul Stack) на нашей осенней конференции DevOops 2017. Пол — инфраструктурный разработчик, который раньше работал в HashiCorp и участвовал в разработке инструментов, используемых миллионами людей (например, Terraform). Он часто выступает на конференциях и доносит практику с переднего края внедрений CI/CD, принципы правильной организации operations-части и умеет доходчиво рассказать, зачем вообще админам этим заниматься. Далее в статье повествование ведется от первого лица.
Total votes 23: ↑22 and ↓1 +21
Views 6.3K
Comments 1

Разработка Rich Text Editor: проблемы и решения

Конференции Олега Бунина (Онтико) corporate blog CSS *JavaScript *Programming *Client optimization *
Текстовые редакторы, как тип программного обеспечения, появились чуть позже чем динозавры, и вероятнее всего это был вообще первый софт, с которым вы столкнулись в своей жизни, возможно кто-то даже застал MS-DOS Editor.

Однако с переходом большой части ПО в браузеры актуальны и соответствующие визуальные редакторы Rich Text Editors, и проблемных мест в их разработке масса. Если вы по какой-то причине решили сделать свой собственный редактор, то подумайте еще раз — есть мнение, что делать этого не нужно.



Чтобы вы могли принять более взвешенное решение, Егор Яковишен обобщил весь свой опыт, полученный в процессе создания Setka Editor, и рассказал про проблемы, с которыми придется столкнуться, и что можно предпринять для их решения.

Disclaimer: статья написана на основании доклада Егора на конференции Frontend Conf 2017 в июне 2017 года. Ситуация с поддержкой браузерами определенных API с тех пор уже могла измениться.


Total votes 53: ↑52 and ↓1 +51
Views 29K
Comments 25

Лучшие практики CI/CD с Kubernetes и GitLab (обзор и видео доклада)

Флант corporate blog System administration *Server Administration *DevOps *Kubernetes *


7 ноября на конференции HighLoad++ 2017, в секции «DevOps и эксплуатация» прозвучал доклад «Лучшие практики CI/CD с Kubernetes и GitLab». В нём мы делимся практическим опытом решения проблем, возникающих при построении эффективного процесса CI/CD на базе указанных Open Source-решений.

По традиции рады представить видео с докладом (около часа, гораздо информативнее статьи) и основную выжимку в текстовом виде.
Total votes 21: ↑21 and ↓0 +21
Views 39K
Comments 8

Эксперименты с контрактами Solidity в тестовой сети Rinkeby блокчейна Ethereum

Development for e-commerce *DevOps *Solidity *


Эта статья представляет собой небольшое практическое руководство, которое поможет вам быстро настроить среду разработки смарт-контрактов на языке Solidity для блокчейна Ethereum. Вы опубликуете первый контракт, сохраните его в тестовом блокчейне Rinkeby и научитесь вызывать методы контракта. Это будет ваш первый шаг на пути создания децентрализованных приложений DApp (Decentralized Application).

Несмотря на обилие книг, статей и руководств, посвященной теме этой статьи, новичку довольно трудно приступить к публикации контрактов и работе с ними. При попытке что-то сделать по книгам, руководствам и статьям нередко оказывается, что примеры не работают, а команды возвращают непонятные ошибки. Я попытаюсь в некоторой степени упростить первый этап освоения, отразив в этой статье свой опыт изучения Ethereum.

При погружении в эту тему я использовал приложение (браузер) Mist в среде Microsoft Windows, а также интерфейс командной строки Geth узла Ethereum в среде Ubuntu. В этой статье мы расскажем о работе с Geth, а также немного о том, как вызывать методы контрактов из Node.js.

С благодарностью приму замечания и пожелания по дальнейшим статьям про блокчейн Ethereum, разработку контрактов на языке Solidity и приложений DApp.
Читать дальше →
Total votes 25: ↑24 and ↓1 +23
Views 17K
Comments 23

Непрерывная интеграция и развертывание Docker в GitLab CI

System administration *DevOps *
Sandbox
В этом руководстве рассмотрим вариант настройки непрерывной интеграции и развертывания Flask приложения на Docker Swarm через GitLab CI.

Сначала мы рассмотрим настройку рабочей среды, включая создание серверов для нодов Docker Swarm. Затем создадим простое приложение Flask с Redis и подготовим GitLab CI для непрерывной доставки.
Читать дальше →
Total votes 23: ↑22 and ↓1 +21
Views 53K
Comments 7

Интегрируем смартконтракт в веб-приложение на Nodejs

JavaScript *Programming *Node.JS *Finance in IT
Tutorial

Если вам интересна тема разработки продуктов использующих смартконтракты, но вы хотите понять полный цикл создания таких приложений, то этот урок специально для вас (надеюсь). Из него вы узнаете как разработать, оттестировать, залить в сеть и интегрировать в ваше приложение смартконтракт для блокчейна Ethereum.


UI приложения

Читать дальше →
Total votes 13: ↑12 and ↓1 +11
Views 14K
Comments 6

Настройка системы WEB — тестирования на основе headless chromium-browser, chromedriver, nightwatch и node.js на Ubuntu

JavaScript *Google Chrome Node.JS *Web services testing *
image

Предисловие


Привет, Хабр! Данная задача возникла у меня с проблемой, которая заключалась в создании робота для авторизации в Instagram, который бы делал за меня лайки. Всю задачу не напишу, напишу только часть реализации в виде настройки необходимого инструментария на удаленном сервере.

WEB — тестирование — это объемная и неоднозначная сфера, которая может заключаться в решении задач не только в плане тестирования WEB — приложений, но и, к примеру, в плане построения парсеров, роботов IoT и ботов работы с социальными сетями и все это используя только JavaScript!

Возможно, что вам не нравится словосочетание «тестирование», возможно, отчасти, из-за того, что это словосочетание заключает в себе более интересные вещи, которые, к примеру, позволят нам написать бота, способного авторизироваться в Instagram, Facebook и совершать там ряд действий от нашего лица и в одно и то же время нудно заниматься наблюдением, как выполняется наш фронтенд, но тестирование имеет смысл и уже стандартизировано сообществом W3C и продолжает развиваться.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 11K
Comments 10

Нет времени объяснять! или как подружить terraform с minikube и kubernetes

System administration *IT Infrastructure *Cloud computing *DevOps *Kubernetes *
Tutorial


Как начать пользоваться terraform, развернув локально приложение поверх minikube, и потом запустить его поверх kubernetes в cloud.google.com

Читать дальше →
Total votes 7: ↑6 and ↓1 +5
Views 6.1K
Comments 5

Смарт контракты Ethereum: что делать при ошибке в смартконтракте или техники миграции

Solidity *
При написании смартконтрактов важно помнить, что после загрузки в блокчейн, они уже не могут быть изменены, а следовательно, не могут быть внесены какие-либо улучшения или исправлены какие-то найденные ошибки! Все мы знаем, что ошибки есть в любой программе, а вернувшись к написанному пару месяцев назад коду мы всегда найдем, что там можно улучшить. Как же быть? Единственно возможный вариант – это загрузить новый контракт с исправленным кодом. Но как же быть, если на базе имеющегося контракта уже выпущены токены? На помощь нам приходит миграция! За последний год я попробовал много разных техник ее реализации, проанализировал применяемые в других крупных блокчейн проектах и что-то поизобретал сам. Подробности под катом.

Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Views 9.2K
Comments 0

Смарт контракты Ethereum: пишем простой контракт для ICO

Self Promo
В последнее время ко мне поступает огромное количество запросов за помощью в разработке смартконтракта для проведения ICO, при этом у меня не хватает времени, чтобы помочь каждому. Поэтому я решил написать этот небольшой пост (ссылка на видео в конце поста), в котором описываю очень простой смартконтракт для проведения crowdsale, который вы можете использовать в своих проектах.


Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Views 25K
Comments 83

Kubernetes на голом железе за 10 минут

Southbridge corporate blog System administration *Server Administration *DevOps *Kubernetes *
Translation


Kubernetes — это предназначенный для контейнерной оркестровки фреймворк с открытым исходным кодом. Он был создан с учетом богатейшего опыта Google в области создания сред управления контейнерами и позволяет выполнять контейнеризованные приложения в готовом к промышленной эксплуатации кластере. В механизме Kubernetes много движущихся частей и способов их настройки — это различные системные компоненты, драйверы сетевого транспорта, утилиты командной строки, не говоря уже о приложениях и рабочих нагрузках.


По ходу этой статьи мы установим Kubernetes 1.6 на реальную (не виртуальную) машину под управлением Ubuntu 16.04 примерно за 10 минут. В результате у вас появится возможность начать изучать взаимодействие с Kubernetes посредством его CLI kubectl.
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 160K
Comments 32

Наш опыт знакомства с Docker

Southbridge corporate blog

Вместо предисловия





Сегодня приснился сон, как-будто меня ужали до размера нескольких
килобайт, засунули в какой-то сокет и запустили в контейнере.
Выделили транспорт в оверлейной сети и пустили
тестировать сервисы в других контейнерах…
Пока не сделали docker rm


Не так давно мне посчастливилось стать членом очень крутой команды
Centos-admin.ru, в которой я познакомился с такими же, как я: единомышленниками со страстью к новым технологиям, энтузиастами и просто отличными парнями. И вот, уже на второй рабочий день меня с коллегой посадили работать над одним проектом, в котором требовалось «докерировать всё, что можно докеризировать» и было критически важно обеспечить высокую доступность сервисов.

Скажу сразу, что до этого я был обычным комнатным Linux-админом: мерился аптаймами, апт-гет-инсталлил пакеты, правил конфиги, перезапускал сервисы, тайлил логи. В общем, не имел особо выдающихся практических навыков, совершенно ничего не знал о концепции The Pets vs. Cattle, практически не был знаком с Docker и вообще очень слабо представлял, какие широкие возможности он скрывает. А из инструментов автоматизации использовал лишь ansible для настройки серверов и различные bash-скрипты.

Читать дальше →
Total votes 29: ↑23 and ↓6 +17
Views 45K
Comments 63

Разгони свой сайт. Электронные версии

Lumber room
Сегодня закончилась эпопея с выкладыванием электронных версий книги «Разгони свой сайт», их доступно аж три пять шесть:
  1. PDF-версия, аналогичная ушедшему в типографию макету книги (даже немного лучше за счет исправленных опечаток). Идеально подходит для чтения на ПК или самиздата.
  2. FB2-версия (формат Fiction Book). Просили владельцы наладонников для чтения — вроде форматом остались довольны.
  3. CHM-версия. Незаменима в качестве руководства, которое всегда под рукой. Очень удобно искать нужный материал.
  4. HTML-версия. Уж этот-то формат сложно испортить :) Спасибо laik216.
  5. Онлайн-версия. Просто копия HTML-версии, расположенная на сервере.
  6. WOL-версия. Для владельцев lBook V8, спасибо msa
Все версии (последней редакции — 1.4) выложены на сайте книги. Здесь прямых ссылок не будет: мало ли что поменяется, чтобы в нескольких местах не править.

Если кто-то переформатирует текущие форматы в какой-либо другой и захочет поделиться этим с общественностью — напишите, пожалуйста, в комментариях. Обязательно добавлю эту версию на сайт.

Если кто-то возьмется перегнать CHM в человеческие (=красивые внешне и валидные внутри) HTML-страницы — буду крайне признателен.

P.S. судя по логам, книгу скачали уже более 3000 4000 человек

P.P.S. Судя по отзывам, CHM (и не только) кривоват. Если кто-нибудь знает, как его переконвертировать в нормальный файл — напишите, пожалуйста, в комментариях. На сайте доступны и прошлые версии PDF, которые отличаются некоторым количеством опечаток — нужно 1.4 заменить на 1.2.

P.P.P.S. PDF-версия перевыложена (1.4.1)
Total votes 59: ↑54 and ↓5 +49
Views 301
Comments 102

Web 2.0 успешность или неуспешность идеи?! Продолжение, часть 2

Lumber room
Web 2.0 — это сама по себе идея. Это попытка формализовать — что же собой представляют проекты, основой которых являются пользователи и материалы, которые размещают пользователи. А под этим подразумевать можно все что угодно. Социальные сети и сервисы, рекомендательные социальные сервисы (которые упорно сейчас пытаются отстоять свое право называться Web 3.0).

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

Обычно все бывает не так.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Views 176
Comments 18

Загрузка MS Windows с USB-флэшки

Computer hardware
Я не люблю M$Win'ские системы. На моих компьютерах установлен Linux (Fedora 9). Чем же вызвано появление постинга, рассказывающего об установке нелюбимой мною ОС на флэшку? В конце октября я оказалась в составе «команды Йота», получившей бесплатный безлимитный доступ к разворачиваемой по Москве и Санкт-Петербургу бепроводной сети WiMax (заявленная скорость — 10Мбит входящего трафика и 5Мбит исходящего, а как обстоят дела в настоящий момент, можно прочитать здесь). Вместе с бесплатной безлимиткой (бесплатной она будет до 31 марта 2009 года) нам бесплатно выдали WiMax-модемы Samsung SWC-U200, как было сказано — «в бессрочное пользование». Вот этот-то модем и стал причиной того, что мне снова — временно! — потребовалась M$Win'ская ось. Дело в том, что драйвера для него пока существуют только под Windows. Если верить сотрудникам «Йоты», драйвера под Mac и Линукс в настоящее время находятся в разработке и станут доступны до конца года. Но работать с сетью-то надо сейчас. Поэтому, промучившись несколько дней с постоянной сменой на нетбуке линукса виндами и обратно, я задумалась о более комфортном для меня варианте — поставить M$Win на USB-Flash.
Читать дальше →
Total votes 77: ↑54 and ↓23 +31
Views 15K
Comments 69

“DVD-Йон” затеял социальную сеть на пиратском контенте

Copyright
Норвежский программист-самоучка Йон Йохансен прославился на весь мир в 2002 году, когда не только вскрыл слабенькую 40-битную защиту DVD-дисков, но осмелился открыто распространять программу DeCSS, которая снимает эту защиту. Этим фактом Йон вызвал громкий скандал и по требованию американцев был арестован. Однако, к удивлению многих, суд не смог доказать его вину (тут не обошлось без помощи адвокатов EFF).

Теперь “DVD-Йон” решился на ещё одну революцию, которая по своей значимости и масштабности может быть не менее значимой, чем снятие защиты с DVD-дисков. Полтора года назад он перебрался в Америку по приглашению компании doubleTwist. В течение года они с товарищами доламывали DRM-защиту iTunes, разрабатывали концепцию бизнеса и обеспечили себе венчурное финансирование, после чего Йон вернулся в Норвегию. А сегодня, наконец, стало известно, ради чего затевалась вся эта активность.
Читать дальше →
Total votes 128: ↑128 and ↓0 +128
Views 736
Comments 114

Индексация прав в многопользовательских сервисах.

Lumber room
Этот текст посвящен тому, как ускорить выборку закрытых данных в многопользовательских проектах.
Некоторые вещи рассмотренные вначале могут быть уже хорошо вам известны, но учитывая, что вопросы о разграничении прав доступа задаются регулярно, я счел нужным рассмотреть их подробнее.
Для гуру ценным там может быть разве что обоснования, чем именно нехорош этот метод. Если для вас это и так понятно, перейдите сразу к пункту «двоичные маски», там и содержится самое основное.
Многие сервисы позволяют пользователю размещать в сети различные данные, при этом самому размещающему, как правило, требуется ограничивать круг лиц, которые могут просматривать, комментировать его записи или изображения. Для этих целей разработчики создают различные системы контроля прав.
Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Views 337
Comments 12
1

Information

Rating
Does not participate
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity