Managing multiple clusters with kubectl

Часто необходимо работать с несколькими кластерами k8s и kubectl. Можно очень просто переключать контексты с кластерами если правильно все настроить. Покажу на примере двух кластеров. Имеем remote cluster  и kubernetes локальный на Mac. Обычно конфиг храниться на кластере тут /etc/kubernetes/admin.conf Берем все конфиги с кластеров, которые будут использоваться и кладем в /home/USERNAME/.kube/ Далее редактируем конфиги и […]

Local Kubernetes – MicroK8S

Про Minikube я уже как-то писал тут Minikube on MacOS А тут на днях на Kubecon на стенде с убунтой все пиарили свой MicroK8S. Я решил попробовать и понять чем оно лучше или хуже Minikube. https://microk8s.io/ MicroK8S это single package k8s, то есть kubernetes все в одном для локального использования. Поднять его можно как на Linux(Ubuntu+Snap) […]

GKE+k8s+terraform

Запилил тестовый гугловый аппликейшн Guestbook на гугл клауде в k8s. Проект на гитхабе https://github.com/mikonoid/terraform-gke Структура

gke директория содержит все для поднятия кластера k8s – все что надо для менеджмента kubernetes  

Docker slave plugin quick start

Overview   This plugin allows to execute a jenkins job inside a (set of) container(s). Jenkins job run into slave containers which linked between each other. Jenkins uses own mechanism to control build on slaves(docker slave containers). Jenkins connects to docker API (socket in our case) and API allows to control remote processes as well. […]

Ansible how to work with lists

В  Ansible иногда нужно работать со списками, чтоб проитерироваться по списку каких-либо значений. Например, когда нужно поставить список пакетов через apt:

Но бывает, что нужно формировать список из переменных и потом уже итерироваться по этому списку, так же список может меняться на лету, могут добавляться\удаляться элементы и пр. Возьмем такой пример – нужно инициализировать […]

AWS Cloudformation create VPC

Добавлю просто свой JSON для Cloudformation из лабы для Linuxacademy. https://github.com/mikonoid/aws-cloudformation-build-VPC Небольшое описание по данному стеку, ресурсы по порядку: VPC – Описывает какой VPC мы создаем. 10.0.0.0/16 – блок адресов для данного VPC. Value: Public означает что сеть будет иметь доступ наружу Public Subnet . – выбираем блок адресов для публичной сетки Internet Gateway создаем […]

AWS Load balancer : Back-end server is at capacity

Создал classic Load-balancer в AWS и добавил туда инстансы с wordpress. После этого fqdn балансера не работает и отлетает по таймауту. Смотрю курлом

Тогда стало немного понятно, идем в логи апача на инстансе

Видим картину

Чекается файл index.php, проверяем – файла такого нет. Потому балансер и не работает. Добавляем check.php в директорию […]

Install ansible 2.2 on Ubuntu14 and ‘x86_64-linux-gnu-gcc’ failed

При установке ансибл на ubuntu trusty

получаем такую ошибку

Solution Ставим

Если после этого так же ловим error типа(cryptography может быть другой пакет )

то делаем

Git how to revert commit

В git есть несколько способов откатить нежелательный коммит. Несколько способов предусматривают разные действия и все они имеют разные последствия. Если нужно просто изменить сообщение последнего коммита (может сделали опечатки и надо поправить чтоб было красиво), то делаем просто

Где попадаем в текстовый редактор и правим сообщение, сохраняем и выходим. Так же этот способ подходит […]

Ansible error handling with failed_when and ignore_errors

Иногда нужно в Ansible регистрировать переменную в таске, по которой потом можно делать условие и запускать ту или иную таску. Например, есть task1 при выполнении которой мы будем регистрировать переменную и нужно запускать(или не запускать) task2, если переменная у нас, скажем, равна 1. Пример, берем плейбук в котором первая таска запускает clamscan  и если вирусов […]