Chef роли

Для того чтобы назначить ноде роли, надо создать папку roles и поместить туда json, например web.json: { «name»: «web», «description»: «Web server role.», «json_class»: «Chef::Role», «default_attributes»: { «chef_client»: { «interval»: 300, «splay»: 60 } }, «override_attributes»: { }, «chef_type»: «role», «run_list»: [«recipe[chef-client::default]», «recipe[chef-client::delete_validation]», «recipe[learn_chef_apache2::default]» ], «env_run_lists»: { } } В этом файле есть так же […]

Read More &#8594

Chef Berks

Служит для того чтобы скачивать рецепты и из зависимости из супермаркета: https://supermarket.chef.io Создаем в папке проекта файл Berksfile,  с содержимым: source ‘https://supermarket.chef.io’ cookbook ‘chef-client’ Запускаем команду, для того чтобы скачать все кукбуки и зависимости: # berks install Resolving cookbook dependencies… Fetching cookbook index from https://supermarket.chef.io… Installing chef-client (11.0.0) Installing cron (6.2.0) Installing logrotate (2.2.0) Все […]

Read More &#8594

docker php71+composer+sudo

FROM ubuntu:16.04 # terminal ENV TERM linux ENV DEBIAN_FRONTEND noninteractive # container environments ENV APP_ENV prod ENV APP_VHOST standard # install essentials RUN apt-get update \ && apt-get install -y —no-install-recommends software-properties-common ca-certificates locales curl less nano cron logrotate tar vim xz-utils msmtp\ && locale-gen en_US \ && locale-gen en_US.UTF-8 \ && locale-gen de_DE \ […]

Read More &#8594

nexus + kubernetes

cat <<EOF | kubectl create -f — apiVersion: v1 kind: Namespace metadata: name: magento EOF kubectl create secret docker-registry regsecret —docker-server=http://nexus.neklodev.com:18080 —docker-username=admin —docker-password=0MekOfbemya —docker-email=sysadmin@neklo.com —namespace magento Создаем Deployment — apiVersion: extensions/v1beta1 kind: Deployment metadata: name: magento namespace: magento spec: replicas: 1 template: metadata: labels: app: magento spec: containers: — image: «nexus.neklodev.com:18080/php7.1:1» name: magento ports: — […]

Read More &#8594

kubernetes разбираемся в понятиях

NODE — сервер в кластере kubernetes Pods — группа контейнеров, например (nginx + apache + mysql + redis) Controller — следит за pods и контролирует колличество запущенных контейнеров, перезапускает в случае краха Services — обеспечивает связь с внешним миром https://dotsandbrackets.com/kubernetes-example-ru/

Read More &#8594

Устанавливаем kubernetes

Выключаем swap sudo swapoff -a Ставим из репы apt-get update && apt-get install -y apt-transport-https \ && curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add — echo «deb http://apt.kubernetes.io/ kubernetes-xenial main» > /etc/apt/sources.list.d/kubernetes.list apt-get update \ && apt-get install -y kubelet kubeadm kubernetes-cni Проводим инициализацию kubeadm init —pod-network-cidr=10.244.0.0/16 —apiserver-advertise-address=192.168.128.66 —kubernetes-version stable-1.10 где —pod-network-cidr=10.244.0.0/16 — это сеть контейнеров […]

Read More &#8594

храним образы docker в nexus

Создаем файл /etc/docker/daemon.json: с нашим nexus и перезапускаем докер { «insecure-registries»: [ «your-repo:8082», «your-repo:8083» ], «disable-legacy-registry»: true } Подключаемся к nexus docker login -u admin -p admin123 your-repo:8082 Для того чтобы загрузить свой образ docker tag your-own-image:1 your-repo:8083/your-own-image:1 docker push your-repo:8083/your-own-image:1 docker tag php56 nexus.neklodev.com:18080/php5.6:1 docker push nexus.neklodev.com:18080/php5.6:1 https://github.com/TerrenceMiao/nexus/wiki/Setup-Docker-Private-Registry-in-Nexus-Repository-OSS-3.0.0 Закачать образ из nexus после логина […]

Read More &#8594

nexus удалить из репы docker image

Устанавливаем nexus-cli wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli Настраиваем nexus-cli configure Смотрим tag для image nexus-cli image tags -name IMAGE_NAME Cмотрим инфо nexus-cli image info -name IMAGE_NAME -tag TAG Удаляем nexus-cli image delete -name IMAGE_NAME -tag TAG  

Read More &#8594

Chef настройка удаленного администрирования

Chef установлен и работает, есть web морда knife — обеспечивает взаимодействие локальной машины и chef сервера Ему нужен ключ rsa Приватная часть лежать будет на локальном компе в папке с рецептами в .chef (имя должно быть usename_web.pem) + не забываем knife.rb тоже в этой папке, там содержатся все данные для подключения к серверу, адрес и […]

Read More &#8594